mavhezha/dfir-triage-tool

GitHub: mavhezha/dfir-triage-tool

基于真实Linux入侵事件构建的自动化DFIR分类工具,可对日志、内存、网络、磁盘和恶意软件进行多维度取证分析并生成HTML报告。

Stars: 0 | Forks: 0

# dfir-triage-tool 基于对模拟 Linux 入侵事件在六个取证领域的实际调查经验构建。 ## 概述 `dfir-triage` 是一个用于数字取证和事件响应(Digital Forensics and Incident Response)的双组件自动化分类工具: - **`dfir-triage.sh`**:Bash 脚本,可对所有证据类型进行快速自动化分析 - **`report.py`**:Python 报告生成器,可生成专业的多标签 HTML 报告 该工具旨在自动化解决完整 DFIR CTF 比赛时使用的精确手动调查步骤,重构攻击者的杀伤链,从初始侦察到 rootkit 部署和数据泄露。 ## 检测内容 | 模块 | 证据来源 | 检测项 | |--------|----------------|------------| | 1: 日志分析 | auth.log、apache 日志、syslog、kern.log | 暴力破解 IP、Web shell 上传、后门用户、C2 回连、rootkit、cron 持久化 | | 2: 内存取证 | Volatility 输出(pslist、cmdline、bash history、netscan) | 伪装进程、恶意二进制文件、攻击者命令、活跃 C2 连接 | | 3: 网络取证 | 通过 tshark 分析 PCAP 文件 | C2 域名、DNS 数据泄露、端口扫描、反向 shell 会话 | | 4: 磁盘取证 | 原始磁盘镜像(.dd、.img) | 隐藏目录、清理脚本、已删除文件恢复、文件雕刻 | | 5: 恶意软件分析 | ELF/EXE 二进制文件、VBA 宏 | 硬编码 IP/URL、伪造 User-Agent、编码 payload、沙箱逃逸 | | 6: 时间线构建 | 以上所有 | MITRE ATT&CK 映射的按时间顺序排列的攻击时间线 | ## 使用方法 ``` # 使其可执行 chmod +x dfir-triage.sh # 使用所有证据源运行 ./dfir-triage.sh \ -l /path/to/logs \ -m /path/to/volatility/output \ -n /path/to/capture.pcap \ -d /path/to/disk.dd \ -w /path/to/malware/samples \ -a \ -c # 生成 HTML 报告 python3 report.py --input ./output/ --title "Incident Report" # 打开报告 open ./output//report.html ``` ### 参数 | 参数 | 描述 | |------|-------------| | `-l ` | 包含日志文件的目录 | | `-m ` | 包含 Volatility 输出文件的目录 | | `-n ` | 用于网络取证的 PCAP 文件 | | `-d ` | 磁盘镜像文件(.dd 或 .img) | | `-w ` | 包含恶意软件样本的目录 | | `-a ` | 已知的攻击者 IP 地址 | | `-c ` | 已知的 C2 IP 地址 | | `-o ` | 自定义输出目录 | | `-h` | 显示帮助 | ## 输出 每次运行都会创建一个带时间戳的输出文件夹: ``` output/ └── 2026-04-04_18-20-28/ ├── timeline.txt ← Chronological MITRE ATT&CK mapped attack timeline ├── findings.json ← All findings in structured JSON ├── report.md ← Markdown report └── report.html ← Professional tabbed HTML report ``` ### HTML 报告标签页 - **摘要**:按严重程度(严重 / 高 / 中 / 信息)分类的发现 - **发现**:完整的颜色编码发现表格 - **时间线**:按时间顺序排列的攻击时间线,包含 MITRE ATT&CK 阶段 - **MITRE ATT&CK**:覆盖摘要,显示观察到的阶段 ## 跨模块关联 该工具的一个关键特性是模块之间的自动交叉引用。当模块 1 在防火墙日志中发现 C2 IP 时,模块 2 会检查该 IP 是否也出现在进程命令行参数中。当模块 5 在恶意软件样本中发现攻击者 IP 硬编码时,它会确认是否与模块 1 在暴力破解检测中发现的内容匹配。 这意味着发现不是孤立的:它们会在多个独立证据源中自动验证。 ## 示例输出 ``` ════════════════════════════════════════════════════════════ MODULE 1: LOG ANALYSIS ════════════════════════════════════════════════════════════ [*] Analysing logs in: ./test-logs [1.1] SSH Brute Force Detection [CRITICAL] Brute Force: IP 198.51.100.47 made 83 failed SSH attempts [1.2] Web Shell Detection [CRITICAL] Web Shell Upload: PHP file uploaded via POST: /uploads/shell.php [CRITICAL] Web Shell Execution: Shell executed 3 commands via HTTP [1.3] Backdoor User Detection [CRITICAL] Backdoor User: New user created: svc-backup [1.4] C2 Callback Detection [CRITICAL] C2 Callback: Outbound connection to 203.0.113.99:4444 [1.5] Rootkit Detection [CRITICAL] Rootkit: Malicious kernel module loaded: rootkit_mod [CRITICAL] Rootkit: Process hidden by rootkit: PID 31337 [1.6] Cron Persistence Detection [HIGH] Cron Persistence: Malicious cron job: [*/5 * * * *] /tmp/.hidden/beacon.sh [1.7] Directory Scanning Detection [HIGH] Reconnaissance: Directory scanning detected: DirBuster from 198.51.100.47 ``` ## 需求 **Bash 脚本(`dfir-triage.sh`):** - Bash 4.0+ - 标准 Unix 工具:grep、awk、sed、sort、uniq、find、strings、file、sha256sum - 可选:tshark(网络取证)、foremost(文件雕刻) **Python 报告(`report.py`):** - Python 3.6+ - 无外部依赖:仅使用标准库 ## 背景 该工具直接基于一个模拟 Linux Web 服务器入侵的六挑战 DFIR CTF 调查构建。工具中的每个检测都对应于该调查中的真实发现: - 暴力破解检测发现相同的攻击者 IP `198.51.100.47` - Web shell 检测发现相同的 `shell.php` 上传 - Rootkit 检测发现相同的 `rootkit_mod` 隐藏 PID `31337` - C2 检测发现相同的 `203.0.113.99:4444` 回连 原始调查的完整分析报告可在 [linux-breach-investigation](https://github.com/mavhezha/linux-breach-investigation) 仓库中获取。 ## 作者 **Arnold Mavhezha** MS Cybersecurity:Yeshiva University 渗透测试工程师 | 安全工程师 | DFIR 分析师 [mavhezha.com](
标签:API接口, Atomic Red Team, BurpSuite集成, C2检测, CISA项目, Cloudflare, DAST, Go语言工具, HTML报告, IP 地址批量处理, MITRE ATT&CK, PCAP分析, Python, SecList, tshark, webshell检测, XXE攻击, 云安全监控, 免杀技术, 内存取证, 取证调查, 子域名变形, 库, 应急响应, 应用安全, 恶意软件分析, 持久化检测, 攻击链分析, 数字取证, 数据泄露, 数据泄露检测, 文件恢复, 文件雕刻, 无后门, 无线安全, 时间线构建, 暴力破解检测, 根kit检测, 横向移动, 磁盘取证, 编程规范, 网络信息收集, 网络安全审计, 自动化脚本, 静态分析