一个中等交互级别的 Cowrie 蜜罐,部署在租用的公共互联网 Linux VPS 上,旨在吸引、记录和分析真实的 SSH 暴力破解流量。在 8 天的捕获窗口内,传感器记录了 37,477 个会话,来自 1,582 个不同的攻击者 IP,捕获了 794 次恶意软件投放——每次观察都与 159 个公共行业与学术来源 进行了交叉比对。
| 📊 实时报告 — 交互式 HTML | 📜 Logs/ — 每日 Cowrie 日志 | 📸 ScreenShots/ — 会话捕获 |
| 🏗️ docs/ — 架构图 | 🗂️ Reports/ — 报告源码 | 🐛 打开渲染分析页面 |
蜜罐位于一个租用的 Linux VPS 上。公共互联网的 tcp/22 通过 NAT 静默重定向到 Cowrie 的 tcp/2222,而真正的 OpenSSH 守护进程则移到了一个非标准的管理端口(tcp/49222),只有私钥才能访问。对攻击者来说,这台机器看起来像一个暴露了端口 22 的易受攻击 Debian 服务器;而对管理员来说,它可以通过一个独立的静默端口完全访问。

同一台机器的两条通道:攻击者通道(顶部)经过 iptables NAT 进入 Cowrie,后者将数据写入 TTY 日志和隔离文件夹。管理员通道(底部)直接通过 iptables 到达 tcp/49222 上的真实 OpenSSH 守护进程。两条路径永远不会相交。
矢量源文件:
docs/architecture.svg

实时捕获:多个攻击者 IP 同时命中 tcp/2222 — CONNECT(青色)、LOGIN SUCCESS / FAILED 以及它们尝试的凭证对。同一分钟内,多个攻击活动。

某个攻击者登录后的完整命令序列 — chattr -ia ~/.ssh、mdrfckr 密钥植入、cat /proc/cpuinfo、uname、lscpu、crontab -l。毫秒级时间戳和会话 ID 精准记录。

跨多个会话的聚合视图:连接(青色)、失败登录(红色)、成功登录(绿色)、命令(黄色)、文件传输(紫色)。重复的 mdrfckr 密钥植入 + chattr -ia .ssh 模式在不同攻击者 IP 上清晰可见 — 同一活动,不同机器人。

标志性的 RedTail XMRig 加密货币挖矿程序投放:来自 213.209.159.158 的单个会话中六个文件 — clean.sh 和 setup.sh 安装程序,以及四个特定架构的 ELF 二进制文件(redtail.arm7、redtail.arm8、redtail.i686、redtail.x86_64),一次投放覆盖路由器、物联网、传统 x86 和服务器。
ls、wget、cat /proc/cpuinfo 都带有高分辨率时间戳记录wget / curl 下载的文件被拦截并隔离在 downloads/ 目录🌍 主要来源地区: 香港(阿里云)· 中国(中国电信)· 保加利亚(IT7 Networks)· 俄罗斯(Aeza Group,受制裁)
🐛 识别的主要活动: RedTail XMRig 加密货币挖矿程序 · mdrfckr SSH 密钥植入家族 · Mirai 衍生的物联网招募程序 · 3245gs5662d34 SSH 传播器签名
包含交互式图表、MITRE ATT&CK 映射以及每个发现来源讨论的完整分析 → 打开实时报告。
cowriesudo useradd -m -s /bin/bash cowrie
sudo passwd -l cowrie
su - cowrie
git clone https://github.com/cowrie/cowrie.git
cd cowrie
python3 -m venv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
sshd 移出端口 22(在添加任何 NAT 规则之前)sudo sed -i 's/^#\?Port .*/Port 49222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
⚠️ 在继续之前,请从第二个终端验证您仍能通过端口 49222 登录。
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
sudo iptables-save | sudo tee /etc/iptables/rules.v4
bin/cowrie start
SSH-Honeypot-Research/
├── README.md ← 您在此处
├── docs/
│ ├── architecture.png ← 架构图(渲染版)
│ └── architecture.svg ← 架构图(矢量源文件)
├── Logs/ ← 每日 Cowrie 日志(cowrie_YYYY-MM-DD.log)
│ ├── cowrie_2026-05-08.log
│ ├── cowrie_2026-05-09.log
│ └── ... (共 8 天)
├── Reports/
│ └── honeypot_report.html ← 完整交互式报告
└── ScreenShots/ ← 会话捕获、日志快照、有效载荷
├── live session.png ← 多 IP CONNECT/LOGIN 流
├── CMD1.png · CMD2.png ← 捕获的登录后命令序列
├── sh1.png · sh2.png ← 聚合的每日日志视图
└── RedTail Payload.png ← 标志性 4 架构加密货币挖矿程序投放
交叉引用了 159 个行业和学术来源 — 完整注释列表位于实时报告的参考文献部分。关键学术锚点:
此蜜罐仅用于防御性研究目的。所有捕获的制品(IP、有效载荷、凭证)均通过被动方式从入站非请求流量中观察得到。蜜罐不发起扫描、不进行报复,并且除了沙箱化的 Cowrie 监听器外不托管任何服务。请负责任地在适用法律范围内重复使用此配置。
基于 Cowrie 构建。 🛠️
| 层 | 作用 | 原因 |
|---|
非特权用户 cowrie | 蜜罐以系统用户身份运行,无 sudo,无主机 shell | 即使沙箱被攻破,也无法获得主机访问权限 |
| Python 虚拟环境 | 固定、隔离的依赖树(Twisted、cryptography 等) | 不与系统 Python 冲突;可干净地拆除和重建 |
| 模拟文件系统 | 攻击者的写入操作进入临时 Cowrie 覆盖层 | 即使是长会话,真实磁盘也不会被触及 |
| iptables NAT 重定向 | PREROUTING 规则将入站 tcp/22 重写为 tcp/2222 | Cowrie 绑定高位端口(无需 root);欺骗行为不可见 |
| 管理端口迁移 | 真正的 sshd 移至 tcp/49222,仅密钥认证 | 针对真实守护进程的暴力破解噪声降至零 |
| 指标 | 数值 |
|---|
| 总会话数 | 37,477 |
| 不同攻击者 IP | 1,582 |
| 失败登录 | 14,968 |
| 获得 shell 的登录 | 22,720 |
| 捕获的 Shell 命令 | 21,968 |
| 恶意软件投放 | 794 |
| 交叉引用的外部来源 | 159 |