跳转到主要内容

Python工具,用于分析MS Office和OLE文件的安全特性(也称为结构化存储、复合文件二进制格式或复合文档文件格式),用于恶意软件分析和事件响应 #DFIR

项目描述

PyPI Build Status Say Thanks!

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添加为可选依赖项

有关更多信息,请参阅完整的变更日志

工具

分析恶意文档的工具

  • 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 的项目

oletools 被多个项目和在线恶意软件分析服务使用,包括 ACEADAPTAnlyz.ioAssemblyLineBinary RefineryCAPECinCanCortex XSOAR (Palo Alto)Cuckoo SandboxDARKSURGEONDeepvizDIARIOdridex.malwareconfig.comEML AnalyzerEXPMONFAMEFLARE-VMGLIMPS MalwareHybrid-analysis.comInQuest LabsIntelOwlJoe SandboxLaika BOSSMacroMiltermailcowmalshare.iomalware-repoMalware Repository Framework (MRF)MalwareBazaarolefyPandoraPeekabooAVpcodedmpPyCIRCLeanQFlowQu1cksc0peTylabs QuickSandREMnuxSnakeSNDBOXSplunk MS O365 邮件插件SpuriousEmuStrelkastoQSublime Platform/MQLSubparseTheHive/CortexThreatBoookTSUGURI LinuxVba2GraphViperViperMonkeyYOMI,以及可能还有 VirusTotalFileScan.IO。以及 GitHub 上的许多其他项目(如果你有或知道使用 oletools 的项目,请联系我

下载和安装

下载和安装/更新 oletools 的最新稳定版本,推荐使用 pip

  • 在 Linux/Mac 上:sudo -H pip install -U oletools[full]

  • 在 Windows 上:pip install -U oletools[full]

这应该会自动创建命令行脚本,从任何目录运行每个工具:例如 olevbamraptorrtfobj 等。

关键词 [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 (3.4 MB 查看哈希值)

上传时间

构建分布

oletools-0.60.2-py2.py3-none-any.whl (989.4 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面