aiagentmackenzie-lang/HATCHERY

GitHub: aiagentmackenzie-lang/HATCHERY

基于 Docker 的恶意软件沙箱引擎,通过自动化静态与动态分析实现样本安全引爆、行为监控和威胁情报导出。

Stars: 1 | Forks: 0

# HATCHERY — 恶意软件沙箱引擎 **基于 Docker 的恶意软件沙箱,具备实时行为监控、YARA/capa 分类以及 GHOSTWIRE C2 检测集成。** ## 功能介绍 HATCHERY 接收可疑二进制文件,在隔离的 Docker 容器中引爆它们,并实时观察其行为: 1. **静态分析** — 多重哈希计算、PE/ELF 解析、YARA 扫描、capa 能力提取、加壳检测 2. **动态分析** — Docker 容器引爆,结合 strace 系统调用跟踪、inotify 文件监控以及 tcpdump 网络抓包 3. **伪造网络** — 模拟 DNS/HTTP/SMTP 服务,使恶意软件误以为已联网(从而完全执行) 4. **IOC 提取** — 自动提取 IP、域名、URL、文件哈希、C2 信标 5. **威胁情报导出** — STIX 2.1 包、MITRE ATT&CK 映射、Markdown/JSON 报告 ## 快速开始 ``` # 安装 cd HATCHERY python3 -m venv .venv source .venv/bin/activate pip install -e . # 对示例运行静态分析 hatchery static suspicious.exe # 提交进行完整分析(静态 + 沙箱) hatchery submit suspicious.exe --timeout 120 # 检查分析状态 hatchery status # 生成报告 hatchery report --format markdown hatchery report --format stix # 构建沙箱 Docker 镜像 hatchery build ``` ## 架构 ``` Sample → Intake (hash/PE/ELF/strings) → Static (YARA/capa/packer) ↓ ↓ └──→ Sandbox (Docker container) ──→ Behavioral Monitor (strace/inotify/tcpdump) │ │ └──→ Fake Services (DNS/HTTP/SMTP) ↓ │ Event Stream (SSE) ↓ ↓ Network Capture (PCAP) ──→ GHOSTWIRE C2 Detection ↓ IOC Extraction → Report/STIX/ATT&CK ``` ## 技术栈 | 层级 | 技术 | 原因 | |-------|-----------|-----| | 容器隔离 | Docker + seccomp | 启动迅速,无需 VM 虚拟化底层 | | 进程监控 | strace (系统调用跟踪) | 零 Hook 方法 — 恶意软件更难检测 | | 网络抓包 | tcpdump + PCAP 分析 | 标准工具,提供数据给 GHOSTWIRE | | 伪造网络 | 定制 Python (DNS/HTTP/SMTP) | 类 INetSim — 诱骗恶意软件执行 | | 静态分析 | YARA 4.x + capa 9.0+ | 行业标准(各拥有 6K ⭐) | | CLI | Click + Rich | 精美的终端输出 | | C2 检测 | GHOSTWIRE 集成 | PCAP → 信标检测 → JA4+ 指纹识别 | ## 关键设计决策 ### Docker 而非 VM (Cuckoo/CAPE 方案) - **速度**:容器启动约需 1 秒,而 VM 启动需 30-60 秒 - **简单性**:无需 KVM/QEMU/VirtualBox 依赖 - **原生 strace**:在容器中原生运行 - **公认的权衡**:对抗逃避型恶意软件时,Docker 隔离性弱于 VM ### strace 而非 API Hooking (Cuckoo 方案) - **更难被检测**:从进程外部进行 ptrace;无注入的 DLL - **无客户机内 Agent**:恶意软件无法杀死不在其进程内的东西 - **完整覆盖**:捕获每一个系统调用 - **公认的权衡**:高级反调试技术可以检测到 ptrace ## CLI 参考 | 命令 | 描述 | |---------|-------------| | `hatchery submit ` | 完整分析:静态 + 沙箱 + IOC 提取 | | `hatchery static ` | 仅静态分析(不运行沙箱) | | `hatchery status ` | 检查分析任务状态 | | `hatchery report ` | 生成分析报告 | | `hatchery iocs ` | 提取 IOC | | `hatchery build` | 构建沙箱 Docker 镜像 | 选项: - `--timeout SECONDS` — 沙箱执行超时时间(默认:120 秒) - `--output DIR` — 结果输出目录 - `--no-sandbox` — 跳过容器执行(仅静态) - `--format FORMAT` — 报告格式:markdown, json, stix ## YARA 规则 自定义 HATCHERY 规则涵盖: | 类别 | 规则数 | 检测目标 | |----------|-------|---------| | 反调试 | 4 | IsDebuggerPresent、定时检查、PEB 检查、OutputDebugString | | 沙箱逃避 | 5 | Sleep 炸弹、桌面检查、VM 痕迹、进程枚举、驱动程序检查 | | 加壳 | 6 | UPX、VMProtect、Themida、MPRESS、NSIS、通用高熵 | | 网络 C2 | 3 | HTTP C2、Socket C2、DNS 隧道/DGA | 将更多规则添加到 `engine/static/rules/hatchery/` — 它们会在首次扫描时自动编译。 ## GHOSTWIRE 集成 HATCHERY 将沙箱 PCAP 提交给 [GHOSTWIRE](../GHOSTWIRE/) 用于: - **C2 信标检测** — 对网络会话进行统计抖动分析 - **JA4+ 指纹识别** — 从 HTTPS 流量中进行 TLS 指纹识别 - **DNS 威胁检测** — DGA 模式分析 - **STIX 导出** — 两种工具均导出兼容的 STIX 2.1 包 ## API 与仪表盘 ``` # 启动 API 服务器 cd server && npm install && npm run dev # → http://localhost:3002 # 启动仪表板 cd dashboard && npm install && npm run dev # → http://localhost:5174 ``` ### API 接口 | 方法 | 端点 | 描述 | |--------|----------|-------------| | POST | `/api/submit` | 提交样本进行分析 | | POST | `/api/submit/:id/retry` | 重试失败的分析 | | GET | `/api/tasks` | 列出所有任务 | | GET | `/api/tasks/:id` | 任务详情 + 静态/沙箱结果 | | GET | `/api/tasks/:id/events` | 行为事件(分页,可过滤) | | GET | `/api/tasks/:id/network` | 网络连接 | | GET | `/api/tasks/:id/filesystem` | 文件系统更改 | | GET | `/api/tasks/:id/report` | 完整报告 (JSON/Markdown/STIX) | | GET | `/api/tasks/:id/iocs` | IOC 提取 (JSON/STIX/text) | | GET | `/ws` | 用于实时事件流的 WebSocket | ### 仪表盘功能 - 🔥 **样本上传** — 拖拽或路径输入 - 🔴 **实时时间线** — 实时滚动的行为事件流 - 🌳 **进程树** — D3.js 父→子可视化(大小 = 事件数,颜色 = 威胁级别) - 🌐 **网络面板** — 带 GHOSTWIRE 集成提示的连接日志 - 📁 **文件系统视图** — 可疑路径警报 (/tmp, .bashrc, /dev/shm) - 🎯 **IOC 面板** — 按类型分组、一键复制、STIX 导出 - 🔍 **YARA/capa 结果** — 规则匹配、ATT&CK 映射、PE 分析 - 📊 **实时指示器** — 连接到 WebSocket 时闪烁的红点 ## 已知局限性 1. **Docker ≠ VM 隔离** — 容器共享宿主机内核。使用 VM 检测的逃避型恶意软件不会被愚弄。这是已记录在案的特性,而非被隐藏。 2. **ptrace 检测** — 高级反调试恶意软件可以检测到 strace。生产环境沙箱使用虚拟机监控器(Hypervisor)级别的监控。 3. **Windows 恶意软件** — HATCHERY 运行 Linux 容器。PE 样本可以进行静态分析(YARA/capa/pefile),但动态执行需要 Windows 容器(未来增强功能)。 4. **无 VM 快照/恢复** — 与 Cuckoo 不同,我们不进行干净状态的快照/恢复。每次分析都会启动一个全新的容器。 **这些局限性是规范本身的特性** — 它们表明你了解其中的权衡,这比假装你的工具完美无缺更令人印象深刻。 ## 文件结构 ``` HATCHERY/ ├── engine/ │ ├── intake/ # Sample upload, hashing, PE/ELF/strings │ ├── static/ # YARA, capa, packer detection + rules/ │ ├── sandbox/ # Docker container manager + seccomp + Dockerfile │ ├── monitor/ # strace parser, file watcher, network capture, event stream │ ├── fake_services/ # DNS, HTTP, SMTP servers + manager │ ├── ioc/ # IOC extraction and aggregation │ ├── export/ # Report gen, STIX 2.1, MITRE ATT&CK mapping │ └── cli.py # Click CLI entry point ├── server/ # Fastify API + WebSocket + SQLite │ └── src/ │ ├── index.ts # Entry point + WS │ ├── routes/ # submit, status, report, iocs, analysis │ └── db/ # SQLite schema + queries ├── dashboard/ # React + Vite + Tailwind + D3 │ └── src/ │ ├── App.tsx # Main layout + state management │ └── components/ # Timeline, ProcessTree, NetworkPanel, etc. ├── samples/ # Test samples (EICAR + benign PE) ├── tests/ # Unit tests + fixtures ├── pyproject.toml # Python packaging ├── SPEC.md # Full architecture spec └── README.md # This file ``` ## 这证明了什么 | 技能 | HATCHERY 如何展示它 | |-------|-------------------------------| | 恶意软件分析 | 构建了一个沙箱 — 理解引爆、行为监控和 IOC 提取 | | 容器安全 | Docker 隔离 + seccomp + 网络沙箱化 | | Linux 内部原理 | strace 系统调用跟踪、inotify、进程树 | | 静态分析 | YARA 规则编写 + capa 能力提取 | | 伪造环境设计 | 类 INetSim 服务 — 理解逃避技术 | | 威胁情报 | STIX 2.1 导出、MITRE ATT&CK 映射 | | 实时系统 | 用于仪表盘的 SSE 事件流 | | 全栈工程 | Python 引擎 + Click CLI + Docker 集成 | *由 Raphael Main + Agent Mackenzie 构建 — 2026 年 4 月*
标签:Beacon Object File, C2检测, DAST, DNS 反向解析, Docker, ELF解析, IOC提取, IP 地址批量处理, pcap, PE解析, React, STIX, STIX 2.1, Syscalls, YARA, 云安全监控, 云资产可视化, 威胁情报, 安全分析平台, 安全响应, 安全防御评估, 库, 应急响应, 开发者工具, 微隔离容器, 恶意软件, 恶意软件分析, 搜索语句(dork), 样本引爆, 沙箱, 沙箱引擎, 网络信息收集, 网络安全, 网络流量分析, 自动化分析, 行为监控, 请求拦截, 跨站脚本, 逆向工具, 隐私保护, 静态分析