
oletools 是一个 Python 工具包,用于分析
Microsoft OLE2 文件
(也称为结构化存储、复合文件二进制格式或复合文档文件格式),
例如 Microsoft Office 97-2003 文档、MSI 文件或 Outlook 消息,主要用于恶意软件分析、
取证和调试。
它基于 olefile 解析器。
它还提供了分析 RTF 文件和基于 OpenXML 格式
(即 OOXML)的文件(如 MS Office 2007+ 文档、XPS 或 MSIX 文件)的工具。
例如,oletools 可以检测、提取和分析 VBA 宏、OLE 对象、Excel 4 宏 (XLM) 和 DDE 链接。
更多信息请参见 http://www.decalage.info/python/oletools。
快速链接:
主页 -
下载/安装 -
文档 -
报告问题/建议/提问 -
联系作者 -
仓库 -
Twitter 更新
速查表
注意:python-oletools 与 BeCubed Software 发布的 OLETools 无关。
新闻
- 2025-05-22 v0.60.3:
- olevba:
- 修复了 CLI 显示中 ANSI 转义码存在时的安全问题(PR #873)
- 加密文件:密码现在记录在日志中,增加了 --decrypted_dir 选项(PR #842)
- 2024-07-02 v0.60.2:
- olevba:
- 修复了 open_slk 中的一个错误(issue #797, PR #769)
- 修复了因 dir 流中新增 PROJECTCOMPATVERSION 记录导致的错误(PR #723, issues #700, #701, #725, #791, #808, #811, #833)
- oleobj:修复了 Python 3.12 下的 SyntaxError(PR #855),SyntaxWarning(PR #774)
- rtfobj:修复了 Python 3.12 下的 SyntaxError(PR #854)
- clsid:新增了 MSI、Zed 的 CLSID
- ftguess:新增了 MSI、PNG 和 OneNote 格式
- pyxswf:修复了 Python 3.12 兼容性(PR #841, issue #813)
- setup/requirements:允许使用 pyparsing 3 以解决安装问题(PR #812, issue #762)
- 2022-05-09 v0.60.1:
- olevba:
- 修复了调用 XLMMacroDeobfuscator 时的错误(PR #737)
- 移除了导致误报的关键词 "sample"
- oleid:修复了 OleID 初始化问题(issue #695, PR #696)
- oleobj:
- 增加了对 CVE-2021-40444 初始阶段的简单检测
- 增加了对 customUI onLoad 的检测
- 改进了对 OLE 包中错误文件名的处理(PR #451)
- rtfobj:修复了在 Py3 下查找 OLE2Link 对象中 URL 的代码(issue #692)
- ftguess:
- 增加了 PowerPoint 和 XPS 格式(PR #716)
- 修复了 XPS 和畸形文档的问题(issue #711)
- 增加了 XLSB 格式(issue #758)
- 改进了使用公共模块 log_helper 的日志记录(PR #449)
- 2021-06-02 v0.60:
- ftguess:用于识别文件格式和容器的新工具(issue #680)
- oleid:(issue #679)
- 每个指示器现在都有风险等级
- 调用 ftguess 识别文件格式
- 调用 olevba+mraptor 检测并分析 VBA+XLM 宏
- olevba:
- 如果 XLMMacroDeobfuscator 可用,则使用其提取和去混淆 XLM 宏
- rtfobj:
- 使用 ftguess 识别 OLE 包的文件类型(issue #682)
- 修复了 re_executable_extensions 中的错误
- crypto:增加了 PowerPoint 透明密码 '/01Hannes Ruescher/01'(issue #627)
- setup:XLMMacroDeobfuscator、xlrd2 和 pyxlsb2 作为可选依赖项添加
更多信息请参见完整变更日志。
工具:
分析恶意文档的工具
- oleid:分析 OLE 文件,检测通常出现在恶意文件中的特定特征。
- olevba:从 MS Office 文档(OLE 和 OpenXML)中提取和分析 VBA 宏源码。
- MacroRaptor:检测恶意 VBA 宏。
- msodde:检测并提取 MS Office 文档、RTF 和 CSV 中的 DDE/DDEAUTO 链接。
- pyxswf:检测、提取和分析可能嵌入在 MS Office 文档(如 Word、Excel)和 RTF 中的 Flash 对象 (SWF),特别适用于恶意软件分析。
- oleobj:从 OLE 文件中提取嵌入对象。
- rtfobj:从 RTF 文件中提取嵌入对象。
分析 OLE 文件结构的工具
- olebrowse:一个简单的图形界面,用于浏览 OLE 文件(例如 MS Word、Excel、PowerPoint 文档),查看和提取单独的数据流。
- olemeta:从 OLE 文件中提取所有标准属性(元数据)。
- oletimes:提取所有流和存储的创建和修改时间戳。
- oledir:显示 OLE 文件的所有目录项,包括空闲和孤立项。
- olemap:显示 OLE 文件中所有扇区的映射。
oletools 被许多项目和在线恶意软件分析服务使用,
包括
ACE、
ADAPT、
Anlyz.io、
AssemblyLine、
Binary Refinery、
CAPE、
CinCan、
Cortex XSOAR (Palo Alto)、
Cuckoo Sandbox、
DARKSURGEON、
Deepviz、
DIARIO、
dridex.malwareconfig.com、
EML Analyzer、
EXPMON、
FAME、
FLARE-VM、
GLIMPS Malware、
Hybrid-analysis.com、
InQuest Labs、
IntelOwl、
Joe Sandbox、
Laika BOSS、
MacroMilter、
mailcow、
malshare.io、
malware-repo、
Malware Repository Framework (MRF)、
MalwareBazaar、
olefy、
Pandora、
PeekabooAV、
pcodedmp、
PyCIRCLean、
QFlow、
Qu1cksc0pe、
Tylabs QuickSand、
REMnux、
Snake、
SNDBOX、
Splunk add-on for MS O365 Email、
SpuriousEmu、
Strelka、
stoQ、
Sublime Platform/MQL、
Subparse、
TheHive/Cortex、
ThreatBoook、
TSUGURI Linux、
Vba2Graph、
Viper、
ViperMonkey、
YOMI、
以及可能的 VirusTotal、
FileScan.IO。
还有不少 GitHub 上的其他项目。
(如果您有了解使用 oletools 的项目,请联系我))
下载和安装:
推荐使用 pip 下载和安装/更新 oletools 的最新稳定版本:
- Linux/Mac:
sudo -H pip install -U oletools[full]
- Windows:
pip install -U oletools[full]
这应该会自动创建命令行脚本,以便从任何目录运行每个工具:olevba、mraptor、rtfobj 等。
关键字 [full] 表示将安装所有可选依赖项,例如 XLMMacroDeobfuscator。
如果您更喜欢没有可选依赖项的轻量版本,只需从命令行中删除 [full]。
要获取最新的开发版本: