akashreddygaddam/cowrie-ssh-honeypot
GitHub: akashreddygaddam/cowrie-ssh-honeypot
该项目展示如何使用 Cowrie 在 Ubuntu 上部署 SSH 蜜罐,捕获并分析模拟攻击者的登录行为和命令执行,模拟 SOC 日志分析工作流。
Stars: 0 | Forks: 0
# 使用 Cowrie 搭建 SSH Honeypot — 威胁检测实验室



## 目录
- [概述](#overview)
- [架构](#architecture)
- [我的实践](#what-i-did)
- [展示技能](#skills-demonstrated)
- [关键发现](#key-findings)
- [截图](#screenshots)
- [挑战与经验教训](#challenges--lessons-learned)
- [未来改进](#future-improvements)
- [使用工具](#tools-used)
## 概述
使用 [Cowrie](https://github.com/cowrie/cowrie) 部署并监控 SSH Honeypot,
以捕获并分析未经授权的登录尝试和攻击者行为,
模拟真实环境下的 SOC 日志分析工作流。
## 架构
[攻击者:宿主机] --SSH (端口 22)--> [Ubuntu 24.04 虚拟机:iptables 重定向] --> [Cowrie 监听器:端口 2222]
|
v
[JSON + 文本日志]
## 我的实践
- 出于安全最佳实践,在专用的非 root Linux 用户上部署了 Cowrie (v3.0.6)
- 配置 `iptables` 以将端口 22 重定向 -> Cowrie 在端口 2222 上的监听器
- 从另一台独立的宿主机生成并捕获了多个模拟攻击会话
- 分析了结构化的 JSON 日志,提取了尝试使用的凭据和执行的命令
- 使用 Cowrie 的 `playlog` 工具重放了攻击者的 TTY 会话
- 记录了关于攻击者行为模式的分析结果
## 展示技能
Linux 系统管理、网络配置 (NAT 网络)、`iptables`/NAT 端口重定向、日志分析、对攻击者 TTP(战术、技术、程序)的理解,以及对实时部署的实际故障排除能力。
## 关键发现
完整报告:[analysis/findings.md](analysis/findings.md)
我执行了 3 个独立的模拟 SSH 会话(root、admin、测试凭据),所有连接均被 Honeypot 接受。执行的命令包括系统指纹识别(`whoami`、`uname -a`)、侦察(`cat /etc/passwd`、`ls -la`)以及模拟的 payload 下载(`wget`)——这与真实世界中的攻击者行为如出一辙。
结构化的 JSON 日志捕获了会话 ID、源 IP/端口、精确的时间戳和文件哈希值——这与 SIEM 工具为了进行关联分析和告警所采集的日志格式完全一致。
## 截图

*显示攻击者命令被捕获的虚假 SSH 会话*

*使用 `playlog` 逐键击重放完整的攻击者会话*

*准备接入 SIEM 的结构化 JSON 日志*
## 挑战与经验教训
实际的部署过程很少能和文档描述的完全一致,本项目也不例外——解决这些问题培养了实用的故障排除技能:
- 较新的 Cowrie 版本 (v3.0.6) 重构了其文件布局——配置模板从 `etc/` 移动到了 `src/cowrie/data/etc/`,旧的 `bin/cowrie` 脚本也被通过 pip 安装的 `cowrie` 命令所取代。通过使用 `git ls-tree` 检查实际的仓库内容来诊断此问题,而不是想当然地认为文档与已安装的版本相匹配。
- 在将端口 22 重定向到 Cowrie 之后,管理员进行文件传输(`scp`)时出人意料地也被路由到了 Honeypot 中——这很好地提醒了我们,Honeypot 重定向会影响发往该端口的*所有*流量,包括你自己的操作。解决方法是临时移除重定向以进行合法的管理员访问,之后再将其恢复。
- 当文件因为 Linux 的主目录权限被锁定时,学会了区分用户权限问题(`cowrie` 用户与 sudo 用户)。
## 未来改进
- 将 Cowrie 的 JSON 日志转发到 Splunk 实例,以实现实时告警和仪表板展示(通过 SPL 查询排名靠前的攻击者 IP、最常用的凭据)
- 添加 Windows/Active Directory 检测实验室,以将检测范围扩大到 Linux/SSH 之外
- 使用 Shell 脚本或 Ansible playbook 自动化部署过程,以实现可重复的设置
## 使用工具
Cowrie、VMware Workstation、Ubuntu Server 24.04、iptables、Python/pip、Git
标签:AMSI绕过, Python, 威胁检测, 安全, 无后门, 网络安全研究, 蜜罐, 证书利用, 超时处理, 逆向工具