rootXdeb/DecoyNet
GitHub: rootXdeb/DecoyNet
DecoyNet 是一个结合机器学习的自适应多协议蜜罐平台,通过模拟真实网络服务来检测、监控和分析攻击者行为,帮助安全团队收集威胁情报并提升防御能力。
Stars: 0 | Forks: 0
# DecoyNet:自适应网络欺骗平台
## 概述
DecoyNet 是一个智能网络欺骗平台,旨在检测和分析网络环境中的恶意活动。该系统通过模拟真实的网络服务和资源来吸引潜在攻击者,使安全团队能够在受控环境中观察攻击者行为、收集威胁情报并识别可疑活动。通过将欺骗技术与基于机器学习的分析相结合,DecoyNet 有助于提高威胁可见性和事件响应能力。
## 问题陈述
传统的安全解决方案通常侧重于检测已知威胁,但在识别新型或复杂的攻击技术时可能会遇到困难。组织在理解攻击者行为和获取可操作的威胁情报方面也面临着挑战。DecoyNet 通过创建逼真的诱饵服务来引诱攻击者,从而能够收集有价值的攻击数据,用于分析和改进防御。
## 主要功能
* 模拟真实网络服务的多服务蜜罐环境。
* 对攻击者活动进行实时监控和日志记录。
* 基于机器学习的威胁分类和分析。
* 威胁评分,帮助确定安全事件的优先级。
* 用于安全监控和可视化的交互式仪表板。
* 针对可疑活动自动生成告警。
* 出于取证和威胁情报目的收集攻击数据。
* 对捕获的事件进行集中报告和分析。
## 安装与使用
### 前置条件
在安装 DecoyNet 之前,请确保具备以下条件:
* Python 3.9 或更高版本
* Git
* Pip 包管理器
* 虚拟环境(推荐)
### 安装
克隆仓库:
```
git clone https://github.com/rootXdeb/DecoyNet.git
cd DecoyNet
```
创建并激活虚拟环境:
```
python -m venv venv
```
对于 Windows:
```
venv\Scripts\activate
```
对于 Linux/macOS:
```
source venv/bin/activate
```
安装所需的依赖项:
```
pip install -r requirements.txt
```
### 运行应用程序
使用以下命令启动应用程序:
```
python app.py
```
服务器启动后,打开浏览器并导航至:
```
http://127.0.0.1:5000
```
### 用法
1. 启动 DecoyNet 平台。
2. 配置蜜罐服务和监控选项。
3. 允许系统监听传入的连接和交互。
4. 通过仪表板监控攻击者活动。
5. 查看生成的告警、威胁评分和捕获的日志。
6. 分析收集到的数据以获取威胁情报并改进安全防御。
## 架构
```
Attacker hits any port
↓
Protocol listener captures session (SSH/HTTP/FTP/Telnet/MySQL/Redis/
SMTP/RDP/SMB/MongoDB/Elastic/VNC)
↓
BehaviorProfiler builds live feature vector
↓
ML Engine:
KMeans → which attack cluster?
IsolationForest → is this anomalous?
DecisionTree → bot / human / advanced?
↓
StrategyEngine selects: DEFLECT / OBSERVE / ENGAGE / TRAP
↓
Response adapts — same command, different content per strategy
↓
SIEM output: JSON + CEF + Syslog simultaneously
↓
Alert fires to Slack/email if CRITICAL
↓
Session saved → ML retrains → next attacker gets smarter response
```
## 协议覆盖范围
| 协议 | 端口 | 捕获内容 |
|---------------|-------|------------------------------------------|
| SSH | 2222 | 完整的自适应 shell,凭据收集 |
| HTTP | 80 | SQL 注入,路径遍历,Web shell |
| FTP | 21 | 匿名登录,暴力破解,上传 |
| Telnet | 23 | Mirai 僵尸网络,IoT 攻击 |
| MySQL | 3306 | 数据库暴力破解 |
| Redis | 6379 | 通过 cron 注入实现 RCE |
| SMTP | 25 | 垃圾邮件中继,钓鱼基础设施 |
| RDP | 3389 | BlueKeep 扫描器,勒索软件侦测 |
| SMB | 445 | EternalBlue/WannaCry 尝试 |
| MongoDB | 27017 | 暴露的数据库攻击 |
| Elasticsearch | 9200 | 数据窃取,索引枚举 |
| VNC | 5900 | 远程桌面暴力破解 |
## ML 模型
| 模型 | 用途 | 指标 |
|-----------------|-------------------------|-----------------|
| K-Means | 对攻击行为进行聚类分组 | Silhouette Score|
| Isolation Forest| 检测未知攻击模式 | Detection Rate |
| Decision Tree | 分类攻击者类型 | F1-Score |
模型每小时根据实时会话数据自动重新训练。
## 自适应策略引擎
| 策略 | 触发条件 | 响应行为 |
|----------|---------------------|----------------------------------------|
| DEFLECT | 检测到机器人/扫描器 | 最少的、略微错误的响应 |
| OBSERVE | 未知攻击者 | 正常响应,收集情报 |
| ENGAGE | 确认为人类 | 暴露虚假凭据和机密 |
| TRAP | 高级攻击者 | 针对其兴趣定制的诱饵 |
## SIEM 集成
| 输出 | 文件/目标 | 兼容平台 |
|---------------------|------------------------|-------------------------------------|
| JSON 事件 | logs/events.json | Elastic, Logstash, Graylog |
| CEF 事件 | logs/events.cef | Splunk, QRadar, ArcSight |
| Syslog | UDP/TCP 端口 514 | 任何 SIEM |
在 config.py 中配置:
```
SIEM_SYSLOG_HOST = "192.168.1.100" # your SIEM IP
SLACK_WEBHOOK = "https://hooks.slack.com/..."
ALERT_EMAIL = "soc@company.com"
```
## 仪表板页面
| 页面 | URL | 内容 |
|------------|------------------|--------------------------------------|
| Dashboard | / | 实时统计,图表,最近的会话 |
| Attacks | /attacks | 带有过滤器的完整攻击日志 |
| Clusters | /clusters | ML 聚类和协议分布 |
| Reports | /reports | 每日威胁报告,ML 指标 |
| API Docs | /api/docs | 所有已记录的 REST endpoint |
## Docker 部署
```
docker-compose up
```
所有 12 个 DecoyNet 端口 + 仪表板将自动启动。
## 项目结构
```
DecoyNet_platform/
├── ssh_engine/ Real Paramiko SSH server + adaptive shell
├── protocols/ HTTP, FTP, Telnet, MySQL, Redis, SMTP,
│ RDP, SMB, MongoDB, Elasticsearch, VNC
├── adaptive/ Strategy engine, behavior profiler,
│ response library, engagement traps
├── ml_engine/ K-Means, Isolation Forest, Decision Tree
├── analysis/ Threat scorer, attack chain, IOC extractor
├── correlation/ Cross-session attacker memory
├── siem/ JSON, CEF, Syslog output
├── alerts/ Email, Slack, webhook alerts
├── reports/ Daily HTML + JSON threat reports
├── intelligence/ Knowledge base, IOC manager
├── malware/ Safe capture, static analysis
├── database/ SQLite with full schema
├── dashboard/ Flask UI + REST API
├── evaluation/ ML evaluation + attacker simulator
└── security/ Firewall + hardening scripts
```
## 需要开放的端口(端口转发)
公开开放所有 DecoyNet 端口。将端口 5000 保持私有。
```
2222, 80, 21, 23, 3306, 6379, 25, 3389, 445, 27017, 9200, 5900
```
## 市场定位
| | Cowrie / T-Pot | Attivo / Illusive | DecoyNetAI |
|--|--|--|--|
| 自适应 ML 响应 | ❌ | ✅ | ✅ |
| 多协议统一 | ❌ | ✅ | ✅ |
| 内置 SIEM 输出 | ❌ | ✅ | ✅ |
| 跨会话记忆 | ❌ | ✅ | ✅ |
| 自动化报告 | ❌ | ✅ | ✅ |
| 一键部署 | ❌ | ❌ | ✅ |
| 经济实惠 | ✅ | ❌ | ✅ |
标签:Apex, BOF, Python, 威胁情报, 安全, 开发者工具, 插件系统, 攻防研究, 数据泄露, 无后门, 机器学习, 欺骗防御, 版权保护, 蜜罐, 证书利用, 请求拦截, 超时处理, 逆向工具