그냥저냥

[PDF Malware] PDF 악성코드 분석 (JavaScript + EmbededFile) 본문

Malware

[PDF Malware] PDF 악성코드 분석 (JavaScript + EmbededFile)

ex3llo 2016. 8. 10. 01:56


* 전체 행위 요약





PDFiD 스크립트로 먼저 PDF 문서 구조를 확인해보면 문서 내 JavaScript가 존재하는 것을 알 수 있다.


이제 peepdf 스크립트로 자바스크립트 내용을 확인해보자

자바스크립트 코드가 존재하는 오브젝트는 3번과 10번 오브젝트 임을 알 수 있다. 


순서는 굳이 상관없으니 우선 10번 오브젝트부터 확인하기위해 object 10 명령을 입력한다.

10번 오브젝트는 9번 오브젝트와 8번 오브젝트를 참조하고 있는데, 9번 오브젝트는 임베디드된 파일 데이터를 가리키고있고, 

8번 오브젝트는 자바스크립트 데이터를 가리키고 있다. 먼저 자바스크립트 코드를 확인하기위해 8번 오브젝트를 살펴보자


8번 오브젝트의 내용을 보면 3번 오브젝트를 참조하는 것을 알 수 있고, 다시 3번 오브젝트의 내용을 보면 자바스크립트 코드를 확인할 수 있다

해당 자바스크립트 코드는 문서 내 존재하는 임베디드된 데이터를 추출하여 파일로 저장한 후 실행하는 역할을 수행한다.


이제 임베디드된 데이터를 확인하기 위해 9번 오브젝트를 살펴보자

9번 오브젝트는 2번 오브젝트를 참조하고있고, 다시 2번 오브젝트의 내용을 보면 임베디드된 파일의 정보를 볼 수 있다.

임베디드된 데이터(파일)의 파일명은 1.docm 이고, 해당 파일의 실제 데이터는 1번 오브젝트에 담겨있는 것을 알 수 있다.

   


1번 오브젝트에 존재하는 임베디드된 데이터(파일)을 추출하자. 파일 추출에는 PDF Stream Dubmper 툴을 이용했으며, 추출할 오브젝트를

선택한 후 "Save Decompressed Stream" 을 선택하여 추출한다. 

(추출할 데이터의 파일 시그니처가 PK이므로 데이터 추출 후 확장자를 ZIP으로 고쳐주자)


데이터 추출 후 파일의 내용을 살펴보자.

[Content_Types].xml 파일의 내용을 보면 docm 문서의 데이터가 담긴 파일이 vbaProject 라는 파일에 존재하는 것을 알 수 있다.

또한 word 디렉토리 내 존재하는 vbaData.xml 파일을 참조하여 매크로 관련 기능을 동작시키는 것을 알 수 있다.


vbaProject.bin 파일의 파일 헤더가 D0 CF 11 E0 (DOCFILE0) 로 시작하므로, 해당 파일은 문서파일이다. 위 내용에서 vbaProject.bin 파일의 매크로 기능을 동작시킨다는 것을 알았으므로, 해당 파일에서 VBScript만 추출해서 추가로 분석하면 된다.





** 매크로 코드 (VBScript) 분석은 다른 글에서 다룰 예정 (이 글에서는 악성 PDF 분석방법만 다룸)

2016/08/20 - [Malware] - [DOC Malware] DOC 문서 매크로 악성코드 분석



Comments