casarezaz/dfir-scripts

GitHub: casarezaz/dfir-scripts

一套数字取证与事件响应分流脚本集合,帮助调查人员从日志、磁盘、内存和网络流量中快速提取关键证据与可疑指标。

Stars: 0 | Forks: 0

# dfir-scripts 数字取证与事件响应 (DFIR) 分流脚本集合。Python 脚本是跨平台的且依赖极少;PowerShell 脚本针对活动的 Windows 主机,且严格只读。 ## 目录结构 ``` log-analysis/ Event log and auth log triage ioc-tools/ IOC extraction and enrichment disk-forensics/ File hashing, timelines, suspicious file hunting memory-network/ Memory image triage, beacon detection, live response ``` ## 脚本 ### 日志分析 **windows_evtx_triage.py** — 解析 `.evtx` 文件(需要 `python-evtx`)或 JSONL 导出,并标记高价值事件:日志清除 (1102)、账户创建 (4720)、服务安装 (4697/7045)、计划任务 (4698)、组更改,以及匹配可疑模式(编码命令、下载载体、凭据窃取工具、卷影副本删除)的进程创建 / PowerShell 脚本块。 ``` python windows_evtx_triage.py Security.evtx -o findings.csv ``` **linux_auth_triage.py** — 解析 `auth.log`/`secure` 以检测 SSH 暴力破解、密码喷射、来自暴力破解 IP 的登录(最高优先级警报)、sudo 使用情况以及账户/组更改。 ``` python linux_auth_triage.py /var/log/auth.log --threshold 10 zcat auth.log.2.gz | python linux_auth_triage.py - ``` **Get-WinEventTriage.ps1** — 用于 Windows 主机的 evtx 分流的实时等效工具。在回溯时间窗口内查询安全/系统/PowerShell 日志,标记可疑脚本块,并检测失败登录的爆发。 ``` .\Get-WinEventTriage.ps1 -Hours 72 -OutputPath triage.csv ``` ### ioc-tools **ioc_extractor.py** — 从任何文本中提取 IP、域名、URL、电子邮件和 MD5/SHA1/SHA256 哈希。对已消除危害的输入(`hxxp`、`[.]`、`[at]`)进行恢复,去重,过滤噪音,并可以对输出重新消除危害以便安全共享。可选的富化通过 VirusTotal (`VT_API_KEY`) 和 AbuseIPDB (`ABUSEIPDB_API_KEY`) 进行。 ``` python ioc_extractor.py threat_report.txt --defang -o iocs.csv python ioc_extractor.py report.txt --enrich --json ``` ### 磁盘取证 **file_timeline.py** — 遍历目录树,对文件进行哈希处理(SHA256,可选 MD5),并生成 CSV 时间线或 mactime bodyfile。标记暂存目录中的可执行文件、双重扩展名、最近修改的二进制文件、隐藏的可执行文件以及 setuid/setgid 文件。 ``` python file_timeline.py /mnt/evidence -o timeline.csv --flagged-only python file_timeline.py /mnt/evidence --bodyfile -o body.txt # for mactime ``` **Find-SuspiciousFiles.ps1** — 对活动的 Windows 主机上常见的暂存目录(Temp、Downloads、ProgramData、Public、Recycle Bin)进行实时扫描,以查找可执行文件、双重扩展名、带有内容的备用数据流以及未签名的二进制文件。 ``` .\Find-SuspiciousFiles.ps1 -Days 30 -OutputPath sweep.csv ``` ### 内存与网络 **vol3_triage.py** — Volatility 3 包装器(需要在 PATH 中包含 `vol`),按操作系统运行精选的插件集,保存每个输出,并编写一份关于自动红旗警告的 `TRIAGE_SUMMARY.txt`:对 psscan 可见但对 pslist 不可见的 PID、malfind RWX 区域、异常的父/子进程对以及常用滥用端口上的连接。 ``` python vol3_triage.py memory.raw -d vol_output/ python vol3_triage.py memory.lime --os linux -d out/ ``` **pcap_beacon_detector.py** — 在 `.pcap`/`.pcapng`(需要 `scapy`)或 Zeek `conn.log`(TSV 或 JSON)中检测 C2 样式的信标。根据时间间隔的规律性、payload 大小的一致性和会话数对会话进行 0-100 的评分。 ``` python pcap_beacon_detector.py capture.pcap python pcap_beacon_detector.py conn.log --min-sessions 8 -o beacons.csv ``` **Invoke-LiveResponse.ps1** — 从活动的 Windows 主机进行只读的易失性数据收集,按易失性排序:网络连接(带有拥有进程)、进程(带有 SHA256 + 命令行)、DNS 缓存、登录/SMB 会话、服务、计划任务、注册表 autoruns、启动文件夹、本地用户/管理员以及 PowerShell 历史记录。输出使用 zip 压缩,并带有用于监管链的 SHA256 清单。 ``` .\Invoke-LiveResponse.ps1 -OutputRoot D:\collections ``` ## 安装 ``` pip install -r requirements.txt # optional deps: python-evtx, scapy, volatility3 ``` 每个 Python 脚本的核心功能仅使用标准库即可运行;可选包分别启用 `.evtx` 解析、pcap 解析和内存分析。 ## 注意事项 - PowerShell 脚本是只读的,不会对系统进行任何更改。请以提升的权限运行以获得完全覆盖。 - 这些是分流工具,旨在指导调查人员首先查看什么——不能替代完整的取证分析。 - 在实际任务中依赖其输出之前,请先在实验室中进行测试。 ## 许可证 MIT
标签:AI合规, IOC提取, IPv6, PowerShell, Python, SecList, 内存取证, 子域名变形, 库, 应急响应, 数字取证, 无后门, 知识库安全, 磁盘取证, 自动化脚本, 逆向工具