MonkeySeC-sys/Fable-Honeypot

GitHub: MonkeySeC-sys/Fable-Honeypot

一个基于 Python 标准库构建的低交互 Web 蜜罐,通过模拟企业管理网关诱捕自动化攻击并记录结构化威胁数据。

Stars: 0 | Forks: 0

# 🛡️ Fable-HTTP:轻量级防御型蜜罐 ``` ______ _ _ | ____| | | | | | |__ __ _| |__ | | ___ | __/ _` | '_ \| |/ _ \ | | | (_| | |_) | | __/ |_| \__,_|_.__/|_|\___| [v1.0.0] [Kali-Tested] ``` 这是一个低交互、高弹性的 Python Web 蜜罐,旨在模拟企业管理网关。Fable 能够诱捕自动化僵尸网络,通过会话拖宕机制对抗激进的暴力破解攻击,并将连接元数据记录到结构化的 JSON schema 中。 ## ✨ 核心功能 * **🕵️ 指纹伪装:** 覆盖原生的 Python `BaseHTTP` 特征,伪造出 Linux Apache `2.4.41 (Ubuntu)` 生产环境的签名。 * **🔒 强化的路由沙盒:** 剥离默认的文件服务机制,以彻底缓解目录遍历漏洞。 * **⏳ 自动化拖宕(速率限制):** 跨独立的连接句柄跟踪客户端请求状态。如果扫描器每秒请求超过 5 次,会话将被故意延迟,以耗尽自动化扫描基础设施的资源。 * **🛑 DoS 缓冲与断连处理:** 对传入的 POST 请求强制执行严格的内存读取上限(10KB),以在缓冲区泛洪攻击中存活,同时优雅地静默丢弃提早的 socket 终止(`BrokenPipeError`)。 * **📊 结构化聚合:** 将传入的攻击向量无缝映射到已解析的 JSON 条目中,记录源 IP、目标端口和 agent 配置。 * **🔄 欺骗性 401 认证循环:** 通过真实的浏览器弹窗和认证失败重定向拒绝初始的凭证提交,促使自动化脚本针对日志文件耗尽其 payload 列表。 ## 📋 日志 Schema 示例 数据解析清晰,可无缝集成到 Splunk、Elastic 或 OpenSearch 等 SIEM 平台: ``` { "timestamp": "2026-07-21 12:46:36", "source_ip": "127.0.0.1", "source_port": 46556, "user_agent": "curl/8.20.0", "payload": "username=admin&password=password1" } ``` ## 🛠️ 环境要求与安装 本应用特意仅使用 **原生 Python 3 标准库** 设计,以保持零依赖,从而最小化工具的攻击面。 ### `requirements.txt` ``` # 仅依赖 Standard Library。 # 需要 Python 3.8+ ``` ### 安装说明 1. 在本地克隆项目: git clone https://github.com/MonkeySeC-sys/Fable-Honeypot.git cd Fable-Honeypot 2. 启动蜜罐: python3 Fable.py ## ⚠️ 生产环境部署:使用 VPS(至关重要) **请勿在您的个人电脑或家庭 Wi-Fi 网络上托管此蜜罐。** 在家中暴露一个在线蜜罐可能会让恶意扫描器映射您的本地网络、危害其他设备,或通过 DoS 攻击您的网络连接。 若要部署到公共互联网,请将 **Fable** 托管在独立的 **VPS(虚拟专用服务器)** 提供商上,例如 DigitalOcean、Linode、AWS Lightsail 或 Vultr。 ### 🚀 VPS 部署步骤 1. **通过 SSH 连接到您的服务器:** ssh root@YOUR_VPS_PUBLIC_IP 2. **准备项目目录:** mkdir fable-honeypot && cd fable-honeypot 3. **端口转发设置(标准 Web 流量):** 公共 Web 扫描默认使用端口 `80`。Linux 限制普通用户在低端口上运行应用程序。与其危险地以 root 身份运行 Python,不如使用 `iptables` 将传入的端口 `80` 流量直接重定向到您的蜜罐端口: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT 4. **在后台全天候运行:** 为了在您断开 SSH 会话后仍保持蜜罐静默运行,请使用 `nohup` 启动它: nohup python3 Fable.py > /dev/null 2>&1 & 5. **查看收集的威胁情报:** 通过读取独立的日志文件,检查哪些僵尸网络盯上了您的实例: cat honeypot_logs.json ## ⚖️ 许可证 基于 **MIT License** 分发。 ``` Copyright (c) 2026 Your Name Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ``` ## ⚠️ 免责声明 此安全应用程序仅严格用于教育目的、防御性网络基础设施研究以及私人威胁情报收集。未经适当的沙盒隔离或容器化处理,请勿将其部署在在线的生产企业网络中。
标签:CISA项目, Homebrew安装, Python, Web安全, 威胁情报, 安全, 开发者工具, 无后门, 蓝队分析, 蜜罐, 证书利用, 超时处理, 逆向工具