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 ``` ## 截图 | 仪表盘 | 交互式实验室 | |---|---| | ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/551563692a010057.png) | ![Lab](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/658718835f010100.png) | ![Logs](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d48e8f199f010103.png) | ![Settings](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/5e43cc23b1010106.png) | ## 许可证 本项目基于 MIT 许可证授权。 ## 免责声明 本工具仅用于**教育和授权研究目的**。请仅在隔离的实验室环境中部署,或在获得明确授权的情况下使用。作者不对本软件的任何滥用行为负责。
标签:CISA项目, Cloudflare, DFIR, Flask, HTTP 协议分析, IoT 漏洞, MITRE ATT&CK, Nginx, PFX证书, Python, SQLite, 后端开发, 威胁情报, 密码管理, 开发者工具, 恶意流量分析, 攻击检测, 数据可视化, 无后门, 漏洞模拟, 物联网安全, 网络安全实验, 网络安全审计, 网络安全教育, 蜜罐技术, 靶场环境