背景介绍
本文将分享国外白帽子在‘侦察’阶段如何快速发现 RCE 漏洞的经历。以Apache ActiveMQ 的 CVE-2023–46604 为特例,重点介绍如何发现类似此类的漏洞,让我们开始吧。
快速发现过程
在‘侦察’阶段,白帽小哥会保持每周更新一次目标站点的子域列表,并每三天扫描一次开放端口。
对于子域枚举,白帽小哥习惯使用 Subfinder 和 Amass 等工具,使用方法:
#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
然后使用下面的命令进行子域去重:
之后就是端口扫描,通过制作简单的脚本来使用 DNSx 检查子域并将它们分成 15 个分组,然后使用 nohup 运行 Naabu 保持在后台运行。
脚本如下:
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进行测试后,确定可被成功利用。于是白帽小哥第一时间提交漏洞报告,很快便获得了厂商的确认。
顺利获得赏金奖励。
读后感:其实这篇文章我们学习的是其中的思路:在搜集好资产以后,需要进行批量指纹识别,识别出出相对应的组件以后,迅速查看一下组件有没历史漏洞,如果有,那么大概率就是去捡钱了,那么在这个过程中我们需要学习和积累的能力是如何去写指纹和POC,尤其是灯塔和nuclei这些比较知名的一些工具
原文始发于微信公众号(迪哥讲事):如何快速找到 RCE
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论