kkk0813/HTTP_IoT_Honeypot
GitHub: kkk0813/HTTP_IoT_Honeypot
一款面向教学与研究场景的轻量级 HTTP IoT 蜜罐,支持多厂商设备伪装、实时攻击可视化和 MITRE ATT&CK 分类。
Stars: 0 | Forks: 0
# 🍯 轻量级基于 HTTP 的 IoT 蜜罐
一款轻量级、基于 HTTP 的 IoT 蜜罐,专为网络安全研究和教育而设计。该系统模拟易受攻击的 IoT Web 接口,以便在受控环境中捕获、分类和可视化基于 HTTP 的攻击。
## 功能特性
- **多供应商伪装系统** — 10 种可切换的 IoT 设备伪装(Cisco、TP-Link、Netgear、D-Link、Hikvision、Dahua、Axis 等),具备协议级欺骗能力
- **双模式架构** — 无需重启即可在模拟模式(安全的课堂练习)和互联网模式(真实流量捕获)之间切换
- **实时仪表盘** — 攻击统计、地理地图、攻击分布图表和威胁信息流,支持 5 秒自动刷新
- **MITRE ATT&CK 分类** — 自动攻击分类并附带技术 ID(T1110, T1190, T1059, T1083, T1595)
- **交互式模拟实验室** — 分屏攻击者/防御者界面,提供 4 种主动防御措施(IP 封禁、速率限制、锁定、WAF)
- **网络杀伤链任务模式** — 引导式 4 阶段攻击演练(侦察 → 武装 → 利用 → 成功)
- **威胁情报** — 集成 AbuseIPDB,并带本地缓存以进行 IP 信誉查询
- **邮件警报** — 通过 Gmail SMTP 实现实时攻击通知和每日摘要报告
- **数据导出** — 支持 CSV/JSON 导出及可选的 IP 匿名化,便于研究共享
## 技术栈
| 组件 | 技术 |
|---|---|
| 后端 | Python 3, Flask |
| 数据库 | SQLite with SQLAlchemy |
| 前端 | HTML5, CSS3 (Tailwind), JavaScript, Chart.js, Leaflet.js |
| 反向代理 | Nginx (端口 80/443) |
| 威胁情报 | AbuseIPDB API |
| 部署环境 | VMware Workstation Pro |
## 系统架构
```
Attacker (Kali VM) → Nginx (ports 80/443) → Flask (port 5000) → SQLite
↓ SSL termination ↓ Attack classification
↓ Layer 1 rate limit ↓ IP reputation lookup
↓ X-Forwarded-For ↓ Email alerts
↓ Dashboard/Logs
```
## 安装设置
### 前置条件
- VMware Workstation Pro (或 VirtualBox)
- Ubuntu 24.04.3 LTS (CLI) — 传感器虚拟机 (2GB 内存, 4 vCPU)
- Kali Linux — 攻击者虚拟机(可选,用于渗透测试)
- Python 3.10+
### 安装步骤
```
# 克隆 repository
git clone https://github.com/YOUR_USERNAME/iot-honeypot.git
cd iot-honeypot
# 安装 Python dependencies
pip install flask sqlalchemy requests
# 运行 honeypot
python3 app.py
```
### Nginx 配置 (用于 HTTP/HTTPS)
```
# 复制 Nginx config
sudo cp honeypot_nginx.conf /etc/nginx/sites-available/honeypot
sudo ln -s /etc/nginx/sites-available/honeypot /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
```
### 可选:AbuseIPDB API 密钥
1. 在 [AbuseIPDB](https://www.abuseipdb.com/) 注册(免费层:1,000 次查询/天)
2. 导航至设置页面 → AbuseIPDB 集成 → 输入 API 密钥
## 使用说明
1. 通过 `http://` 访问蜜罐(面向攻击者的登录页面)
2. 通过 `http:///honeypot-admin` 访问管理面板(默认凭证在配置中)
3. 使用侧边栏导航:仪表盘、攻击日志、模拟实验室、设置
### 部署模式
- **模拟模式** — 适用于课堂,安全。使用内置模拟实验室进行引导式练习。
- **互联网模式** — 适用于研究。将蜜罐暴露于真实网络流量,具备增强的日志记录、隐蔽的速率限制和邮件警报功能。
## 项目结构
```
├── app.py # Main Flask application
├── internet_routes.py # Internet Mode middleware and honey routes
├── lab_routes.py # Simulation Lab backend
├── notifier.py # Email notification system
├── honeypot_config.json # Persisted configuration
├── honeypot_nginx.conf # Nginx reverse proxy config
├── login.html # Router admin login page
├── camera_login.html # IP Camera NVR login page
├── dashboard.html # Security dashboard
├── logs.html # Historical attack logs
├── settings.html # System configuration
├── simulation.html # Simulation Lab landing page
├── interactive_lab.html # Split-screen attacker/defender lab
├── mission_recon.html # Mission Phase 1: Reconnaissance
├── mission_weapon.html # Mission Phase 2: Weaponization
├── mission_success.html # Mission Phase 4: Success
└── base.html # Shared layout template
```
## 截图
| 仪表盘 | 交互式实验室 |
|---|---|
|  |  |  |  |
## 许可证
本项目基于 MIT 许可证授权。
## 免责声明
本工具仅用于**教育和授权研究目的**。请仅在隔离的实验室环境中部署,或在获得明确授权的情况下使用。作者不对本软件的任何滥用行为负责。
标签:CISA项目, Cloudflare, DFIR, Flask, HTTP 协议分析, IoT 漏洞, MITRE ATT&CK, Nginx, PFX证书, Python, SQLite, 后端开发, 威胁情报, 密码管理, 开发者工具, 恶意流量分析, 攻击检测, 数据可视化, 无后门, 漏洞模拟, 物联网安全, 网络安全实验, 网络安全审计, 网络安全教育, 蜜罐技术, 靶场环境