Decepticon Reverser 技能库:malware-triage 技能驱动的 15 分钟恶意软件快速分诊实战
【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载本文围绕 Decepticon 标准技能库中的 malware-triage 技能展开完整还原这套15 分钟初判工作流静态分析PE/Mach-O/ELF 格式识别、strings、导入表、签名、熵值/加壳指标→ 隔离动态引爆INetSim、Wireshark、Procmon→ 解包Scylla/PE-sieve→ 四级判定与 IOC 提取。读完后你既能手工照单执行一次完整分诊也能理解这套技能在 Decepticon 逆向reverser技能车道中如何被装载、如何与内置bin_*工具链协同工作。1. 技能定位一条面向快速初判的分诊工作流该技能的 frontmatter 声明了它的身份契约name: reverser-malware-triage description: Fast malware triage workflow — static (PE/Mach-O/ELF format, strings, imports, signatures, entropy/packed indicators), dynamic (sandbox with INetSim, Wireshark, Process Monitor, Procmon, time-shift), unpack (Scylla/PE-sieve), then full RE with Ghidra/IDA. Designed for ≤15 min initial verdict. allowed-tools: Bash Read Write metadata: subdomain: reverser tags: malware, triage, sandbox, ghidra mitre_attack: T1059, T1518其中几个字段值得说明when_to_use是一串召回触发词malware triage sample first look static dynamic sandbox cuckoo capemon inetsim wireshark procmon unpack packed entropy yara用于让代理在用户描述首次接触可疑样本、静态/动态沙箱、解包、加壳、熵值、YARA等场景时命中该技能allowed-tools: Bash Read Write限定了该技能执行时代理可用的工具面——分诊本质上是跑命令 读样本 写报告不需要额外工具mitre_attack: T1059, T1518将技能与 MITRE ATTCK 技术 ID 关联。从 skillogy 构建器源码看Enterprise 格式的mitre_attackID 会被解析并生成Skill → Technique的IMPLEMENTS边tags则生成Tag节点——也就是说这份 SKILL.md 不只是给代理读的提示词同时是 Decepticon 技能知识图谱Skillogy的构建原料。它的上级目录 reverser 车道根目录给出了整个二进制逆向车道的技能清单triage、firmware、packer-unpacking、rop-chain、ghidra 等而 malware-triage 是其中专攻恶意样本快速初判的一条当判定为 MALICIOUS 后技能会显式交接给 ghidra 深度分析技能。2. 总体目标15 分钟内给出四选一判定技能开篇就定下基调拿到一个可疑二进制后目标是 15 分钟内从CLEAN / SUSPICIOUS / MALICIOUS / NEEDS-DEEPER四个状态中做出判定。时间预算的分配是阶段时间内容Phase 1 静态5 分钟格式、哈希/信誉、strings、PE 细节、熵值、YARAPhase 2 动态5 分钟隔离 VM 中引爆并观察Phase 3 解包可选 5 分钟熵值高/疑似加壳时执行Phase 4 判定—给出结论并决定后续动作3. Phase 1静态分析5 分钟静态阶段的原则是用最便宜的手段换最多的信号。技能给出的完整命令序列如下# 1. File format file sample.bin exiftool sample.bin # author / compile timestamp / version # 2. Hash reputation sha256sum sample.bin # Submit to: VirusTotal, MalwareBazaar, IntelX, Joe Sandbox, ANY.RUN # Often the verdict already exists — saves you 14 minutes. # 3. Strings — fast triage signal strings -n 8 sample.bin | sort -u | head -100 strings -e l -n 8 sample.bin | sort -u | head -50 # wide (UTF-16) strings on Windows # Suspicious strings to grep for: strings sample.bin | grep -iE http|https|wmic|powershell|cmd.exe|temp|appdata|amsi|defender|reflectiveloader # 4. Format-specific: PE peresearcher sample.exe # OR python pefile python3 -c import pefile p pefile.PE(sample.exe) print(Compile time:, p.FILE_HEADER.TimeDateStamp) print(Sections:, [(s.Name.decode().rstrip(\x00), s.SizeOfRawData, s.get_entropy()) for s in p.sections]) print(Imports:, [(e.dll.decode(), [i.name.decode() if i.name else hex(i.ordinal) for i in e.imports]) for e in p.DIRECTORY_ENTRY_IMPORT]) # 5. Entropy → packed? python3 -c import math data open(sample.bin,rb).read() counts [data.count(bytes([b])) for b in range(256)] total len(data) ent -sum((c/total)*math.log2(c/total) for c in counts if c) print(fEntropy: {ent:.3f} / 8 — {packed if ent 7.5 else normal}) # 6. YARA against canonical rulesets yara -r /opt/yara-rules/ sample.bin yara -r /opt/Neo23x0-signature-base/ sample.bin逐条拆解其中的要点3.1 格式与元数据file / exiftoolfile先确认到底是 PE、Mach-O 还是 ELF——这决定后续所有工具的选择技能末尾的工具表也按这三种格式分列了工具栈。exiftool用于提取作者字符串、编译时间戳、版本等元数据这些常常是归并同源样本clustering的廉价 IOC。3.2 哈希与信誉查询可能直接省掉 14 分钟sha256sum出哈希后投递到 VirusTotal、MalwareBazaar、IntelX、Joe Sandbox、ANY.RUN。技能特意强调 Oft en the verdict already exists——如果样本已流入公开情报网络直接采信既有判定即可这是整个 15 分钟预算里期望值最高的一步。3.3 Strings性价比最高的静态信号两条strings分别取 ASCII-n 8和宽字符-e lWindows 下 UTF-16LE 字符串结果随后用一条grep -iE正则扫描高危关键词http|https|wmic|powershell|cmd.exe|temp|appdata|amsi|defender|reflectiveloader。这些词分别对应 C2 URL、脚本宿主滥用wmic/powershell、临时目录落地、AMSI/Defender 规避意图、反射加载器等典型恶意信号。3.4 PE 格式细节技能给出两种等价路径peresearcher命令行交互式或pefile内联脚本。脚本打印三样东西编译时间戳p.FILE_HEADER.TimeDateStamp、每个节区的名字/原始大小/熵值节区级熵值是定位加密/压缩载荷的精确信号、完整导入表DLL 函数名或序号。其中按序号导入hex(i.ordinal)本身就值得关注——按序号导入是常见的混淆手法。3.5 熵值判壳与 Decepticon 内置实现互为印证内联脚本计算的是经典的 Shannon 熵统计 256 个字节值的频率分布后求H -Σ p·log2(p)阈值取7.5判为疑似加壳。这一判定逻辑在 Decepticon 的内置工具中有对应实现——packer.py 的detect_packer()同样先算全文件 Shannon 熵再对字节流做加壳签名匹配内置 UPX!、.vmp0/.vmp1、.MPRESS1/2、.aspack、.enigma1/2、PECompact2等特征表判定策略为熵 7.0 或命中任一签名 →likely_packed True熵 7.5 但无签名 → 备注可能是自定义壳熵 4.0 → 备注大概率未加壳或文本占比高。技能把阈值取 7.5更保守用于要不要进入 Phase 3 解包的决策而内置工具的 7.0/7.5 双阈值则提供更细的备注信息——两者一致体现了高熵 压缩/加密载荷这一核心原理。3.6 YARA 规则集最后用yara -r对两套规则库做全量匹配/opt/yara-rules/与/opt/Neo23x0-signature-base/后者是知名的社区恶意软件规则集。Decepticon 的沙箱容器默认自带 YARA 引擎——sandbox.Dockerfile 在基础镜像中安装了yara包注释说明其用于 DFIR 校验所以技能中这一步在 Decepticon 运行环境内开箱可用。4. Phase 2动态引爆5 分钟必须在隔离 VM 中执行动态阶段的第一步是一次性预检配置好后存快照技能列出的清单是断网或改用INetSim / FakeNet-NG提供伪造服务让样本以为连上了 C2从而诱导其暴露行为;ProcmonProcess Monitor持续记录建议按 Process / File / Network / Registry 四类过滤Wireshark在快照网络适配器上抓包Fakedns / INetSim监听 DNS / HTTP / SMTP / FTP 请求。引爆与观察流程# Detonate cp sample.bin C:\tmp\sample.exe # Right-click → Run as admin OR sample.exe in cmd # Observe for 60-180 seconds, then take snapshot # Then revert VM for next run即把样本拷入 Windows 隔离 VM以管理员身份运行很多恶意软件的提权/持久化行为只在管理员上下文中触发观察60–180 秒后截快照留证然后回滚 VM以支持下一轮复测——快照/回滚循环是动态分诊可重复性的关键。4.1 观察信号速查表原文档核心内容技能为看到什么现象该下什么结论给出了行为判定表完整继承如下Signal观察到的行为Verdict判定Writes to\AppData\Local\Tempthen executesLikely dropper疑似投放器Creates Run/RunOnce registry keyPersistence持久化Schedules a taskPersistenceModifies firewall via netshDefense evasion防御规避Spawns powershell LongStringEncodedStage 2二阶段载荷PowerShell 编码命令Network: HTTPS to a no-SNI IPC2 callback无 SNI 的 HTTPS 回连是常见 C2 规避特征DNS to a DGA-looking domainC2 callbackReads process memory of lsass.exe / winlogon.exeCredential theft凭据窃取Writes to userinit / shells / image-file-exec-optionsPersistenceTouches\Microsoft\Cryptography\Defaults\ProviderCert injection证书注入这张表的价值在于把原始行为事件直接映射到分析结论类别观察员无需在爆炸性的 Procmon 事件流中做开放推理。5. Phase 3解包熵值高时执行可选 5 分钟当 Phase 1 的熵值判定提示加壳时技能的解包路径是在动态 VM 内、引爆之后做内存/进程转储而不是静态脱壳# In dynamic VM, after detonation, dump memory: # Scylla (UI) → attach to process, dump PE image # OR PE-sieve (command-line): pe-sieve.exe /pid 1234 /dir dumped # OR DnSpy DotNetReactorUnpacker for .NET # OR de4dot for obfuscated .NET # Then static-re the unpacked binary (Phase 1 strings/imports against the dump)要点有三运行后转储Scylla 附加进程直接导出 PE 镜像pe-sieve.exe /pid 1234 /dir dumped用命令行对指定 PID 做内存/进程模块扫描转储——壳在内存中已完成解压此时拿到的就是明文载荷.NET 专项DnSpy 搭配 DotNetReactorUnpacker或用 de4dot 处理混淆的 .NET 程序集闭环回检解包产物必须重新走一遍 Phase 1 的 strings/imports 静态流程——很多样本的二阶段 IOCURL、域名、持久化路径只在解包后才暴露。如果样本命中已知壳UPX、ASPack、VMProtect 等还可以直接切换到仓库中的 packer-unpacking 技能其中包含各壳的签名识别表与upx -d等自动化脱壳命令。6. Phase 4判定表与 IOC 提取模板6.1 四选一判定矩阵VerdictIndicators依据Next step下一步CLEANKnown-good hash, signed, expected strings/imports, no suspicious behaviorMark move on标记后放行SUSPICIOUSUnsigned, low rep, mildly unusual imports/strings, no clear malicious behaviorSandbox 30 min longer, YARA against custom rules延长沙箱观察 自定义规则MALICIOUSC2 callback, drops files, persistence, credential theft, packed evades VMsIOC extraction, then deep RE提取 IOC 后进入深度逆向NEEDS-DEEPERHigh entropy, anti-analysis, custom-packed, no obvious signalUnpack first (Phase 3), then re-triage先解包再重新分诊这张表把证据强度 → 结论 → 后续动作固化成了状态机CLEAN 直接放行SUSPICIOUS 加时观察MALICIOUS 提取 IOC 并交接 ghidra 技能 做深度 RENEEDS-DEEPER 则回到 Phase 3 形成解包-重诊循环。6.2 IOC 提取清单判定为 MALICIOUS 时技能要求提取以下 IOC原始文档模板完整继承Hashesmd5、sha1、sha256C2 domains / IPs从 PCAP 中提取Mutex names从 Procmon 的 CreateMutex 事件中提取File paths created运行期间创建的文件路径Registry keys modified被修改的注册表键YARA signature基于样本独有的字符串/代码段生成新的 YARA 规则形成分析一个样本 → 产出检测一个家族的闭环。7. 工具表与 Decepticon 内置工具链的对应关系技能末尾给出的分诊工具速查表完整继承StageToolUseStatic (PE)pefile, capa, exiftool, Detect It Easy (DIE)Format capability scanStatic (ELF)readelf, objdump, radare2Format symbolsStatic (Mach-O)jtool2, otool, MachOViewFormat symbolsDynamicCuckoo, CAPE, ANY.RUN, Joe Sandbox, Hatching TriageAutomated sandboxNetworkWireshark, mitmproxy, FakeNet-NG, INetSimTraffic capture fake servicesMemoryVolatility 3, PE-sieve, ScyllaMemory forensics unpackingDisassemblyGhidra, IDA, Binary NinjaFull RE — 见 ghidra 技能YARAyara, capa rulesSignature matching值得注意的是上表 Phase 1 的多数手工命令在 Decepticon 中都有一一对应的内置 agent 工具实现在 tools/reversing/tools.py技能中的手工操作内置工具说明file 头解析bin_identify解析二进制头返回 format、arch、bitness、NX/PIE、入口点strings 分类 grepbin_strings提取字符串并分类为url/ip/email/path/crypto/version/secret/import/text支持category_filter过滤熵值判壳bin_packer即第 3.5 节所述的detect_packer()返回熵值 壳判定 签名命中imports 风险评估bin_symbols_report接受nm/objdump -T/readelf -Ws输出的符号列表分桶给出风险分从源码结构看reverser 车道根技能的 Workflow 正是按bin_identify → bin_packer → (packed 则走 packer-unpacking) → bin_strings → bin_symbols_report的顺序编排这些工具的也就是说malware-triage 技能里人工 5 分钟静态的每个环节在代理运行时里都有可脚本化的等价物两者共享同一套判定原理熵阈值、导入风险、URL/凭据字符串信号。8. 参考与延伸原文档在 References 一节给出了四个延伸方向完整继承Practical Malware Analysis— Sikorski Honig恶意软件分析的经典教科书MITRE ATTCK— 用于把观察到的行为映射到技术编号技能 frontmatter 中的T1059, T1518即来自该矩阵Lenny Zeltser 的 REMnux— 预构建的恶意软件分析发行版DEFCON Malware Forensics track recordings。在 Decepticon 仓库内可继续深入的相邻技能packer-unpacking壳识别与自动化脱壳、ghidraMALICIOUS 判定后的深度逆向交接、triage针对非恶意样本的 ELF/PE/Mach-O 快速分诊 fast path。9. 小结malware-triage 技能的价值不在于工具清单本身pefile、Procmon、PE-sieve 都是业界通用件而在于它把分诊压缩成了一条有明确时间预算、有行为判定表、有状态机出口的可重复流程哈希信誉查询优先可能直接出结论、strings 与熵值提供廉价静态信号、隔离 VM 中 60–180 秒的引爆观察配合行为信号表给出证据、四选一判定矩阵决定放行/加时/深挖/解包重诊。在 Decepticon 中这套流程同时以技能提示词 bin_*内置工具 沙箱容器预装 YARA三层形态存在既可供分析师手工照单执行也可由代理在 engagement 中自动编排。赞分享【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载相关推荐Z0FCourse_ReverseEngineering恶意软件分析入门Dropper与Malware逆向实战想要掌握 恶意软件分析 的核心技能吗Z0FCourse_ReverseEngineering项目提供了一个完整的实战平台让你从零开始学习逆向工程特别是针对教程网络安全如何在5分钟内快速部署Jenkins CI/CD服务器官方Docker镜像完整指南如何在5分钟内快速部署Jenkins CI/CD服务器官方Docker镜像完整指南 Jenkins作为业界领先的持续集成和持续交付CI/CD工具其官方DCI/CDDevOps如何安装Jellium Desktop跨平台完整指南Linux/Windows/macOS如何安装Jellium Desktop跨平台完整指南Linux/Windows/macOS 想要在桌面上享受Jellyfin媒体服务器的原生体验吗Jel桌面应用音视频创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考