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蜜罐, 后端开发, 多模态安全, 威胁情报, 安全, 开发者工具, 无后门, 蜜罐, 证书利用, 超时处理, 进程注入