Python工具,用于分析MS Office和OLE文件的安全特性(也称为结构化存储、复合文件二进制格式或复合文档文件格式),用于恶意软件分析和事件响应 #DFIR
项目描述
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无关。
新闻
2024-07-02 v0.60.2:
olevba
修复了open_slk中的bug(问题#797,PR #769)
修复了由dir流中的新PROJECTCOMPATVERSION记录引起的bug(PR #723,问题#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的CLSIDs
ftguess:添加了MSI、PNG和OneNote格式
pyxswf:修复了Python 3.12的兼容性问题(PR #841,问题#813)
setup/requirements:允许pyparsing 3以解决安装问题(PR #812,问题#762)
2022-05-09 v0.60.1:
olevba
修复了调用XLMMacroDeobfuscator时的bug(PR #737)
移除了导致误报的关键字“sample”
oleid:修复了OleID初始化问题(问题#695,PR #696)
oleobj
添加了对CVE-2021-40444初始阶段的简单检测
添加了对customUI onLoad的检测
改进了处理OLE包中不正确文件名的方法(PR #451)
rtfobj:修复了在Py3中查找OLE2Link对象中的URL的代码(问题#692)
ftguess
添加了PowerPoint和XPS格式(PR #716)
修复了XPS和格式错误的文档的问题(问题#711)
添加了XLSB格式(问题#758)
使用common模块的log_helper改进了日志记录(PR #449)
2021-06-02 v0.60:
ftguess:新工具,用于识别文件格式和容器(问题#680)
oleid:问题#679
每个指标现在都有一个风险等级
调用ftguess来识别文件格式
调用olevba+mraptor来检测和分析VBA+XLM宏
olevba
当XLMMacroDeobfuscator可用时,使用它来提取和脱混淆XLM宏
rtfobj
使用ftguess来识别OLE包的文件类型(问题#682)
修复了re_executable_extensions中的bug
crypto:添加了PowerPoint透明密码‘/01Hannes Ruescher/01’(问题#627)
setup:将XLMMacroDeobfuscator、xlrd2和pyxlsb2添加为可选依赖项
有关更多信息,请参阅完整的变更日志。
工具
分析恶意文档的工具
分析OLE文件结构的工具
使用 oletools 的项目
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 MS O365 邮件插件、SpuriousEmu、Strelka、stoQ、Sublime Platform/MQL、Subparse、TheHive/Cortex、ThreatBoook、TSUGURI Linux、Vba2Graph、Viper、ViperMonkey、YOMI,以及可能还有 VirusTotal、FileScan.IO。以及 GitHub 上的许多其他项目(如果你有或知道使用 oletools 的项目,请联系我)
下载和安装
下载和安装/更新 oletools 的最新稳定版本,推荐使用 pip
在 Linux/Mac 上:sudo -H pip install -U oletools[full]
在 Windows 上:pip install -U oletools[full]
这应该会自动创建命令行脚本,从任何目录运行每个工具:例如 olevba、mraptor、rtfobj 等。
关键词 [full] 表示将安装所有可选依赖项,例如 XLMMacroDeobfuscator。如果您更喜欢不带可选依赖项的轻量级版本,只需从命令行中删除 [full]。
要获取 最新开发版本
在 Linux/Mac 上:sudo -H pip install -U https://github.com/decalage2/oletools/archive/master.zip
在 Windows 上:pip install -U https://github.com/decalage2/oletools/archive/master.zip
有关其他安装选项,请参阅文档。
文档
最新版本的文档可以在网上找到,否则在软件包的 doc 子文件夹中提供了一个副本。
如何提出改进建议、报告问题或贡献
这是一个个人开源项目,在我业余时间开发。任何贡献、建议、反馈或错误报告都受欢迎。
要提出改进建议、报告错误或任何问题,请使用问题报告页面,提供所有信息和文件以重现问题。
您也可以直接联系作者以提供反馈。
代码可在GitHub 存储库中找到。您可以使用它通过分支和拉取请求提交改进。
许可证
本许可证适用于 python-oletools 软件包,但第三方文件夹除外,该文件夹包含具有各自许可证的第三方文件。
python-oletools 软件包的版权为(c)2012-2024 Philippe Lagadec(http://www.decalage.info)
保留所有权利。
在满足以下条件的情况下,允许以源代码和二进制形式重新分配和使用,无论是否修改:
源代码重新分配必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式重新分配必须复制上述版权声明、本条件列表和以下免责声明在文档和其他与重新分配一起提供的材料中。
本软件由版权所有者和贡献者提供“按原样”并放弃任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论何种原因和任何责任理论,无论是否事先通知此类损害的可能性。
olevba 包含 officeparser 项目修改后的源代码,该项目在以下 MIT 许可证(MIT)下发布
officeparser 的版权为(c)2014 John William Davison
本授权协议准予任何获得本软件及其相关文档副本(以下简称“软件”)的个人,在不收取任何费用的情况下,自由地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许软件的接受者执行上述操作,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是基于合同、侵权或其他原因,无论该索赔、损害或其他责任是否与软件有关,或与软件的使用或以其他方式参与其中有关。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源分布
构建分布
oletools-0.60.2.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ad452099f4695ffd8855113f453348200d195ee9fa341a09e197d66ee7e0b2c3 |
|
MD5 | 28bdd4e828d1d5267a21d9a307dc782f |
|
BLAKE2b-256 | 5c2f037f40e44706d542b94a2312ccc33ee2701ebfc9a83b46b55263d49ce55a |
oletools-0.60.2-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 72ad8bd748fd0c4e7b5b4733af770d11543ebb2bf2697455f99f975fcd50cc96 |
|
MD5 | 0c480dd236e347cb4dc1b4d11d6c9698 |
|
BLAKE2b-256 | acff05257b7183279b80ecec6333744de23f48f0faeeba46c93e6d13ce835515 |