Kjean13/ADFT

GitHub: Kjean13/ADFT

一款用于离线分析 Windows 与 Active Directory 事件日志的取证工具包,检测并重建攻击路径。

Stars: 51 | Forks: 2

# ADFT v1.0 ADFT 是一个带有集成本地 Web UI 的离线 Active Directory / Windows 调查工具包。 此官方 v1.0 版本发布一个连贯的产品形态: - 规范的 ADFT 引擎 - CLI - 由后端提供的集成 GUI ADFT 摄入导出的证据,将所有支持的源转换为规范的 JSONL,应用确定性检测与关联,计算观察到的 AD 暴露分数,重建攻击进展,并生成调查与加固工件。 ## 快速概览 ADFT 分析离线的 Windows / AD / SIEM 方向数据集,并通过 CLI 与集成 GUI 生成调查工件。 ![ADFT CLI 摘要](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/50748c5fc0172712.png) ## v1.0 覆盖范围 ADFT v1.0 支持: - 规范的 JSONL 转换 - 从导出证据进行离线调查 - 确定性检测与关联 - 时间线重建与攻击路径渲染 - 观察到的 AD 暴露评分 - 加固发现与可选的 PowerShell 修复导出 - HTML、JSON 与 CSV 格式的报告工件 - ATT&CK Navigator、回放 JSON、Mermaid 图与完整性清单导出 - 由后端提供的集成本地 Web UI - 用于发布验证与运行时检查的 GUI 基准视图 ## 支持的输入格式 ADFT 接受多种格式的源证据,并在分析前将其转换为规范的 JSONL: - JSON / JSONL / NDJSON - EVTX - YAML / YML - CSV / TSV - CEF / LEEF - XML - LOG / SYSLOG / TXT - Markdown - ZIP ## 安装 推荐的一次性安装: ``` ./install_adft.sh ``` 推荐用于真实的 EVTX 验证: ``` ./install_adft.sh --run-demo ``` 手动安装: ``` python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip pip install -e ".[full]" ``` 开发安装: ``` pip install -e ".[full,dev]" ``` 详细的依赖说明列在 `docs/DEPENDENCIES.md`。 仓库说明:`pyproject.toml` 是打包的唯一真实来源。`install_adft.sh` 是 v1.0 的官方完整安装路径,`requirements-dev.txt` 仍可供贡献者与 CI 使用。 ## 主要命令 ``` adft convert test_logs -o converted_inputs adft investigate test_logs/attack.json -o reports_core --format html json csv --export-events-jsonl adft summary -o reports_core adft alerts -o reports_core --full adft score -o reports_core adft story -o reports_core --full adft attack-chain -o reports_core adft attack-path -o reports_core adft reconstruct -o reports_core --full adft harden -o reports_core --dry-run --export-scripts reports_core/remediation adft report -o reports_core ``` ## 集成 GUI 使用以下命令启动集成 GUI: ``` adft ui -o reports_gui --host 127.0.0.1 --port 8765 ``` 然后打开: ``` http://127.0.0.1:8765 ``` ![ADFT 基准](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/743f612034172716.png) GUI 由后端驱动:上传、转换、调查、告警、时间线、重构、图、基准与导出视图读取真实的 ADFT 运行状态,而不是在浏览器中重放业务逻辑。 ### 当前 GUI 特性 - 浏览器标签页标题与图标品牌为 **ADFT UI** - 静态资源以 no-cache 标头提供 - 针对后端状态与功能的工作刷新操作 - 居中实体图,支持平移、缩放、节点拖拽、有向边与时间窗口过滤 - 节点丰富信息,包含风险、首次出现 / 最后出现时间以及已知 IOC 标记(当证据存在时) - 带最大 50 个节点的分页图显示以减少分析师噪声 - 用于运行时与发布验证的基准标签页 ## 基于图的枢轴 ADFT 支持从选定枢轴进行基于图的调查,提供可见关系、时间范围限定与分析师导向的导航。 ![ADFT 图枢轴](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/db676c329c172721.png) ## 生成的工件 - `adft_report.html` - `adft_report.json` - `adft_report.csv` - `attack_navigator_layer.json` - `adft_replay.json` - `attack_graph.mmd` - `adft_integrity.json` - `.adft_last_run.json` - `converted_inputs/conversion_manifest.json` - `hardening_scripts.zip`(GUI 或 CLI 加固导出后生成) ## EVTX 依赖说明 EVTX 属于受支持的边界范围。 运行时,EVTX 转换需要 `python-evtx`。 没有它,EVTX 输入无法被成功解析。 这就是为什么官方 v1.0 推荐的安装路径是: ``` ./install_adft.sh ``` ## 规则包 此 v1.0 版本在确定性、可解释的流水线中提供 **34 条规则**。 ## 仓库布局 ``` adft/ cli/ command-line entry points core/ ingestion, normalization and data models detection/ deterministic rulepack and detection pipeline correlation/ alert grouping and campaign logic timeline/ timeline reconstruction graph/ entity graph and attack path analysis investigation/ case narrative and reconstruction helpers analysis/ scoring and data-quality analysis harden/ remediation and hardening logic reporting/ JSON, CSV and standalone HTML reports exports/ Navigator and replay exports ui_server.py integrated HTTP server and GUI backend bridge webui_dist/ packaged web UI assets served by the backend datasets/ demo datasets used for smoke tests frontend_source/ src/ React/Vite source for the integrated GUI ``` ## 验证 ``` pytest -q python3 main.py investigate adft/datasets/ransomware_pre_encryption_campaign.json -o /tmp/adft_release_reports --format html json csv --export-events-jsonl python3 main.py ui -o /tmp/adft_release_reports --host 127.0.0.1 --port 8765 ``` ## 基准与验证 ![ADFT 仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5506c6c318172724.png) 基准视图提供了一个紧凑的产品验证表面,包含运行指标与打包发布检查。 另见: - `docs/TESTING.md` - `docs/ARCHITECTURE.md` - `docs/DEPENDENCIES.md` - `docs/RELEASE_VALIDATION.md` ## UI 语言切换 集成 GUI 包含顶部栏中的持久化 FR/EN 语言切换。选项在浏览器中本地存储,并应用于主导航、屏幕与面向分析师的标签。 ## 演示数据集 ADFT v1.0 附带 `adft/datasets/ad_prod_investigation_post_siem_demo_1000_events.json`,用于端到端勒索软件演示,涵盖转换、时间线、图、告警与导出。
标签:Active Directory, AD取证, AD安全, ATT&CK Navigator, CSV报告, DInvoke, EVTX解析, GUI工具, HTML报告, HTTPS请求, JSONL, JSON报告, Mermaid图, PFX证书, Plaso, PowerShell remediation, TCP SYN 扫描, Web UI, Windows事件日志, Windows取证, 发布验证, 攻击检测, 攻击路径重建, 数据转换, 文档结构分析, 日志关联, 日志取证, 时间线重建, 暴露评分, 本地集成, 硬ening修复, 确定性检测, 离线调查, 证据导入, 调查取证, 调查工具包, 运行时检查, 逆向工具