白帽故事 · 2024年5月22日

在侦察阶段如何快速找到 RCE

背景介绍

本文将分享国外白帽子在‘侦察’阶段如何快速发现 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进行测试后,确定可被成功利用。于是白帽小哥第一时间提交漏洞报告,很快便获得了厂商的确认。

file

顺利获得赏金奖励。

file

白帽小哥的推特:@mchklt

以上内容由骨哥翻译并整理,希望你能有所收获。

原文:https://mchklt.medium.com/how-i-found-my-first-rce-f80073626fff