The-Black-Needles/case02-reveal-dfir-volatility3-aml

GitHub: The-Black-Needles/case02-reveal-dfir-volatility3-aml

一个结合Volatility 3内存取证与Pandas/SQL反洗钱规则设计的防御性网络安全实战作品集,展示从内存镜像分析到交易异常检测的完整调查流程。

Stars: 0 | Forks: 0

# Reveal DFIR Volatility3 AML ## 1) 执行摘要 **背景** 一台可访问财务数据的 Windows 工作站被 SIEM 标记为可能存在异常活动。为了确认是否遭到入侵并指导遏制措施,我们提取了该机器的**内存 dump**。 **范围** 识别**进程/命令行**、**外部连接**、**注入/持久化**迹象,并构建事件的**时间线**。 **Reveal Lab 范围与方法(摘要)** - **目标:** 了解**事件性质**、**受影响系统**、**时间线**和**影响**,以缓解风险并解决**根本原因**。 - **范围:** 针对 SIEM 在包含财务数据的工作站上发出的警报;分析的**工件**:来自 **Windows 10** 的内存 dump(约 2 GB)。 - **工具:** **Volatility 3**(插件架构 + 符号表),用于解释操作系统结构并提取证据。 **完整报告:** ➡️ [reports/IR_Reveal.md](https://github.com/The-Black-Needles/case02-reveal-dfir-volatility3-aml/blob/main/reports/IR_Reveal.md) ## 2) 关于此仓库 专注于防御性网络安全的实战作品集,涵盖**反欺诈/AML**、用于检测的 **Pandas/SQL** 以及 **DFIR** (Volatility 3)。 **目标:** 展示**规则设计**、**基于数据的调优**以及具备**高管级汇报**能力的**数字取证调查**。 ### 🔎 亮点(本仓库证明的内容) - **使用 Pandas/SQL 的 AML 规则:** 滑动窗口、聚合、数据富化以及**告警合并**。 - **内存 DFIR (Volatility 3):** 识别 **LOLBAS**(隐蔽的 PowerShell + WebDAV + rundll32)、**外部连接**及可疑的**持久化**。 - **高管汇报:** 简明且**可复现**的报告;实现版本控制的工件。 - **工程规范:** 结构清晰,本地运行简单,随时准备**演进规则和指标**。 ## 3) 技术栈与 Pipeline **技术栈:** Volatility 3 (DFIR),Python **Pandas/SQL** (AML 规则),Jupyter Notebooks,SQLite。 **Pipeline(高层架构):** 1. 收集/工件(内存 dump) 2. **DFIR 检测**(命令行,网络,模块) 3. **AML 检测**(基于 CPF/时间的突发规则) 4. **调查与关联**(时间线,IoCs) 5. **文档记录与调优**(报告,版本,测试) ## 4) 仓库内容 ``` . ├── data/ # dados (ex.: paysim.parquet) ├── notebooks/ # notebooks (EDA, regras, tuning) │ └── 01_eda.ipynb ├── reports/ │ ├── alerts/ # CSVs de alertas gerados (A/B/C + consolidado) │ ├── dfir/ # artefatos do Volatility (cmdline, netscan, dlllist...) │ └── IR_Reveal.md # relatório completo do lab Reveal (DFIR) ├── tests/ # amostras mínimas p/ testar regras A/B ├── SECURITY.md └── README.md ``` ## 5) 🧪 可复现性 - GitHub Codespaces 在 GitHub 打开仓库 → Code → Create codespace on main。 在 Codespaces 的终端中: ``` pip install -r requirements.txt python scripts/run_rules_min.py ``` 通过 Codespaces 的 Jupyter 打开 notebooks/01_eda.ipynb。 - **Notebooks** 位于 `notebooks/`(分步操作指南) - **CSVs** 位于 `reports/`(可作为表格打开的结果) - 在 GitHub 上进行**版本控制**(变更历史) - 位于 `tests/` 的**测试框架**(合成样本),用于在**不更改**真实证据的情况下验证检测。 ## 6) 🧠 规则包 (v1) — AML 与 DFIR **A) DFIR — WebDAV + rundll32 + 隐蔽的 PowerShell(扩展版)** - **思路:** 检测 **LOLBAS**(Living-off-the-Land 执行)。 - **来源:** \`reports/dfir/cmdline.txt\` + \`tests/dfir_cmdline_samples.txt\` 中的样本。 - **状态:** 原始工件中命中 0 次(会话可能未被捕获);在测试样本中**命中 1 次**(**概念验证**)。 - **输出:** \`reports/alerts/dayX_ruleA_webdav_rundll32_ext.csv\`。 **B) DFIR — svchost.exe → 外部 HTTP (80/81/8000/8080/8888)** - **思路:** 标记在 HTTP 端口上与**公网 IP** 通信的 \`svchost.exe\`(常见的滥用模式)。 - **来源:** \`reports/dfir/netscan.txt\` + \`tests/dfir_netscan_samples.txt\` 中的样本。 - **状态:** 原始切片中命中 0 次;在测试样本中**命中 1 次**(概念验证)。 - **输出:** \`reports/alerts/dayX_ruleB_svchost_http_like_external.csv\`。 **C) AML — 基于 CPF 的 1 小时突发(主动交付)** - **思路:** 标记在 **60 分钟**窗口内**交易量/金额异常**的客户。 - **逻辑(示例):** \`tx_count_60m >= 4\` **或** \`amount_sum_60m >= 1000\`。 - **输出:** \`reports/alerts/dayX_ruleC_aml_burst_1h.csv\`(示例数据集包含 ≥1 行)。 - **教学用途:** 展示**时间聚合**、**客户画像**及**可复现的告警**。 ## 7) 🕵️ DFIR (Reveal / Volatility 3) - **完整报告:** ➡️ [reports/IR_Reveal.md](https://github.com/The-Black-Needles/case02-reveal-dfir-volatility3-aml/blob/main/reports/IR_Reveal.md)` - **工件:** \`reports/dfir/\`(cmdline,netscan,dlllist,timeliner,提取内容) **调查结果摘要** - **确认 LOLBAS:** \`powershell.exe -windowstyle hidden\` + \`net use\` WebDAV + 远程 DLL 的 \`rundll32\` 调用。 - **外部网络:** \`svchost.exe\` (PID 1260) 发起 HTTP 请求 → \`196.204.4.8:80\`。 - **可能的持久化:** **Scheduled Task** \`{ED77AEE0-EAFB-4133-B544-9E7C5632D902}\`。 **建议** 拦截 IOCs;启用 **Script Block Logging**;使用 **ASR** 防御 \`rundll32\`/WebDAV 滥用;部署 **WDAC/AppLocker**。
标签:JARM, Volatility3, Windows 调试器, 代码示例, 内存分析, 反洗钱, 多线程, 库, 应急响应, 数字取证, 数据分析, 知识库安全, 自动化脚本, 逆向工具