背景介绍
本文将分享国外白帽子在‘侦察’阶段如何快速发现 RCE 漏洞的经历。以Apache ActiveMQ 的 CVE-2023–46604 为特例,重点介绍如何发现类似此类的漏洞,让我们开始吧。
快速发现过程
在‘侦察’阶段,白帽小哥会保持每周更新一次目标站点的子域列表,并每三天扫描一次开放端口。
对于子域枚举,白帽小哥习惯使用 Subfinder 和 Amass 等工具,使用方法:
subfinder -dL domains.txt -o subdomains.txt
#then subdomains of subdomains
subfinder -dL subdomains.txt -o more-subdomains.txt
#using amass
amass enum -passive -norecursive -noalts -df domains.txt -o subs.txt
#then subdomains of subdomains
amass enum -passive -norecursive -noalts -df subs.txt -o more-subs.txt
然后使用下面的命令进行子域去重:
cat more-subdomains.txt subdomains.txt subs.txt more-subs.txt | sort -u > targets.txt
之后就是端口扫描,通过制作简单的脚本来使用 DNSx 检查子域并将它们分成 15 个分组,然后使用 nohup 运行 Naabu 保持在后台运行。
脚本如下:
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 <file>"
exit 1
fi
cat $1 | dnsx -o $1_ok.txt
split -l 15 $1_ok.txt 15_file_
for file in 15_file_*; do
nohup naabu -list "$file" -p - -o "${file}.out"&
done
然后对端口进行去重:
cat 15*out | sort -u > ports.out
这样可以过滤掉一些疑似蜜罐的主机,但 Naabu 的结果有时也不是很可靠。
其中一个bamboo.target.com的主机,白帽小哥注意到它有一个特殊的开放端口 54663。
使用Nmap的 -sSCV 进行扫描时,会发现运行的是 Apache ActiveMQ,显示可能存在 CVE-2023–46604 漏洞。
通过PoC进行测试后,确定可被成功利用。于是白帽小哥第一时间提交漏洞报告,很快便获得了厂商的确认。
顺利获得赏金奖励。