Harshil015/Honeypot-Lab

GitHub: Harshil015/Honeypot-Lab

一个基于 Python/Flask 的 Web 蜜罐实验室,通过模拟真实漏洞端点来捕获和分析攻击者行为,服务于红蓝紫队安全演练与威胁研究。

Stars: 1 | Forks: 0

# 蜜罐实验室 一个基于 Python/Flask 的蜜罐,通过模拟易受攻击的 Web 服务来捕获真实的攻击者行为——而非模拟流量。它被部署在一个受控的实验室环境中并持续运行。返回的结果比我预期的更有趣。 ## 捕获内容 在首次部署的时间窗口内,跨四个攻击向量捕获了超过 500 次交互: | 攻击向量 | MITRE ATT&CK | 观察结果 | |---|---|---| | 远程代码执行 | T1190 | 通过暴露的 eval 类型端点进行命令注入尝试 | | 暴力破解登录 | T1110 | 凭据列表按频率排序——有条理,而非随机 | | Web shell 部署 | T1505.003 | 在服务发现后的几分钟内自动上传 .php shell | | JNDI 注入 | T1059 | 截至 2025 年,Log4Shell 类型的 payload 仍在积极探测 | ## 数据揭示的结果 在分析过程中有三点尤为突出: **僵尸网络不会等待。** 在服务启动后的几分钟内就开始了 RCE 探测。互联网在不断地扫描——如果端口开放,总会有东西发现它。 **Log4Shell 并未消失。** 在部署的整个时间窗口内,JNDI 注入尝试持续不断,此时距离补丁发布已经过去数年。攻击者不会因为补丁的存在就放弃有效的 payload。 **暴力破解是有条理的。** 凭据列表按频率顺序到达——最常用的密码排在前面。这反映出攻击者是如何优化其工具以追求效率,而非随机性。 ## 架构 ``` app.py — Flask app with intentionally vulnerable endpoints monitor_honeypot.py — Pandas/Matplotlib log analysis and session replay pipeline honeypot.log — Raw interaction dataset (included as reference) uploads/ — Captured upload attempts ``` 分析流水线 (`monitor_honeypot.py`) 将结构化日志处理为: - 按攻击类型划分的交互时间线 - Payload 频率分布图 - 用于完整杀伤链重建的会话重放 - 与原始日志检查相比,审查速度提高了 35% ## 技术栈 | 组件 | 工具 | |---|---| | 后端 | Python 3, Flask | | 日志分析 | Pandas, Matplotlib | | 攻击者模拟 | Kali Linux, Hydra, curl | | 环境 | Linux / WSL, VirtualBox | | 版本控制 | Git, GitHub | ## 设置 ``` git clone https://github.com/Harshil015/Honeypot-Lab.git cd Honeypot-Lab python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python app.py ``` 蜜罐默认监听 5000 端口。所有交互都会被记录到 `honeypot.log` 中。 **运行分析流水线:** ``` python monitor_honeypot.py ``` 从捕获的日志数据生成图表和会话重放摘要。 ## 暴露的攻击面 为了捕获目的,蜜罐故意暴露了以下端点: - `/cmd` — 命令注入端点 - `/login` — 可暴力破解的登录门户 - `/upload` — 接受任何文件类型的文件上传 - `/jndi` — 用于 Log4Shell 类型探测的 JNDI 查找模拟 - `/shell.php`, `/cmd.php`, `/cgi-bin/` — 僵尸网络诱饵端点 ## 测试的攻击场景 - 使用 Hydra 进行凭据暴力破解 - 通过 curl 进行命令注入 - Web shell 部署与执行 - 枚举扫描 (nmap, nikto) - JNDI 注入尝试 ## 局限性 - 单节点部署——无法复制分布式蜜罐架构 - 无主动告警——分析是通过流水线事后进行的 - 在 Linux/WSL 上进行了测试;未在 macOS 或 Windows 原生环境下测试 ## 路线图 - [ ] 集成 SIEM 以进行实时告警 - [ ] 从捕获的 payload 中自动提取 IOC - [ ] 根据观察到的模式生成 YARA 规则 - [ ] 支持多节点部署 - [ ] 基于 ML 的异常检测层 ## 免责声明 这是一个实验室工具。仅限在您拥有和控制的隔离环境中使用。请勿部署在生产系统或未经系统所有者明确授权的任何网络上。 ## 作者 **Harshil Makwana** — 毕业于 SVNIT Surat 的 ECE 专业 [linkedin.com/in/harshilmakwana](https://linkedin.com/in/harshilmakwana) · [github.com/Harshil015](https://github.com/Harshil015)
标签:CISA项目, Flask, Python, Web安全, 安全, 攻击行为分析, 无后门, 网络安全研究, 蓝队分析, 蜜罐, 证书利用, 超时处理, 逆向工具