adlbrhm/aegisgrid
GitHub: adlbrhm/aegisgrid
面向 ICS/SCADA 环境的多层蜜罐威胁情报平台,通过模拟能源基础设施协议捕获攻击流量,并利用机器学习实时分类威胁,配合可视化仪表板呈现攻击态势。
Stars: 3 | Forks: 0
# 🛡️ AegisGrid — 威胁情报平台
**适用于 ICS/SCADA 环境的企业级欺骗与威胁情报平台**
[](https://github.com/adlbrhm/aegisgrid)
[](https://python.org)
[](https://flask.palletsprojects.com)
[](https://scikit-learn.org)
[](https://github.com/adlbrhm/aegisgrid/blob/main/LICENSE)
## 🎯 为什么选择 AegisGrid?
关键基础设施——特别是能源部门——是高级持续性威胁的主要目标。操作技术和工业控制系统 无法在不面临严重停机风险的情况下进行常规补丁修复。
**AegisGrid** 引入了一个**低交互网络欺骗平台**,用于模拟存在漏洞的能源基础设施。通过安全地实时捕获、分类和映射恶意流量,防御者可以在不暴露真实生产资产的情况下获得主动威胁情报。
## ✨ 主要特性
| 功能 | 描述 |
| :--- | :--- |
| 🔌 **多协议模拟** | 并发运行 SCADA (8888)、HTTP (8080) 和伪 SSH (2222) 蜜罐。 |
| 🧠 **两阶段分类器** | 通过正则表达式进行确定性攻击识别,并由随机森林机器学习模型提供支持以进行异常检测。 |
| 🌍 **实时 IP 地理定位** | 通过 `ip-api.com` 自动解析攻击者来源(国家、城市、ISP、坐标)。 |
| 📊 **实时 SOC 仪表板** | 高性能、暗色主题的 Web 界面,具有 Chart.js 分析功能和动画 SVG 世界地图。 |
| 💾 **高并发数据库** | 以 WAL (预写式日志) 模式运行的 SQLite 可确保在遭受大规模攻击负载时不会发生阻塞。 |
| 🔒 **企业级安全** | 内置限流、HTTP Basic Auth、严格的 CSP 标头以及零 DOM 抖动架构。 |
## 🏗️ 架构概述
系统解耦为两个并发执行的主要域:
1. **欺骗引擎(后台):** 监听目标端口,拦截流量,对有效载荷进行分类,解析地理位置,并记录到数据库。
2. **情报仪表板(前台):** 一个安全的基于 Flask 的 REST API 和 SPA 前端,可实时可视化数据库记录。
```
[Threat Actors] ──TCP──► [Multi-Port Listener] ──► [Attack Classifier]
│ (Regex + ML)
▼ │
[ip-api.com] ◄──HTTP─── [GeoIP Resolution] ◄─────────────────┘
│
▼
[SOC UI / Browser] ◄─── [Flask REST API] ◄─── [SQLite Db (WAL)]
```
## 🚀 快速开始与安装
**前置条件:** Python 3.12+ 和 Git。
```
# 克隆仓库
git clone https://github.com/adlbrhm/aegisgrid.git
cd aegisgrid
# 初始化 Virtual Environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# 安装 Dependencies
pip install -r requirements.txt
# 训练 ML Model(首次运行必需)
python ml/train_model.py
```
## 💻 Windows 本地演示
```
:: 1. Set password
set AEGISGRID_PASSWORD=demo123
:: 2. Launch the full system (honeypot engine + dashboard)
python run.py
```
仪表板:**http://127.0.0.1:5000** (登录:`admin` / `demo123`)
```
:: 3. In a second terminal — run demo attack scripts
python demo\scanner.py 127.0.0.1
python demo\bruteforce.py 127.0.0.1
```
## 🛡️ 生产环境部署 (AWS EC2 免费套餐)
AegisGrid 的设计开销极低,非常适合 **AWS EC2 免费套餐** Ubuntu 22.04+ 实例。
```
# 安装 Dependencies(兼容 Python 3.12)
pip install -r requirements.txt
# 训练 ML Model(首次运行必需)
python3 ml/train_model.py
# 设置生产凭据(强制 — 未设置应用拒绝启动)
export AEGISGRID_PASSWORD="your-secure-password"
export FLASK_ENV=production
# 启动完整系统
python3 run.py
```
仪表板:**http://EC2_PUBLIC_IP:5000** (登录:`admin` / 你的密码)
**AWS 安全组入站规则:**
| 端口 | 来源 | 目的 |
| :--- | :--- | :--- |
| 22 | 仅我的 IP | SSH 管理员访问 |
| 5000 | 仅我的 IP | SOC 仪表板 |
| 8888 | 0.0.0.0/0 | SCADA 蜜罐 |
| 8080 | 0.0.0.0/0 | HTTP 蜜罐 |
| 2222 | 0.0.0.0/0 | 伪 SSH 蜜罐 |
## 🎭 演示攻击脚本
通过在本地或针对你的 EC2 实例模拟攻击来验证仪表板:
```
# Windows(本地)
python demo\scanner.py 127.0.0.1
python demo\bruteforce.py 127.0.0.1
# Ubuntu EC2(远程 — 替换为你的 EC2 公网 IP)
python3 demo/scanner.py 最初作为项目 PRJN26-212 开发
标签:Apex, APT防御, BOF, Chart.js, CISA项目, Flask, HTTP/HTTPS抓包, HTTP仿真, ICS, IP地理定位, NTLM Relay, PKINIT, Python, SCADA, Scikit-Learn, SOC仪表盘, SSH仿真, 哈希传递, 多协议仿真, 威胁分类, 威胁情报, 密码管理, 工控安全, 开发者工具, 异常检测, 态势感知, 插件系统, 攻防研究, 数据可视化, 无后门, 机器学习, 欺骗防御, 网络安全, 网络安全数据可视化, 网络流量分析, 能源基础设施, 自定义脚本, 蜜罐, 证书利用, 调试辅助, 逆向工具, 防御绕过, 随机森林, 隐私保护