AlejoGomez40/Proxmox-cowrie-honeypot

GitHub: AlejoGomez40/Proxmox-cowrie-honeypot

该项目在 Proxmox 隔离 DMZ 中部署 Cowrie SSH 蜜罐,捕获真实互联网攻击数据并通过 Python 管线与交互式仪表板进行威胁情报分析。

Stars: 0 | Forks: 0

# 🍯 SSH Honeypot — 威胁情报平台 这是一个生产级的 SSH Honeypot,部署在家庭 Proxmox 服务器上,隔离在专用的 DMZ 网络段中,并直接暴露在真实互联网环境下。它能够捕获来自自动化僵尸网络和真实攻击者的实时攻击数据,随后通过自定义的 Python pipeline 和交互式仪表板对这些数据进行分析。 **这不是模拟测试。** 在上线后的几个小时内,真实的攻击者就已连接,并对该 honeypot 运行了侦察脚本。 ## 📊 实时统计数据(4 天捕获期) | 指标 | 数值 | |--------|-------| | 记录的总事件数 | 86,842 | | 独立攻击者 IP | 672 | | SSH 连接数 | 11,384 | | 成功登录次数 | 10,727 | | 执行的命令数 | 10,460 | | 平均会话持续时间 | 4.85s | ## 🏗️ 架构 ``` Internet │ ▼ [Router] ──── Port 22 forwarded │ ▼ [Proxmox Host] │ ├── vmbr0 (LAN: 192.168.1.x) │ └── vmbr1 (DMZ: 10.0.20.x) ◄── isolated bridge, no LAN routing │ └── [Honeypot VM] 10.0.20.10 │ └── Cowrie SSH (port 2222 → exposed as 22) ``` **关键的隔离决策:** - DMZ 网桥没有通往 LAN 的路由 —— 被攻陷的 honeypot 无法横向移动至家庭网络 - Cowrie 以非特权用户 `cowrie` 的身份运行在专用的 Debian VM 内 - 在进行任何攻击者交互之前,所有流量均会被记录为结构化的 JSON ## 🔍 主要发现 ### 攻击基础设施 排名前列的攻击者 IP(`45.153.34.x`、`91.92.40.x`、`91.92.42.x`)在 4 天内各自发起了 750–800 次连接,且时间模式几乎完全相同 —— 这是典型的协调式僵尸网络行为。最主要的 SSH 客户端指纹是 `SSH-2.0-Go`,证实了其使用的是由 Go 语言编写的自动化工具。 ### 凭据模式 最常见的成功凭据是 `support:support`、`1234:1234` 和 `admin:admin` —— 这些默认凭据主要针对 IoT 设备和路由器,而非服务器。攻击者在每次会话中以亚秒级的延迟尝试数百组凭据对,表明这是自动化的凭据喷射攻击。 ### 登录后行为 登录后,攻击者始终会执行一个多阶段的侦察序列: **阶段 1 — 系统指纹识别** ``` uname -s -v -n -r -m # OS + kernel + architecture cat /proc/cpuinfo # CPU model (mining viability check) cat /proc/uptime # Uptime (stability check) ifconfig / ip cloud print # Network interfaces ``` **阶段 2 — 威胁检测规避** ``` ps | grep '[Mm]iner' # Check for competing miners ps -ef | grep '[Mm]iner' # Alternative process scan ``` **阶段 3 — 后门安装** ``` cd ~; chattr -ia .ssh; lockr -ia .ssh cd ~ && rm -rf .ssh && mkdir .ssh && echo "ssh-rsa AAAA..." >> .ssh/authorized_keys && chmod -R go= ~/.ssh ``` **阶段 4 — 数据外泄探测** ``` ls -la ~/.local/share/TelegramDesktop/tdata # Telegram session theft locate D877F783D5D3EF8Cs # Known malware hash lookup ``` 此序列与威胁情报公司记录的 [Mirai](https://en.wikipedia.org/wiki/Mirai_(malware)) 和加密货币挖矿机僵尸网络的行动手册(playbooks)相吻合。 ## 🛠️ 技术栈 | 组件 | 技术 | |-----------|------------| | Hypervisor | Proxmox VE 8 | | Honeypot VM | Debian 13, Cowrie SSH | | 网络隔离 | Proxmox DMZ 网桥 (vmbr1) | | 日志格式 | 结构化 JSON (JSONL) | | 分析工具 | Python 3 (`analyze.py`) | | 仪表板 | 原生 HTML + Chart.js | | 托管 | GitHub Pages | ## 🚀 复现步骤 ### 1. 部署 Cowrie ``` # Create dedicated user sudo adduser --disabled-password cowrie su - cowrie # Install Cowrie git clone https://github.com/cowrie/cowrie cd cowrie python3 -m venv cowrie-env source cowrie-env/bin/activate pip install -r requirements.txt cp etc/cowrie.cfg.dist etc/cowrie.cfg # Start bin/cowrie start ``` ### 2. 运行分析器 ``` git clone https://github.com/AlejoGomez40/Proxmox-cowrie-honeypot cd Proxmox-cowrie-honeypot python3 analyze.py \ --log-dir /home/cowrie/cowrie/var/log/cowrie \ --output dashboard.html ``` ### 3. 查看仪表板 在任意浏览器中打开 `dashboard.html` —— 无需任何依赖,也无需服务器。 ## ⚠️ 安全注意事项 - **切勿将 honeypot 与生产系统部署在同一网络中** —— 请使用专用的 DMZ 或 VLAN - Honeypot VM 没有出站互联网访问权限(防火墙规则阻止了 egress 流量),以防止其被用作僵尸节点 - 日志可能包含恶意 payload —— 请谨慎处理,切勿执行所捕获的命令 ## 📁 仓库结构 ``` ├── analyze.py # Log parser + dashboard generator ├── dashboard.html # Interactive analytics dashboard (live data) ├── config/ │ ├── cowrie.cfg # Cowrie configuration │ └── cowrie.service # systemd service file └── logs/ └── sample_attacks.json # Sample log excerpt ``` *作为家庭实验室安全项目构建。所有数据均捕获自真实的互联网流量。*
标签:Proxmox, Python, SSH蜜罐, 后端开发, 多模态安全, 威胁情报, 安全, 开发者工具, 无后门, 蜜罐, 证书利用, 超时处理, 进程注入