如何快速找到 RCE

文摘   2024-11-19 21:00   江苏  

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。





背景介绍

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

顺利获得赏金奖励。

读后感:其实这篇文章我们学习的是其中的思路:在搜集好资产以后,需要进行批量指纹识别,识别出出相对应的组件以后,迅速查看一下组件有没历史漏洞,如果有,那么大概率就是去捡钱了,那么在这个过程中我们需要学习和积累的能力是如何去写指纹和POC,尤其是灯塔和nuclei这些比较知名的一些工具

如果你是一个长期主义者,欢迎加入我的知识星球,我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款


往期回顾

一款bp神器

ssrf绕过新思路

dom-xss精选文章

年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips





迪哥讲事
作者主页: https://github.com/richard1230
 最新文章