joemunene-by/ghostforensics

GitHub: joemunene-by/ghostforensics

一款内存取证自动化工具,封装 Volatility3 并集成 YARA 与 IOC 导出,用于加速事件响应与威胁分析。

Stars: 0 | Forks: 0

# GhostForensics 内存取证自动化工具,用于事件响应。封装 Volatility3 以自动化 RAM 转储分析、IOC 提取以及 SOC 团队的报告生成。 ## 功能 - **进程分析** — 提取进程树,检测隐藏进程、孤儿进程、名称伪装和重复系统进程 - **网络分析** — 提取连接,标记可疑端口、系统进程中的外部 IP 以及横向移动指标 - **注入检测** — 识别进程空洞化、DLL 注入、RWX 内存区域和反射式加载 - **句柄分析** — 检测可疑互斥体、敏感文件访问(SAM、NTDS.dit)以及跨进程句柄滥用 - **YARA 扫描** — 使用内置和自定义 YARA 规则扫描内存(支持或不支持 yara-python) - **IOC 提取** — 提取 IP、域名、URL、哈希值、注册表键和电子邮件,去重并导出为 STIX 2.1 格式 - **信誉检查** — 可选集成 VirusTotal 和 AbuseIPDB - **报告** — 控制台(Rich)、HTML(深色主题)和 JSON 输出格式 ## 安装 ``` pip install -e . ``` 可选依赖项: ``` # Volatility3 support pip install -e ".[volatility]" # YARA support pip install -e ".[yara]" # Everything pip install -e ".[all]" ``` ## 快速开始 分析内存转储(JSON 格式): ``` ghostforensics analyze examples/sample_dump.json ``` 生成 HTML 报告: ``` ghostforensics analyze examples/sample_dump.json --output report.html ``` 导出为 JSON: ``` ghostforensics analyze examples/sample_dump.json --output report.json --format json ``` ## 命令 | 命令 | 描述 | |------|-------| | `analyze` | 完整分析,包含所有模块 | | `processes` | 列出进程并检测异常 | | `network` | 列出网络连接并标记可疑项 | | `yara` | 使用 YARA 规则扫描 | | `ioc` | 提取 IOCs(支持 `--stix` 用于 STIX 2.1 导出) | | `report` | 生成独立报告文件 | ## 输入格式 GhostForensics 在未安装 Volatility3 的情况下也可工作,通过接受表示预处理内存转储数据的 JSON 文件。当 Volatility3 可用时,它也可以直接分析原始 `.raw`、`.dmp` 和 `.vmem` 文件。 ### JSON 格式 请参考 `examples/sample_dump.json` 了解完整模式。关键部分包括: - `processes` — 进程对象列表(pid、ppid、name、path、cmdline) - `connections` — 网络连接(本地/远程地址与端口、状态、pid) - `memory_regions` — 带保护标志的内存区域 - `handles` — 打开的句柄(互斥体、文件、注册表键) - `yara_matches` — 预计算的 YARA 匹配结果 - `extracted_strings` — 转储中的原始字符串 ## IOC 提取 GhostForensics 在所有分析模块中提取并分类指示器: ``` IOCs Extracted: 12 [high] ip-address: 45.33.32.156 — connection from svchost.exe (PID 4444) [high] ip-address: 185.220.101.42 — connection from svchost.exe (PID 4444) [medium] url: http://evil.com/payload.ps1 — raw_data [critical] ip-address: 91.215.85.209 — connection from powershell.exe (PID 4600) [low] email: admin@evil-corp.com — raw_data ``` 以 STIX 2.1 格式导出: ``` ghostforensics ioc examples/sample_dump.json --stix ``` ## YARA 规则 内置规则涵盖: - `malware_indicators.yar` — 恶意 API 调用、打包器签名和可疑用户代理 - `webshells.yar` — PHP、ASPX 和 JSP 网页后门模式 - `credentials.yar` — Mimikatz、凭证转储工具、SSH 密钥 - `persistence.yar` — 注册表运行键、计划任务、WMI 持久化 添加自定义规则: ``` ghostforensics yara dump.json --rules /path/to/custom/rules/ ``` ## 配置 创建 `config.yml`: ``` analyzer: enable_process_analysis: true enable_network_analysis: true enable_injection_analysis: true enable_handle_analysis: true enable_yara_scan: true enable_ioc_extraction: true yara: builtin_rules: true custom_rules_dirs: - /opt/yara-rules/ timeout: 60 reputation: enable_online_checks: true virustotal_api_key: ${VT_API_KEY} abuseipdb_api_key: ${ABUSEIPDB_API_KEY} report: output_format: html include_evidence: true include_remediation: true include_mitre: true ``` ``` ghostforensics analyze dump.json --config config.yml --output report.html ``` ## 开发 ``` pip install -e ".[dev]" make test make lint ``` ## 许可证 MIT 许可证。版权所有 (c) 2026 Joe Munene。
标签:AbuseIPDB, Ask搜索, DLL注入, DNS信息、DNS暴力破解, Homebrew安装, HTML报告, IOC提取, IP提取, JSON报告, NTDS.dit, Rich控制台, RWX内存, SAM文件访问, SecList, SOC工具, STIX 2.1, URL提取, VirusTotal, Volatility3, YARA扫描, YARA规则, 内存取证, 内存取证工具, 内存转储分析, 去重, 反编译, 取证自动化, 句柄分析, 可疑互斥体, 可疑端口, 哈希提取, 域名提取, 声誉检查, 外部IP检测, 控制台报告, 暗色主题, 横向移动指示, 注入检测, 注册表键提取, 流量审计, 漏洞发现, 系统分析, 网络分析, 自动化取证, 跨进程句柄滥用, 进程分析, 进程空洞, 逆向工具, 邮件提取