白帽故事 · 2023年8月13日 0

利用非云 SSRF 获得更多乐趣和赏金

背景介绍:

file

国外白帽 Basavaraj 在闲暇时随机寻找一些目标时,遇到了一个子域,可以在其中看到该公司和营销相关的报告,其中一项功能可以在其中查看 pdf 格式的报告。

file

单击 PDF 按钮后,发出请求,响应如下所示:

file

现在,在 status_url 参数中快速插入一个随机 URL,如 evil.com 会顺利获得 evil.com 的响应,基本可以确认 SSRF 漏洞。

file

接下来,检查通过 file:/// 协议读取的本地文件,添加 file:///etc/passwd 并发送请求,响应 403,被 Akamai WAF 拦截了

file

尝试对本地主机进行内部端口扫描,并使用 Intruder 扫描1-10000端口,成功找到2个开放端口:25和9080

file

file

于是白帽小哥将该漏洞报告了相关公司,但他们的回应是:

file

要求证明进一步的危害(看来天下乌鸦一般黑啊~)

休息 2 个小时,白帽小哥开始探索更多关于 Akamai WAF 阻止 file:/// 协议的信息,并了解到会有一组 WAF 规则阻止常见文件,如 etc/passwd、etc/hosts 、/shadow等,于是白帽小哥开始探索有关 CentOS 的不同文件路径,于是他发现一个有趣的文件,proc/net/arp

file

OK,记下所有内部 IP 并构建两个 CIDR 范围,如下所示:

172.31.0.0/23
172.31.0.1–255
172.31.1.1–255

172.31.8.0/23
172.31.8.1–255
172.31.9.1–255

将这些 CIDR 范围转换为 IP 地址,获得 1024 个 IP 地址。

接下来要怎么做呢?

继续使用 Intruder 来暴力破解这些 IP!结果是令人兴奋的~
file
可以访问随机的内部网络服务器
file
内部 Web 服务器,带有某些文件启用的目录列表

但是棘手的问题随之而来,为了响应以下请求,需要搜索了属于目标的主机名,例如“.target”,并找到了一些 6000 多个匹配结果,例如:some-internal-app.target.ad ,猜测 .ad 代表一个活动目录
file
6000+ 内部主机名
file
示例主机名

现在可以提取所有内部主机名并开始使用 Intruder 再次暴力破解它们,以下是一些结果:
file
内部网络服务器
file
一些监控服务

file

内部映射管理器

file
一些内部登录页面
file
HAProxy 统计信息

就这样,可以轻松访问在公司内部网络中运行的 1000 多个 Web 服务,白帽小哥也因此顺利拿到漏洞赏金。

你学废了吗?喜欢的话,欢迎一键三连~