Office And PDF 病毒分析工具
原文网址:http://www.pulog.org/Resources/1299/MD-Cheat-Sheet/
这份快速参考概要的给出了逆向分析恶意文档这些文档(包括:微软office(DOC,XLS,PPT)和Adobe Acrobat的PDF文件)的一些技巧和工具。
译者:wpulog
基本途径/方法:
1. 找到潜在的被嵌入的恶意代码,如shellcode,VBA宏,或JavaScript。
2. 从文件中提取可疑的代码片断。
3. 如果是shellcode则反汇编或调试它。
4. 如果是脚本类代码如JavaScript, ActionScript, or VB宏则对它们解码剖析。
5. Understand next steps in the infection chain
微软二进制office文件格式说明:
1. 在微软office二进制文件中定义了一个结构化(OLE SS)的文件系统。
2. 数据以目录“存储”和文件“流”形式存放(Data can be “storage” (folder) and “stream” (file))。
3. Excel 将数据存储在 “workbook” 流中。
4. PowerPoint将数据存放在“PowerPoint Document”流中。
5. Word将数据存放在多个流中。
微软Office文件的分析工具:
1. OfficeMalScanner - 定位微软office(DOC, XLS, and PPT) 文件中的shellcode和VBA宏
2. DisView - 在微软office文件指定偏移处反汇编字节码。(OfficeMalScanner的一部分)
3. MalHost-Setup - 从微软office文件给定偏移处提取shellcode,并且能够将shellcode嵌入到exe文件中,方便更加深入的分析。 (OfficeMalScanner的一部分)
4. Offvis - 显示微软office文件的原始内容和结构, 并能鉴别一些常见的exploit。
5. Office Binary Translator - 转换DOC, PPT,和XLS文件为Open XML文件(包括BiffView工具)。
6. OfficeCat 根据一些已知的漏洞在微软office文件中扫描嵌入的利用程序(exploit)。
7. FileHex (不免费) and FileInsight 十六进制编辑器,能够解析和编辑OLE结构。
有用的微软Office文件分析命令:
OfficeMalScanner file.doc scan brute | 定位shellcode, OLE数据, PE文件 |
OfficeMalScanner file.doc info | 定位VB宏代码 |
OfficeMalScanner file.docx inflate | 解压缩file.docx ,定位VB宏代码 (XML files) |
DisView file.doc 0x4500 | 在文件的0x4500处反汇编shellcode |
MalHost-Setup file.doc out.exe 0x4500 | 在文件0x4500处提取shellcode并保存为ut.exe |
Adobe PDF 文件格式说明:
一个PDF文件由头,对象,交叉引用表(定位对象)和尾组成(trailer)。
1. “/OpenAction” 和 “/AA” (Additional Action) 指定能够自动运行的脚本或动作。
2. “/Names”, “/AcroForm”, “/Action” 也能够指定和执行脚本或动作。
3. “/JavaScript” 指定可运行的JavaScript。
4. “/GoTo*” 在当前文件中或其它PDF文件中更改指定的浏览位置。
5. “/Launch” 启动一个程序或打开一个文档。
6. “/URI” 通过网址访问资源。
7. “/SubmitForm” 和 “/GoToR” 给指定的URL发送数据。
8. “/RichMedia” 在PDF文件中嵌入Flash。
9. “/ObjStm” 在对象流中隐藏对象。
10. 要注意用16进制混淆的代码,例如“/JavaScript” 对应于 “/J#61vaScript”。(See examples)
Adobe PDF文件分析工具:
1. PDFiD - 鉴别PDF文件中是否包含与脚本和动作相关的字符串。(PDF Tools的一部分)
2. PDF-parser - 鉴别PDF文件的关键元素。 (Part of PDF Tools)
3. Origami - Walker 查看PDF文件结构。
4. Origami pdfscan - 识别PDF文件是否包含脚本和动作identifies PDFs that contain strings associated with scripts and actions.
5. Origami extractjs 和 Jsunpack-n’s pdf.py - 从PDF文件中提取javascript。
6. Sumatra PDF 和 MuPDF - 轻量级的PDF文件查看工具。
7. Malzilla - 能够在PDF文件中提取和解压经Zlib压缩的数据流,还能帮助分析被混淆的JavaScript。
8. Jsunpack-n - 能够提取和解码pcap中的JavaScript,还能解码PDF文件。
9. CWSandbox, Wepawet, and Jsunpack - 能分析一些恶意PDF文件。
有用的PDF分析命令:
pdfid.py file.pdf | 定位相关的脚本和动作字符串 | |
pdf-parser.py file.pdf | 显示文件结构辨别可以部分 | |
pdfscan.rb file.pdf | 查看和显示文件结构 | |
extractjs.rb file.pdf | 提取PDF中的javascript脚本 | |
pdf.py file.pdf |
|
其它的恶意文件分析工具:
1. ExeFilter 从Office和PDF文件过滤脚本。
2. ViCheck.ca 自动检测恶意Office和PDF文件。
3. VirusTotal 多引擎病毒扫描工具能够鉴别一些恶意文档。
参考文献:
1. Adobe Portable Document Format (PDF) Reference
2. Physical and Logical Structure of PDF Files
3. Methods for Understanding and Analyzing Targeted Attacks with Office Documents (video)
4. Analyzing MSOffice Malware with OfficeMalScanner (follow-up presentation)
5. PDF Security Analysis and Malware Threats
6. Malicious Origami in PDF (follow-up presentation)
7. OffVis 1.0 Beta: Office Visualization Tool article
8. Reverse-Engineering Malware cheat sheet