- name
- re-playbook
- description
- 二进制分析模式作战手册:样本登记与活体处置 SOP、壳/混淆识别与脱壳、多视角分析、frida 插桩 SOP、angr 符号执行分工、IOC 与检测规则输出、时间线/残留/敏感数据三件套、报告模板。结论必须有字节/指令级证据引用、家族指纹快筛路由与多样本批次聚类(代表深析+变体外推)、IAT 修复三情形分诊(保留/TRACE 重建/hook wrapper)、VM 壳(指令虚拟化)处置分叉(病毒分析=行为级+trace 代替指令还原/破解=关键 handler 逐条还原/还原深度三档如实标注)、逆向破解决策(授权模型四分类路径+keygen 验证闭环)、固件与硬件作战卡(binwalk 提取/敏感面/diff/物理接口)、场景作战卡族四卡(勒索样本——密钥管理缺陷检测→解密器复现交 IR/移动样本——权限组件面+家族快筛/平台特化——.NET·浏览器扩展·变种语言审计面挂 code-audit sink 大表/EDR 规避样本——检测面反推+规则回馈 av-evasion 收口)、Windows 专项作战纪律五则(架构/WOW64 边界·混合托管互操作桥接·IPC 持久化控制面·自绘 UI 消息流·网络栈定栈)、防护定级 T0-T6、启动链枚举(TLS callback/SEH/VEH)、Web 套壳分流(Electron/CEF/WebView2/Tauri/Wails)、切入点纪律、漏洞样本分析线(崩溃分诊→根因定位→利用条件评估→按需交接 ctf-solver;fuzzing 入口)、ioc.txt 机器可读工件、内存镜像产物衔接。
- tools
- jadx, frida
# 二进制分析作战手册
> 本技能随 binary-analysis 预设走。
> persona 中的硬规则(底线、证据标准、样本纪律、对抗性样本意识、表达纪律(拒答修复由宿主插件 dsh-refusal-guard 兜底)、claude 逻辑)不在此重复。
## 主观念锚点
> 主观念 = **病毒分析 · 逆向破解 · 脱壳还原代码**,围绕三者自主扩展实施:
> ①病毒分析——行为/IOC/家族归属(动态观察 + 静态证据,IOC 输出 YARA/Sigma 可落地);
> ②逆向破解——key/算法/授权逻辑还原(字节级证据 + 算法模拟);
> ③脱壳还原代码——壳识别 → 脱壳 → IAT 修复 → 还原产物验证(B1 三验硬规则)。
> 还原/破解结论随报告交付**完整 python 复现脚本**(exp/<sample-id>.py:解密器/unpacker/
> 校验逻辑模拟,参数化样本路径,只读运行,退出码 0=复现成功),供客户手动复现。
## 样本登记与活体处置 SOP
- 收到样本先登记:哈希(sha256)、来源、日期、获取方式,再开始任何分析。
- 一律视为活体恶意软件:不双击、不在非分析环境执行、默认断网。
- 样本与产物(脱壳文件、dump、trace)分开存放,目录以样本哈希命名。
## 防护定级(分诊产物·工具链选择前置)
结构解析完成后先定级(三路分诊共用),定级决定工具链投入与降级预期:
| 级 | 特征 | 工具链预期 |
|---|---|---|
| T0 | 无明显保护,单进程、直接入口、静态即可建立主链 | 基础静态链(objdump/capstone) |
| T1 | 轻度混淆、导入隐藏、字符串加密、简单反调试或配置跳板 | 静态+脚本化解密;frida 按需 |
| T2 | 单层壳、异常门、单个远端装载链、单层网络或运行时校验 | 脱壳管线主链(OEP/IAT) |
| T3 | 多模块、WOW64 边界、混合托管、服务/IPC 控制面或多条入口链并存 | 专项纪律启用(见 Windows 专项作战纪律)+ 多视角 |
| T4 | 注入+抗分析、多进程协同、手工装载、内存重映射或驱动伴随 | 动态取证+内存映像重建(隔离铁律内) |
| T5 | 用户态/内核态或托管/非托管/IPC 多层强耦合,单一工具已无法闭环 | 组合编排:专项纪律多则并行+假设台账 |
| T6 | 高对抗组合场景,需静态、动态、内存与协议证据联动拆解 | 全形态联动(覆盖台账按维度登记缺口) |
**定级纪律**:未完成架构边界、启动链和真实触发面裁定前,不得把单个函数语义直接提升为高置信
业务结论;定级写入分诊产物,升级/降级须附证据。
## 家族指纹快筛路由(分诊后、假设循环前)
- 结构解析员识别出家族指纹(字符串特征/节区特征/导入表组合/PDB 路径/YARA 命中)后,
**先查已知再立假设**:对照 `refs/behavior/` 已知行为面清单快筛——同家族已知行为
(C2 协议/持久化点/反分析手法)逐项作为候选假设进台账(标注来源=家族已知,非本轮新证);
- 已知行为核对完的剩余面才是「新假设」产出区——防对已充分研究的家族重复逆向;
- 指纹对不上已知家族(新家族/变种)→ 全量假设循环照走,报告标注「未匹配已知家族」。
## 多样本批次聚类(同事件多文件时)
- 收到一批样本**先聚类再分工**:按 壳类型 / 家族指纹 / C2 重合度 / 导入表相似度 分组;
- 每组选**代表样本**(特征最全/体积最大)走全量流程(假设循环+多视角);
- 同组其余做**变体快筛**:只核代表结论的关键面(C2 地址/持久化点/差异函数),差异点才深看;
- **外推纪律**:快筛结论标「外推自代表样本 <sha256 前 8>」——快筛 ≠ 等价全量;差异大的
变体升级为该组新代表补全量;
- 聚类结果落盘 `artifacts/<批次>/clustering.md`(组/成员哈希/分组依据),随报告交付。
## 分析形态(静态/动态)与动态隔离铁律
**形态定义**:
- **静态分析(默认形态)**:以**脱壳还原代码**为前提,只从代码层分析(结构解析/多视角交叉/
符号执行/算法还原)——一切结论不执行样本即得出。
- **动态分析**:运行时分析**必须在隔离 VM 内进行**——开工按「虚拟化与沙箱公约」
(ecosystem-cooperation)检测虚拟化平面(VMware/Parallels/VirtualBox/Hyper-V/WSL/
qemu-KVM/multipass/UTM 等不限于)并走三级阶梯:**已有合格纯隔离沙箱直接复用**
(恢复基线快照)→ 有虚拟化软件则**基于已有系统克隆纯隔离沙箱**(新装 OS=系统级
绝不自动装,询问用户或由用户提供环境)→ 无虚拟化则静态优先 + 覆盖度台账登记缺口
收窄结论(**未知样本严禁宿主机直接运行**)。沙箱就绪后
把病毒/样本/木马后门/webshell 等丢入 VM,**在 VM 内**开始运行时分析;frida 插桩、调试器附加等一切「让样本
执行」的动作同属动态分析,同受本节约束。
**动态隔离铁律(persona 硬规则)**:
1. **VM 与物理机完全隔离**——网络 host-only 或完全断开、**DNS 解析与网络服务全部虚拟化**
(伪造 DNS/伪造服务,INetSim/FakeNet 类思路),禁止桥接真实局域网、禁止共享宿主 DNS、
禁止接触宿主资源;防木马/病毒/勒索逸散到本地,并**谨记样本的虚拟机逃逸技术**——共享
文件夹/剪贴板/拖放/3D 加速/guest tools 等攻击面全部关闭或最小化。
2. **反虚拟化检测处理**:样本带虚拟化检测(CPUID/硬件指纹/驱动存在性/时序差)→ 先尝试
hook 掉检测点再分析;绕不过则如实记录「样本检测到虚拟环境」,回静态路径,不硬跑。
3. **一次性与可回滚**:分析 VM 先打快照,分析完还原或整台丢弃;VM 内不存放任何宿主凭据
或真实数据。
**运行前三态可控性判定(载入 VM 的前置门)**:
载入前先判断**是否控制得住真实运行状态**(核对项:快照就绪?网络隔离已确认?行为监控
覆盖?样本家族与行为面已知度?打包与抗分析强度?):
- **控制得住** → 载入 VM 开始动态分析;
- **控制不住**(有明确失控证据:勒索类自毁、蠕虫主动外传、内核级利用向、高危家族+强抗
分析打包)→ **禁止运行**,只做静态并在报告如实记录动态缺口与原因;
- **不确定/存在风险** → **把选择权交给用户**:ask_user 列出风险清单与已备好的隔离措施,
由用户决定是否继续;用户未明确同意前不载入。
### 反虚拟化检测对抗(样本分析 + 逆向破解双场景)
样本带虚拟机/沙箱检测(CPUID/硬件指纹/驱动与注册表工件/时序差)时,**先定位检测面,再按
成本递增选对抗路线**——检测点不定位就盲目改环境=白费功夫:
| 路线 | 手段 | 性质 |
|---|---|---|
| ① 环境伪装 | VM 工件清理与伪装:注册表特征键、文件与驱动名、MAC 前缀、主机名/用户名——**按静态定位出的检测点针对性伪装**(strings/常量特征 "VMware"·"VBox"/CPUID leaf 0x40000000/交叉引用),不全量瞎改 | 沙箱侧干预,不动样本,成本最低 |
| ② 检测点 hook | frida hook CPUID/rdtsc/注册表与进程枚举 API 伪装返回值 | 不改样本字节 |
| ③ 静态 patch 检测分支 | 定位检测代码(入口附近跳转/常量特征)改跳转——**逆向破解场景主线动作**;patch 产物哈希登记 provenance | 改样本须登记 |
| ④ 换环境 | 半虚拟化/物理机断网牺牲机——**用户确认制**(系统级铁则:不自动装系统,用户自备) | 成本最高 |
四条路线绕不过 → 如实记录「样本检测到虚拟环境」,回静态路径,不硬跑(对抗失败也是分析
结论)。检测面知识锚点:refs/dynamic/malware-analysis-dynamic.md(检测面清单)、
refs/methodology/reverse-engineering/references/anti-analysis.md、anti-debugging.md——只路由不重写。
## 壳/混淆识别与脱壳
- 结构解析先行:`file` / `otool` / `objdump` 判断 PE/ELF/Mach-O、位数、节区异常。
- 壳指纹识别:入口点特征、节区熵值、导入表残缺度。
- 脱壳策略:静态脱壳(定位 OEP)、动态 dump(frida/调试器)——脱壳产物回填资产清单并注明来源。
- **启动链枚举(Windows PE 必过)**:枚举 `TLS callback → entrypoint → CRT → SEH/VEH` 完整启动链——
`main/WinMain/DllMain` 不是唯一真实入口(TLS callback 先于 OEP 执行,常承载反分析/解密门);
断点未命中 ≠ 逻辑未执行(先查架构不匹配、异常吞掉、TLS 先跑、CFG/CET 保护、WOW64 边界)。
深读 `refs/windows/exception-runtime-playbook.md`。
- **Web 套壳分流**:安装目录携带大量 js/html/asar/pak/locales 前端资源 → 先走套壳分诊线路
(wrapper/runtime 指纹 → 主入口资源与 bridge 定位 → 再决定是否深挖宿主 EXE),深读
`refs/windows/web-shell-triage.md`;前端/客户端侧深水区衔接 pentest 客户端作战线
(跨模式能力会话内直接生效)。
## 脱壳与还原(app 壳 / Windows 壳 + IAT 修复)
**目标**:得到真实程序,供本模式深入分析和 code-audit 审计——「还原产物」是后续一切结论的地基。
- **Android 壳**:识别壳类型(整体加壳 / 指令抽取 / VM 类);frida-dexdump 类动态 dump,校验 dex 完整性(magic/checksum);抽取类壳需按运行时解密点还原方法体。
- **iOS 壳**:多数为薄壳,静态解密 + 重签名验证;还原后与二进制分析结论互证。
- **Windows 壳**:流程固定为 壳识别 → OEP 定位(ESP 定律/内存断点等)→ 内存 dump → **IAT 重建** → 验证可运行性。
- **IAT 修复三情形分诊(修复路线决策)**:
① **完整保留型**(壳仅加载期加密、原 thunk 尚在)→ Scylla 自动重定位即可;
② **销毁重建型**(原 IAT 被抹、运行时逐 API 动态解析)→ **TRACE 法**:让程序自然跑
调用、抓取真实 API 地址重建表(Scylla TRACE / 调试器脚本)——自动修复必漏,须逐项核对;
③ **hook wrapper 型**(壳 inline hook 包装 API,dump 后调用的仍是壳的转发桩)→ 先
unhook / 绕过 wrapper 再修表——只修表不除桩 = 修完仍跑不起来。
判别信号:dump 后 IAT 区域全零 / 地址指向壳自身模块 / 导入散落多节。修复失败按情形
**换路线**,不反复重 dump;深读 `tools/x64dbg-reversing/references/unpacking-oep-iat.md`。
- **VM 壳(指令虚拟化类)处置分叉**:识别特征=入口指向 VM dispatcher/节区超大且高熵/
handler 表结构(VMProtect·Themida 型)。**不做盲目指令级还原,按场景分叉**:
① **病毒分析场景**:**行为级+trace 分析代替指令还原**——IOC/行为/C2/持久化全部可从
动态 trace 与内存提取得出,指令级还原非必需;结论如实标注「VM 壳,行为级结论」;
② **逆向破解场景**(必须还原算法时):先评估授权逻辑是否真在 VM 段(常见只有关键
函数虚拟化、主逻辑裸奔——裸奔段先审);确需还原=定位关键 handler 逐条还原/Unicorn
模拟执行,成本高、分段推进;
③ **还原深度如实标注**(全还原/关键函数还原/行为级三档),禁止虚报还原深度;B1
三验按实际档位评估(行为级档不适用「可运行性」项时标注原因)。
- **还原完整性验证(persona 硬规则)**:dex 校验、IAT 有效性、可运行性三项通过后才可作为分析依据;不完整的还原标「疑似」,禁止在残缺产物上下结论。
- 还原产物重新登记哈希与来源,再交 code-audit(分工见 audit-playbook)。
- 工具现状按检测制:开工 `command -v` 探测 frida/jadx/apktool 等;dex2jar、脱壳机、x64dbg/Scylla 等 Windows 工具链属补充工具集(检测缺失时按安装请求兜底,逐工具讨论时一并处理)。
## Windows 专项作战纪律(分诊后技术面特化)
> 与场景作战卡族同型(卡=场景特化,本节=技术面纪律);每则=命中信号 → 最小必做 → 禁止性结论。
> 命中任一则时通用流程不豁免;各则详情深读 `refs/windows/` 对应篇。
| 纪律 | 命中信号 | 最小必做 | 禁止性结论 |
|---|---|---|---|
| **架构/WOW64 边界** | x86/x64/ARM64/WOW64 交叉;32 位进程跑在 64 位宿主 | ①确认目标架构、调试器架构、宿主架构与 wow64 状态 ②判定入口在原生、桥接还是远端进程触发 ③给出跨架构调试/hook/dump 策略 ④结论写入分析报告与分诊产物 | 架构边界未裁定前,不得把「断点未命中」解释为「逻辑未执行」 |
| **混合托管互操作** | C++/CLI、IJW、P/Invoke、COM interop、CLR hosting、mscoree 导入 | ①判定托管/非托管边界与加载顺序 ②建立至少一条 managed↔native 桥接链(记录承载方式:P/Invoke/IJW thunk/COM vtable/CLR hosting callback) ③产物:mixed-mode-notes + bridge-map | 未完成最小桥接链前,不得把某一侧局部函数当成完整业务结论 |
| **IPC/持久化控制面** | Service、schtasks、WMI、NamedPipe、RPC、ALPC、COM LocalServer | ①列出控制面载体与触发条件 ②建立 launcher→registrar→writer→reader→use 链路 ③记录权限/会话/启动时机/副作用 ④产物:ipc-surface + persistence-map | 未完成控制面链路前,不得只凭单个注册表键或单个命名管道下「持久化/控制逻辑已完整恢复」结论 |
| **UI 消息流** | 自绘 UI、无标准子控件、WndProc 手动 hit-test、皮肤位图 | ①GetMessage→Dispatch→WndProc 主链定位 ②关键消息分支(WM_PAINT/WM_LBUTTONDOWN/WM_USER+N 内部消息协议) ③点击→hit_test→dispatch_action 映射到关键校验函数 | 未定位消息分发主链前,不得把资源位图/字符串当作功能面结论 |
| **Windows 网络栈** | WinHTTP/WinINet/Schannel/静态链接 OpenSSL/raw socket | ①先识别栈类型(决定 hook 点选择) ②区分网络/TLS/协议三层证据 ③优先定位明文缓冲区、证书校验点、请求构造点与发送边界 | 未定栈前不得盲目下网络 hook(钩错层=白跑) |
深读路由:混合托管 `windows/mixed-mode-interop-playbook.md`;IPC 控制面
`windows/ipc-persistence-playbook.md`;UI 消息流 `windows/ui.md`;内存映像重建与 dump 粒度
决策(manual map/hollowing 残留、远端映像优先于磁盘原件)`windows/memory-forensics-playbook.md`
与 `windows/loader-injection.md`。
## 逆向破解决策(授权机制强度评估)
> 定位=评估目标授权机制的**强度**并给加固建议(安全研究语境);深读
> `methodology/software-cracking/SKILL.md`,本节是路径决策。
| 授权模型 | 定位打法 | 首选路径 |
|---|---|---|
| 序列号离线校验 | 校验函数定位(错误提示字符串反查 / 比较指令定位)→ 算法还原 | **keygen**(算法级还原,最优) |
| 在线激活 | 抓验证协议(请求/响应/签名)→ 本地验证逻辑分析 | 协议伪造服务 / patch 网络层 |
| 硬件绑定 | 指纹采集点定位 → 指纹生成与绑定算法还原 | 伪造指纹生成器 |
| 时间锁 / license 文件 | 文件格式逆向 → 签名/加密结构 | 伪造生成器(签名缺陷时) |
- **破解验证闭环**:keygen 生成的 key 在**真实程序**验证通过才算算法还原成立;patch 路线
遵循**最小化原则**(改跳转/比较结果,不改业务逻辑),patch 后功能回归验证(正常功能
不受损);闭环证据入报告。
- **研究边界**:破解结论交付 = 授权机制弱点 + 加固建议(换算法/加服务端校验/抗篡改);
交付物含授权前提声明,不产出可直接分发的盗版补丁包(与 exp 纪律一致)。
## 固件与硬件作战卡(分诊第三路落地)
- **入口判定**:样本为固件镜像(bin/ihex/厂商升级包)/ 嵌入式系统 dump / 硬件设备评估任务。
- **固件线**:binwalk 提取(`-Me` 递归 / `-E` 熵分析定位加密段)→ 文件系统识别(squashfs/
cramfs/ubifs)→ **敏感面清单**:硬编码凭据 / 默认口令 / 私钥证书、调试接口开启
(telnet/ssh/web 后台)、过时组件与内核版本、配置注入点;加密固件先定位解密钥(厂商
工具链/硬件提取)。深读 `refs/firmware/firmware-analysis.md`、`uefi-reverse.md`。
- **固件 diff 线**:同厂商两版本对比——补丁差异即漏洞线索(改了什么 ≈ 修了什么)。
- **硬件相邻面**:UART/JTAG/SPI 物理接口(固件侧得出凭证后按需扩展;物理接触类操作须
用户确认);深读 `refs/hardware/`(hardware-security / radio-sdr / ot-ics / wifi-wireless)。
- **产物衔接**:提取的文件系统与组件清单走 B0 重登记;组件漏洞面转 code-audit 供应链卡;
固件渗透深水区读 `refs/firmware/firmware-pentest/`。
## 场景作战卡族(分诊后场景深化——四卡)
> 与固件卡同型:每卡=入口判定 → 场景特化动作 → 产物衔接;**通用流程(登记→分诊→
> B 门→覆盖维度)不豁免**,本族只加场景特化层。图谱对应战术列已就位(勒索样本/移动
> 样本/平台特化/EDR 规避样本),落终态照覆盖规则回写。
### 卡 A 勒索样本(配合 IR 卡 5 应急)
- **入口判定**:勒索信/加密后缀特征/勒索家族指纹命中——refs
`behavior/reverse-engineering-ransomware.md`。
- **特化动作**:① 加密行为还原(算法与模式—— selective/全盘、密钥派生方式、加密
中断文件的可恢复性);② **密钥管理缺陷检测**(对称密钥硬编码/密钥落盘/PRNG 弱种子
可复现/密钥驻留内存可 dump——**任一缺陷成立=可写解密器**,这是本卡的核心价值);
③ C2 与密钥协商提取(勒索样本 C2 通道常承载密钥交换,与 IOC 线合并)。
- **产物衔接**:解密器复现走交付公约(exp/<sample-id>.py 模拟解密逻辑,只读运行)→
**交 IR 模式卡 5 的解密可行性结论**(生态协作:分析侧供弹、应急侧收口);家族识别
沉淀战役记忆(fingerprint)。
- 图谱:勒索样本卡(behavior/keygen 两格)。
### 卡 B 移动样本(Android 恶意样本特化)
- **入口判定**:apk/dex 样本且需求是**行为分析**而非单纯脱壳(脱壳需求走脱壳管线,
两路在分诊处分开)。
- **特化动作**:① 权限与组件面(manifest 危险权限组合/组件暴露/无校验动态加载);
② 家族快筛(移动家族指纹——refs `mobile/apk-reverse/`);③ 混淆识别→能还原再审
(衔接脱壳章 Android 壳三类与 frida-dexdump);④ 动态行为面(隐私窃取/短信拦截/
辅助服务滥用——动态走隔离铁律)。
- **产物衔接**:还原产物三验后交 code-audit 移动端反编译审计;IOC 与检测输出照旧。
- 图谱:移动样本卡(apk/dump/app-shell 格)。
### 卡 C 平台特化(.NET / 浏览器扩展 / 变种语言)
- **入口判定**:.NET 程序集(IL 特征)/ 浏览器扩展(crx·xpi·源码目录)/ Go·Rust·JS·
macOS·协议样本(平台卡各形态)。
- **.NET**:ilspy/dnSpyEx 反编译≈源码级——审计面直走 code-audit 的
dotnet-sink-reference(反序列化/ViewState/XSLT);混淆(obfuscator 类)先识别再
还原(工具检测制);强命名/反篡改绕过按需评估。
- **浏览器扩展**:manifest 高危权限组合与内容脚本注入域 → JS 侧走 code-audit
javascript-sink-reference → 供应链视角(更新源/远程代码加载面)。
- **变种语言(Go/Rust/JS/协议)**:非标准运行时与符号恢复(Go buildid·符号表/JS
混淆)→ 对应 refs `platform/` 各篇;协议逆向(protocol-reverse)按流量↔样本双向。
- **产物衔接**:反编译产物重登记交 code-audit;refs `platform/`(dotnet·go-rust·js·
macos·protocol·browser-extension-reverse)。
- 图谱:平台特化卡(pe/elf/dotnet/gorust/js/macos/protocol/browser 格)。
### 卡 D EDR 规避样本(防御侧分析——检测回馈)
- **入口判定**:样本含 EDR/AV 规避手法(unhooking/直接系统调用/AMSI bypass/ETW 致盲/
LOLBAS 滥用——refs `edr-bypass-re/`);macOS 安全机制绕过样本(refs
`macos-security-bypass/`)同卡处理。
- **特化动作**:① 手法识别与分类(用户态 hook 移除/syscall 直调/内核回调规避/反射
加载);② **检测面反推**——「规避了什么」反推「还剩什么信号」(每种手法对应的
可检测遥测残留:syscall 直调仍有 ETW syscall 事件类、unhook 后仍有镜像完整性基线);
③ **检测规则回馈**:YARA/Sigma 初稿 → **生态协作 av-evasion 模式收口**(攻防模式
防御验证章已定"av-evasion 产出→攻防收口"方向;本卡=检测规则候选的又一来源,方向
相同:二进制分析产出→av-evasion 收口)。
- **驱动伴随样本**:内核回调/IOCTL 面的静态分析(DriverEntry 检查表/MajorFunction 分发/
CTL_CODE 解码)与设备交互探测——驱动动态分析只在带快照 VM 内进行(内核崩溃=蓝屏,
同受隔离铁律约束),深读 `refs/windows/driver.md`。
- **边界**:分析规避手法≠开发规避手法(后者是 av-evasion 的定位);本卡产物是**检测
侧**规则与遥测建议。
- 图谱:EDR 规避样本卡(edrre/macos-bypass 格)。
## 漏洞样本分析线(fuzzing 崩溃→根因→利用条件→按需交接)
> 定位不变(分析优先):本线管「给我二进制找漏洞/崩溃分诊」的**入口与编排**;exploit
> 开发深水区仍走 refs/exploit-dev/ 与 ctf-solver 战役。与卡族的区别:卡=形态特化,
> 本线=一条有始有终的工作流。
- **入口判定**:目标二进制求漏洞挖掘 / fuzzing 崩溃待分诊 / IR·攻防回传的崩溃与
可疑触发样本(照 B0 登记)。
- **流程四步**:
① **崩溃分诊**:崩溃类型/崩溃点指令/寄存器可控性初判 + 崩溃去重(同根因聚类)——
refs `exploit-dev/crash-analysis.md`;
② **根因定位**:静态反汇编+动态调试定位漏洞根因(溢出/UAF/类型混淆/整数问题——
原语视角对照 code-audit 的 c-cpp-sink-reference,两模式同一套判定语言);
③ **利用条件评估**:缓解机制判定(NX/canary/ASLR/RELRO 组合→可利用性分级——
c-cpp 大表 MITIGATION 节同口径);根因与可利用性都是**假设**——照假设台账走,
「确认」须复现证据;
④ **按需交接**:分析结论+利用条件齐 → 深度利用开发就地读 `refs/exploit-dev/`
配合,或完整 exploit 战役/CTF pwn 走 ctf-solver;结论与 exp 回本模式复核后登记。
- **fuzzing 入口(无崩溃找崩溃)**:目标类型选 fuzzer(libFuzzer/AFL++/honggfuzz——
检测制)→ 语料与字典构建 → 崩溃批量进 ①;refs `exploit-dev/fuzzing·fuzzing-course`。
- 图谱:漏洞样本与利用(crash/fuzz/exploit/pwn 四格)。
## 多视角分析(2026 趋势)
- 联合输入模型:汇编 + 伪代码(有反编译器时)+ 调用图 + 字符串/导入表 + 动态 trace,交叉命中。
- 单一视角(只看字符串或只看导入表)易被对抗性样本带偏。
## frida 插桩 SOP
- **插桩属动态分析**:对活体样本的 frida 插桩/调试器附加一律在隔离 VM 内进行,遵守
「分析形态与动态隔离铁律」节(隔离网络/虚拟化 DNS/可控性三态判定/反虚拟化检测 hook)。
- 钩子点选择优先级:网络 API → 文件 API → 进程/注册表 API → 解密/解压函数。
- 脚本模板:frida-trace 起步,按需写 hook 脚本;每次 trace 保留输出文件并入证据。
- 注意对抗性样本的反调试/反 hook 检测,trace 结果与实际代码路径相互印证。
## angr 符号执行分工
- 适用场景:路径探索(找到达危险调用的输入)、约束求解(还原加密/校验逻辑)、去混淆辅助。
- 与静态分析互补:angr 解决「哪条路径可达」,静态分析解决「这条路径干什么」。
- 检测缺失时的降级:用 frida + 动态输入构造做近似。
## IOC 与检测规则输出
- 每样本产出 IOCs:哈希、C2/域名/IP、特征字符串、行为签名。
- 附 YARA / Sigma 规则建议(检测侧可直接消费的初稿)。
- IOC 标注置信度与来源(静态推断 / 动态确认)。
- **机器可读工件 `artifacts/ioc.txt`**(与成果页登记 / YARA 初稿双写):单列 IOC 清单
(哈希/域名/IP/URL/特征串,每行一条,`#` 注释行标置信度与来源)——防御侧导入、Loki 类
横扫、attack-defense 防御验证直接消费(与 IR 模式同规范)。
## 时间线 / 残留 / 敏感数据三件套(复用 pentest)
- 关键操作记录时间戳:时间 / 样本 / 命令 / 结果摘要。
- 分析产生的文件、进程、临时环境登记「残留清单」,收尾报告并获许可后清理。
- 敏感数据最小化:提取到的凭据/密钥与报告分离,证据展示以能证明为度。
## 成果页登记(会话隔离,产物清单板式)
- 成果单位=**落盘产物**(不是漏洞/结论):脱壳还原二进制、反编译源码、提取的配置/密钥/载荷/C2、
修复样本、脚本工具、IOC 集、YARA 规则——每产出一个登记一行。
- 字段映射:title=产物名、type=产物类型(脱壳还原二进制/反编译源码/提取配置/提取密钥(Key)/
C2 配置/提取载荷/修复样本/脚本工具/IOC 集/YARA 规则——词干与词表一致)、target=产物位置(工作区路径)、
sampleHash=关联原样本 SHA256(**每产物必填**——成果页按样本分组依赖它,受理登记时已有)、family/packer=所属、
chain=还原/产出链路(怎么产出的)、impact=能力与危害、
poc=使用/复现方法、description=内容说明、iocs/detectionRule 按需。
- 状态=分析语义三态:pending=分析中 / suspect=疑似(还原三验未全过或静态线索未到定论强度——
合法中间态,不强行升格)/ verified=已定论(字节/指令级证据支撑);复核后 `redteam_finding_update` 回写;
作废产物 `redteam_finding_delete`。页面按样本分组(sampleHash 聚合同一样本的全部产物,跨会话同样本聚合)。
## 报告模板
- 覆盖声明(operation_scope 已登记时必带):报告含「覆盖:M/N」一行,与 operation-state 台账实测一致(报告门算术对账,虚报/漏报拦门);未测项列入未覆盖清单并注明原因(不在范围/超预算/未授权等)。
- 与 pentest 同构六字段:漏洞/恶意行为名称 / 描述 / 等级 / 地址(虚拟地址+文件偏移) /
分析过程(静态+动态过程、关键反汇编片段、字节级证据、复现条件)/
修复/处置建议(IOCs、检测规则建议、修复点)。
- 未证实结论一律标「疑似」;等级与验证程度挂钩。
- 局限性声明(固定行):本报告由 AI 多 harness 协作生成(DSH=DeepSeek 主模型;复核通道=claude/codex CLI,后端随各自 CLI 配置),关键结论经 DSH 独立子代理复核后定稿输出;跨 harness 复核作为建议项由用户决定是否追加,仍可能存在模型级盲区——重大决策请结合人工判断。
## 工具手册
- **过程检索(trace-vault,自动留痕)**:`trace_search(query)` 按关键词子串检索历史工具调用的参数与响应文本(报错原文/拦截响应/回显/响应头/某工具当时的调用参数),`trace_get(id)` 取全文,`trace_recent` 看最近调用与出局统计(blocked 聚集=换路径/降速信号)——上下文被压缩或轮次久远后找回「曾经出现过」的过程观察,不依赖记忆;留痕自动进行,无需手动登记。
### 工具使用策略(总纲)
- **通道决策三原则(binary 特化)**:①**静态优先、动态须隔离**(动态隔离铁律);
②**样本外传须登记**——经 kali MCP/任何远程通道把样本/镜像移出本机时,哈希登记
provenance,含敏感数据的样本先问用户;③产物结构化落盘(trace/伪代码/dump 进
artifacts/<hash>/,长输出走 A8 纪律)。
- **工具平面检测制**:期望工具集不声称已装,开工检测为准;tool-plane 节四列——CLI
(command -v,批量 tool-plane.sh/.ps1)/ MCP(自省 `mcp__*`;涉 VM/沙箱任务另含
「虚拟化平面」行)/ installed-by-agent / install-failed。
- **探测合并(多工具时)**:批量跑 `shared/scripts/tool-plane.sh`(Windows 用 `tool-plane.ps1`;参数=本手册期望工具清单),单次紧凑表直接登记 tool-plane 节——替代逐条 `command -v` 回显。
- **通道完整阶梯(与前几模式同构,每级有出口有留痕)**:①已挂直接用(本机 CLI=主通道);
②可自配 MCP(白名单制);**IDA/Ghidra MCP=需服务型**(实例须跑着;GUI 类同 dnSpy 原则
不自动开,请用户配合);**kali MCP=远程备胎且样本外传须登记**(r2/binwalk/volatility——
样本移到用户受控 kali 可行,但哈希登记 provenance、敏感样本先问);
③安装阀门(CLI 缺失首问,批准=会话预授权;失败 3 次重试判死登记后降级;项目目录优先);
④脚本兜底(python3 优先〔struct/capstone 解析、xor/解密器、IAT 重建等〕→ shell → ps1,
落 scripts/ 先自测);⑤诚实降级(动态环境全缺时静态结论+缺口登记,不虚构);
收口卸载阀门(报告后按 installed-by-agent 问卸载)。
- 期望工具集:核心 = 附录 A(结构解析/反汇编/调试主链),补充 = 附录 B(反编译器/
符号执行/固件扩展);缺失不阻断开工,走通道完整阶梯。平台专属工具(otool/lldb 等 macOS
系)在非 macOS 环境换对应工具(readelf/gdb),按检测结果自适应。
- **跨平台(win/mac/linux)**:哈希与字节证据命令按公约翻译(shasum/sha256sum/Get-FileHash、
xxd/Format-Hex);Windows 侧调试/脱壳用 x64dbg+Scylla(附录 B);mingw 工具链自带
strip/objcopy 可用其 x86_64-w64-mingw32- 前缀版本。
### 能力级降级链(C-2:跨阶段复用查询)
| 能力 | 首选 | 降级 | 兜底 | 判定依据 |
|---|---|---|---|---|
| 结构解析/分诊 | 本地 file/objdump/otool | r2(本地→kali MCP **样本外传须哈希登记+敏感先问**) | python struct 脚本 | 离线优先 |
| 静态反汇编/反编译 | 本地 ghidra headless / r2 / IDA(**需服务型**:实例须跑着;GUI 不自动开,请用户配合) | objdump+capstone 脚本化 | 只读 disasm + 人工 | 产物形态 |
| 动态分析 | **隔离 VM 内** frida/lldb/gdb(公约 VM 级判据) | qemu 用户态仿真(无 VM 时部分场景) | 静态优先+缺口登记 | 隔离铁律 |
| 脱壳/还原 | upx/专用 unpacker(本地) | dump+IAT 重建脚本(附录已有) | 交生态(audit 审还原产物) | 还原完整性 B1 |
| 反虚拟化检测对抗 | 环境伪装(按检测面) | hook → patch(登记)→ 换环境(用户确认制) | 回静态如实记录 | 检测面定位 |
| 取证联动 | volatility3(本地) | kali MCP(镜像外传登记) | 脚本解析 | 协同 IR |
GitHub에서 보기