关于 dfir
用于数字取证与事件响应的技能,可分析日志、网络捕获、文件系统痕迹和内存证据。它帮助调查人员跨来源关联发现并重建事件时间线,包括 Active Directory 攻击链。
主要功能
- 01Windows 事件日志分析
- 02网络捕获取证
- 03文件系统痕迹分析
- 04内存转储分析
- 05跨来源时间线重建
- 06Active Directory 攻击检测
适用场景
- 01重建事件时间线
- 02检测 Active Directory 攻击
- 03关联日志与网络证据
- 04调查持久化痕迹
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ transilienceai/ communitytools --skill dfir安装后在 Claude Code 中输入/dfir确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/c2-traffic-decryption.mddfir-principles.mdfilesystem-forensics.mdINDEX.mdnetwork-forensics.mdreference/scenarios/ad-attack-detection/dcsync-detection.mdgolden-ticket-detection.mdkerberos-roast-detection.mdlateral-movement-indicators.mdreference/scenarios/filesystem/lnk-file-analysis.mdntfs-mft-analysis.mdprefetch-analysis.mdshellbags-userassist.mdtimeline-creation.mdreference/scenarios/log-analysis/linux-auth-logs.mdsplunk-spl-queries.mdsysmon-rules.mdwebserver-logs.mdwindows-event-logs.mdreference/scenarios/malware/cobalt-strike-beacon-config-extraction.mdmalicious-browser-extension-exfil.mdreference/scenarios/memory/injected-code-detection.mdmemory-credential-extraction.mdnetwork-artifacts-from-mem.mdnimplant-minidump-task-recovery.mdvolatility-process-analysis.mdreference/scenarios/pcap/c2-traffic-decryption.mdcredential-extraction.mddns-tunneling-detection.mdhttp-objects-export.md详细介绍
数字取证与事件响应(DFIR)
通过分析事件日志、网络抓包和文件系统痕迹来调查安全事件。检测并重建 AD 攻击链。
技术
| 领域 | 主要能力 |
|---|---|
| Windows 事件日志 | EVTX 解析、事件 ID 关联、登录跟踪、权限枚举 |
| 网络取证 | PCAP 分析、NTLM 提取、LLMNR/NBT-NS 投毒检测、中继识别 |
| 文件系统取证 | MFT 解析、Prefetch 分析、VSS 痕迹恢复、Linux 持久化、时间线重建 |
| AD 攻击检测 | Kerberoasting、AS-REP roasting、NTDS 转储、NTLM 中继、凭据窃取 |
| 内存取证 | Volatility3 分析:进程树、文件提取、SID 解析、命令行 |
| 哈希分析 | 从 pcap 构造 NTLMv2 哈希、离线破解验证 |
工作流
- 盘点证据 — 列出所有痕迹(EVTX、pcap、MFT、Prefetch、注册表)
- 解析结构化数据 — 使用
python-evtx解析 EVTX,使用tshark解析 pcap,使用analyzeMFT解析 MFT - 识别攻击指标 — 关键事件 ID、可疑流量模式、异常文件
- 跨来源关联 — 匹配不同痕迹中的时间戳、IP、LogonID 和进程 ID
- 重建时间线 — 使用 UTC 时间戳构建按时间顺序排列的攻击链
- 回答调查问题 — 将发现对应到具体的事件响应查询
工具
pip install python-evtx windowsprefetch analyzeMFT
brew install wireshark p7zip hashcat
| 工具 | 用途 |
|---|---|
python-evtx | 解析 Windows .evtx 文件 |
tshark | CLI pcap 分析(NTLM、LLMNR、SMB 过滤器) |
analyzeMFT | 解析 NTFS 主文件表 |
windowsprefetch | 解析 Windows Prefetch 文件(仅限 Windows 主机) |
hashcat | 哈希破解(NTLMv2 模式 5600,Kerberos 模式 13100/18200) |
volatility3 | 内存转储分析(pstree、filescan、dumpfiles、getsid、cmdline) |
7z | 解压 AES 加密的证据 ZIP 文件 |
快速参考:关键事件 ID
| 事件 ID | 日志 | 表示 |
|---|---|---|
| 4624 | Security | 登录成功(检查 Type 和 IP 是否不匹配) |
| 4768 | Security | TGT 请求(PreAuthType=0 → AS-REP roast) |
| 4769 | Security | TGS 请求(EncType=0x17 → Kerberoast) |
| 4799 | Security | 已枚举组成员身份(VSS/ntdsutil) |
| 5140 | Security | 已访问网络共享 |
| 7036 | System | 服务状态更改(VSS 启动 → NTDS 转储) |
| 325/326/327 | Application | ESENT 数据库创建/分离/关闭 |
| 330 | Application | ESENT 数据库文件信息 |
| 3006/3008 | DNS Client Events | DNS 查询已发送/响应已接收(恶意域名查询) |
| 106/200 | Task Scheduler | 已创建/执行计划任务(通过 schtasks 实现持久化) |
参考
- windows-event-analysis.md — EVTX 解析模式和 AD 攻击检测
- network-forensics.md — 用于 NTLM、LLMNR 和中继检测的 PCAP 分析
- filesystem-forensics.md — MFT、Prefetch、VSS 痕迹分析
关键规则
- 答案格式:在取证问题要求给出代码变量(例如,PHP
$shell)的“值”时,请包含特定语言的字符串定界符和结束符(例如,'value';,而非仅写value)。请查看占位符提示,了解格式线索。 - 对于恶意 Office OOXML,检查范围不要局限于 VBA 流:攻击者可能会将分阶段的 Base64 或脚本内容拆分到绘图/对象描述符、共享字符串、命名单元格以及隐藏的 UserForm 控件标题/值中。
- 当 VBA 字节数组以
fnstenv/pop解码器桩开头时,请将有符号整数转换为原始字节,并先尝试使用 Shikata 风格的滚动 XOR 解码,再判断 shellcode 是否已损坏。 - 对于旧版 Excel BIFF/XLS 恶意软件,请检查
BOUNDSHEET记录中是否存在hidden或very hidden工作表,并特别检查 Excel 4.0 宏表;更改隐藏状态字节或直接解析工作表,可能会暴露分阶段字符串和标志片段,而这些内容不会出现在常规工作簿视图中。 - 对于 PCAP 中的 Webshell 流量,请先从上传的服务端代码中恢复静态密钥,再解密操作者的任务指令,然后再追踪后续载荷;如果某个 shellcode 阶段引用了落地的 XOR 密钥文件,请确认编码区域的实际起始位置,不要从偏移量 0 开始对整个二进制数据执行 XOR。
- PowerShell 分阶段加载器模式(原地反转 + base64 + IEX):当第 1 阶段的 PS 脚本先执行
[array]::Reverse($charArr),再执行FromBase64String("$charArr")时,-join行往往是个烟雾弹——字符数组的字符串插值会使用$OFS=' ',而FromBase64String会忽略空白字符。请反转原始 base64 字符串(而非带空格的拼接版本),然后解码以获取第 2 阶段。 - 多片段标志外传:取证挑战可能会将标志拆分为(a)恶意软件中硬编码的
$partN(已定义但从未引用,通常经过 base64 编码),以及(b)捕获到的 C2 POST 正文中的一个字段。请使用从泄露的第 2 阶段源代码中获取的静态 AES 密钥解密正文(PowerShellEncrypt-String会将IV‖ciphertext放在前面,然后再进行 base64 封装);检查每个 JSON 字段中是否还有进一步的 base64 编码。 - 所有时间戳均为 UTC ——请转换 PCAP/日志中的本地时区时间。AM/PM 陷阱:12:XX AM = 00:XX(午夜),12:XX PM = 12:XX(中午)。12 AM ≠ 01:00。
- 使用
python-evtx解析 EVTX(XML 命名空间:http://schemas.microsoft.com/win/2004/08/events/event) - 使用
tshark处理 PCAP(大文件不要使用 scapy)——使用-Y显示过滤器进行筛选 - 使用
dissect.util.compression.lzxpress_huffman解压 Win10 预取文件(MAM\x04 标头) - 对于 AES 加密的 ZIP(压缩方法 99),使用
7z,不要使用unzip
评论
支持 Markdown