Rootless-Ghost/EndpointForge

GitHub: Rootless-Ghost/EndpointForge

一款基于 Python 和 Flask 构建的轻量级跨平台端点安全审计工具,覆盖进程、文件、网络、注册表和持久化检测,并将所有发现映射到 MITRE ATT&CK 技术。

Stars: 0 | Forks: 0

# EndpointForge **跨平台端点安全监控器** 一个轻量级的基于主机的入侵检测和端点分类工具,针对 Windows 和 Linux 系统提供了 MITRE ATT&CK 映射。使用 Python 和 Flask 构建。 ![Python](https://img.shields.io/badge/Python-3.10+-blue?style=flat-square&logo=python) ![Flask](https://img.shields.io/badge/Flask-3.0+-green?style=flat-square&logo=flask) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE_ATT%26CK-Mapped-purple?style=flat-square) ![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux-cyan?style=flat-square)
## 概述 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, 多模态安全, 安全取证, 安全基线, 库, 应急响应, 持久化检测, 教学环境, 数据包嗅探, 数据可视化, 无后门, 无线安全, 注册表监控, 流量嗅探, 端点安全, 端点防护, 网络安全, 网络连接映射, 脆弱性评估, 补丁管理, 进程分析, 逆向工具, 隐私保护