1. PPAM Structure
- Microsoft PowerPoint에서 사용하는 add-in 파일로 프레젠테이션 개발 목적으로 사용됨.
- Power Point Add-in Macro
- OOXML 사용
- zip 사용
PPAM 파일의 압축을 풀어 contents type xml파일을 열어보면
presentation, powerpoint등 정보를 알 수 있다.
다음으로 rels 파일을 열어보면
문서의 각 섹션간 관계 정보가 저장되어 있다. 압축이 된 구조와 유사하다.
rels파일은 패키지가느이 관계를 나타내는 부분이 적혀 있다.
docProps 디렉토리에는 파일 등록정보, 슬라이드, 썸네일이 있다.
ppt 디렉토리에는 ppt의 기능들이 정리되어 있다.
2. Analysis
이제 oleid로 ppam파일을 분석해보자.
VBA 매크로가 High수준의 risk를 가지고 있다.
strings를 통해 문자열을 추출해보자.
의심스러운 문자열의 유형은 cmd, powershell등이 존재하는 유형과 C2도메인으로 추정되는 문자열이 존재하는 유형 두 가지가 있다.
하지만 이 파일에는 의심스러운 정황이 나타나지 않는다.
따라서 olevba를 이용해 분석해본다.
분석결과 ppt 디렉토리 아래 module1이라는 매크로를 발견했고
파일을 열고 파일을 생성하는 일을 한다는 것을 볼 수 있다.
이제 문서를 직접 열람해보겠다.
매크로를 포함하고 실행하면 error 메세지가 뜨면서 특정 웹사이트로 유도하지만 C2서버에 연결되지 않아 실행은 되지 않는다.
다음으로 새 ppt를 열어 개발 도구를 들어가 vba 스크립트를 분석해보도록 한다.
앞서 olevba를 통해 살펴본 Sub Auto_Open 코드를 가져와준다.
위 코드를 차례차례 디버깅해보면 먼저 auto open으로 사용자가 문서를 열람할 때 함께 실행되도록 한다.
그리고 메세지 박스를 통해 오피스에 문제가 발생한 것 처럼 위장하고
웹 브라우저 연결 없이 URL에 접근할 수 있는 기능을 가진 mshta.exe를 programdata 경로에 cond.com이라는 이름으로 복사한다.
이후 cond.com 파일을 통해 bitly 단축 URL에 접속하도록 변수를 선언하고, Win32 Process를 이용해 사용자를 URL로 유도한다.