Rootless-Ghost/EndpointForge
GitHub: Rootless-Ghost/EndpointForge
一款基于 Python 和 Flask 构建的轻量级跨平台端点安全审计工具,覆盖进程、文件、网络、注册表和持久化检测,并将所有发现映射到 MITRE ATT&CK 技术。
Stars: 0 | Forks: 0
# EndpointForge
**跨平台端点安全监控器**
一个轻量级的基于主机的入侵检测和端点分类工具,针对 Windows 和 Linux 系统提供了 MITRE ATT&CK 映射。使用 Python 和 Flask 构建。




## 概述
EndpointForge 跨越四个核心安全支柱监控端点,检测可疑活动并将所有发现结果映射到 MITRE ATT&CK 技术:
| 支柱 | Windows | Linux | 描述 |
|--------|---------|-------|-------------|
| **进程执行** | ✅ | ✅ | 进程枚举、父子层次结构、核心进程基线验证 |
| **文件系统完整性** | ✅ | ✅ | 使用 SHA-256 哈希的 FIM、关键文件监控、更改检测 |
| **网络连接** | ✅ | ✅ | 映射到进程的活动连接、可疑端口检测 |
| **注册表修改** | ✅ | — | 持久化键监控、可疑值模式检测 |
### 额外检测
- **持久化机制** — Windows 自动运行、计划任务、服务、启动文件夹 / Linux cron 作业、systemd 服务、shell 配置、init 脚本
- **MITRE ATT&CK 映射** — 每项发现均标记有技术 ID
- **严重性评分** — 严重、高危、中危、低危、信息
- **报告生成** — Markdown 和 JSON 导出
## 功能特性
### 进程执行分析
- 枚举正在运行的进程,获取 PID、PPID、命令行参数和用户上下文
- 构建父子进程层次结构
- **Windows 核心进程基线** — 验证 System、smss.exe、csrss.exe、wininit.exe、services.exe、lsass.exe、svchost.exe 和 explorer.exe 是否从正确的路径运行,并具有预期的父进程和实例计数
- 标记可疑的进程名称(已知的攻击工具)和异常的执行路径
### 文件系统完整性监控 (FIM)
- 使用 SHA-256 文件哈希对关键目录建立基线
- 在后续扫描中检测新增、修改和删除的文件
- 监控关键系统文件(hosts、SAM、shadow、sudoers、sshd_config)
- 标记可疑的文件扩展名(被监控路径中的 .exe、.ps1、.bat、.sh、.elf)
### 网络连接分析
- 将所有活动连接映射到其所属进程
- 检测已知可疑端口(4444、5555、6666、9999 等)上的连接
- 标记具有外部连接的意外进程
- 识别高风险监听器(shell、netcat)
### 注册表修改监控 (Windows)
- 扫描 Run/RunOnce 键、Winlogon、Services、IFEO、COM CLSID
- 检测注册表值中的编码 PowerShell、下载 Cradles 和可疑路径
- 标记 Image File Execution Options (IFEO) 调试器劫持
### 持久化检测
- **Windows:** 注册表运行键、计划任务、服务、启动文件夹
- **Linux:** Cron 作业(系统 + 用户)、systemd 服务、shell 配置(.bashrc、.profile、.zshrc)、rc.local
- 针对所有持久化位置中的可疑指标进行模式匹配
### 报告
- 包含执行摘要、按模块分类的发现、MITRE 映射表和建议的 Markdown 报告
- 用于 SIEM 摄取和自动化管道的 JSON 导出
- 跨所有模块的按严重性排序的发现结果
## 演示模式
EndpointForge 包含一个**演示模式**,其中包含用于作品集演示的真实模拟端点数据。演示数据包含模拟的 Windows 入侵场景,具体如下:
- 从用户可写目录运行的伪装 svchost.exe
- 带有隐藏窗口的编码 PowerShell 执行
- 端口 4444 上的反向 shell 连接
- Netcat 绑定 shell 监听器
- 被修改的 hosts 文件和系统二进制文件
- IFEO 粘滞键后门
- 恶意计划任务和 cron 作业
- 通过注册表运行键和启动文件夹实现的持久化
## 安装说明
```
git clone https://github.com/Rootless-Ghost/EndpointForge.git
cd EndpointForge
pip install -r requirements.txt
python app.py
```
在浏览器中导航至 `http://localhost:5000`。
### 前置条件
- Python 3.10+
- Flask 3.0+
- psutil 5.9+(用于实时扫描)
## 使用说明
### 实时扫描
在目标端点上运行 EndpointForge,并使用 Web 界面触发针对实时系统的扫描。
### 演示模式
在任何页面上点击 **“Load Demo Data”** 即可查看模拟的扫描结果,而无需在实时系统上运行。
### 报告导出
运行扫描(实时或演示)后,导航至 **Reports & Export** 以生成 Markdown 或 JSON 报告。
## 项目结构
```
EndpointForge/
├── app.py # Flask application and API routes
├── requirements.txt
├── modules/
│ ├── process_monitor.py # Process execution analysis
│ ├── network_monitor.py # Network connection monitoring
│ ├── filesystem_monitor.py # File integrity monitoring
│ ├── registry_monitor.py # Registry modification detection
│ ├── persistence_monitor.py # Persistence mechanism detection
│ ├── report_generator.py # Markdown/JSON report generation
│ └── mitre_mapping.py # MITRE ATT&CK technique reference
├── templates/
│ ├── base.html # Base layout with sidebar navigation
│ ├── dashboard.html # Main dashboard
│ ├── processes.html # Process analysis page
│ ├── network.html # Network analysis page
│ ├── filesystem.html # FIM page
│ ├── registry.html # Registry analysis page
│ ├── persistence.html # Persistence detection page
│ └── reports.html # Report generation page
├── static/
│ ├── css/style.css # Dark theme stylesheet
│ └── js/main.js # Frontend JavaScript
├── baselines/ # FIM baseline storage
└── exports/ # Generated reports
```
## MITRE ATT&CK 覆盖范围
| 战术 | 技术 |
|--------|-----------|
| **Persistence** | T1547.001, T1053.005, T1053.003, T1543.003, T1543.002, T1546.004, T1546.015, T1547.009 |
| **Execution** | T1059.001, T1059.003, T1059.004, T1204.002 |
| **Defense Evasion** | T1036.005, T1070.001, T1070.002, T1112 |
| **Discovery** | T1057, T1049, T1083 |
| **Command and Control** | T1071.001, T1571 |
## 技术栈
- **后端:** Python, Flask
- **前端:** HTML, CSS, JavaScript (原生)
- **分析:** psutil, hashlib, subprocess
- **框架:** MITRE ATT&CK
- **导出:** Markdown, JSON
## 路线图
### v1.1 — Wazuh SIEM 集成
- [ ] 将 JSON 日志导出到 Wazuh 代理监控路径 (`/var/ossec/logs/endpointforge/`)
- [ ] 针对 EndpointForge JSON 日志格式的自定义 Wazuh 解码器
- [ ] 根据 EndpointForge 发现结果映射到 MITRE ATT&CK 的自定义 Wazuh 规则
- [ ] Wazuh 主动响应模式 — 当端点上触发规则时自动触发扫描
- [ ] 仪表板集成 — EndpointForge 发现结果将在 Wazuh MITRE ATT&CK 面板中可见
### v1.2 — 检测增强
- [ ] Windows 事件日志分析(Security、Sysmon、PowerShell Operational)
- [ ] DNS 缓存检查以发现 C2 信标指标
- [ ] 命名管道枚举及已知恶意模式匹配
- [ ] DLL 劫持路径检测(可写入的 DLL 搜索顺序位置)
- [ ] 已加载驱动枚举并标记未签名驱动
### v1.3 — 报告与关联
- [ ] 针对收集的端点数据进行 Sigma 规则匹配(与 SigmaForge 配合使用)
- [ ] 对可疑可执行文件进行 YARA 扫描(与 YaraForge 配合使用)
- [ ] 时间线视图 — 跨所有模块的统一按时间顺序展示
- [ ] 差异扫描 — 将当前状态与已保存的基线快照进行比较
- [ ] PDF 报告导出
### 未来计划
- [ ] 通过 WinRM/SSH 进行远程扫描(通过单一控制台管理多个端点)
- [ ] 具有告警阈值的计划自动扫描
- [ ] 与 EndpointTriage 集成,实现持续监控 + 按需取证收集
- [ ] 使用 VirusTotal API 哈希查找标记的进程和文件
- [ ] 根据可疑网络发现结果生成 Snort 规则(与 SnortForge 配合使用)
## 许可证
本项目采用 MIT 许可证授权 — 详见 [LICENSE](LICENSE)。
由 [Rootless-Ghost](https://github.com/Rootless-Ghost) 构建
标签:API接口, Cloudflare, DNS 解析, EDR, Flask, HIDS, MITRE ATT&CK, Python, SHA-256, x64dbg, 多模态安全, 安全取证, 安全基线, 库, 应急响应, 持久化检测, 教学环境, 数据包嗅探, 数据可视化, 无后门, 无线安全, 注册表监控, 流量嗅探, 端点安全, 端点防护, 网络安全, 网络连接映射, 脆弱性评估, 补丁管理, 进程分析, 逆向工具, 隐私保护