实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

目标

今天,我将分享我如何发现 Fastly 子域接管漏洞并获得2000美金的漏洞赏金。

背景故事

这是从 2022 年 10 月 2 日星期日开始的。这一天像往常一样开始了。

选择了一个以前挖过的资产并开始执行子域名枚举(我们将我们的目标称为 redacted.com)

子域名枚举

我使用 Google搜索黑客语法、 OWASP Amass和Gobuster工具

# 使用 Google搜索黑客语法
site:*.redacted.com -www -www1 -blog
site:*.*.redacted.com -product

# 使用 OWASP 的被动子域枚举 Amass
amass enum -passive -d redacted.com -config config.ini -o amass_passive_subs.txt

# 使用 Gobuster
gobuster dns -d redacted.com -w wordlist.txt - show-cname - no-color -o gobuster_subs.txt

枚举子域后,删除重复的条目并使用Anew工具将它们合并到一个文件 (subdomains.txt) 中。

# 将子域合并到一个文件中
cat google_subs.txt amass_passive_subs.txt gobuster_subs.txt | anew subdomains.txt

然后将 subdomains.txt 文件传递到我的 cname.sh shell 脚本,枚举 CNAME 记录并存储在 cnames.txt 中。

# 枚举 CNAME 记录
./cname.sh -l subdomains.txt -o cnames.txt

# 我们也可以使用 HTTPX 工具
httpx -l subdomains.txt -cname cnames.txt

然后将 subdomains.txt 文件传递给HTTPX工具。探测实时网站并存储在 servers_details.txt 中。

# 实时探测 HTTP/HTTPS 服务器
httpx -l subdomains.txt -p 80,443,8080,3000 -status-code -title -o servers_details.txt

分析

我开始分析 cnames.txt 文件,发现一个子域指向两个不同的 CNAME 记录。我在子域上运行了 dig 命令并得到了以下信息

dig next.redacted.com CNAME

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

此子域有两个 CNAME 记录。第一个 CNAME 记录指向 webflow.io 域,第二个 CNAME 记录指向 fastly.net (Fastly Service) 域。每当我们有多个 CNAME 记录时,第一个 CNAME 记录会将我们重定向到下一个 CNAME 记录,依此类推。重定向将继续,直到我们到达最后一个 CNAME 记录。

我开始分析 servers_details.txt 文件以查找有趣的内容并找到了这一行。注意状态码和网站标题。

https://next.redacted.com [500] [246] [Fastly error: unknown domain next.redacted.com]

状态码为“500”,标题为“Fastly error: unknown domain next.redacted.com”。

通过查看 CNAME 记录(“redacted.fastly.net”)和网站指纹“Fastly error: unknown domain” ,

我们可以确认这是Fastly Subdomain Takeover。

如果一个网站有这个指纹那么它可能会受到攻击。但是,我之前多次遇到过这个Fastly指纹并且它并不容易受到攻击。它只有在满足某些条件时才会受到攻击,所以这是一个边缘案例。

大多数时候我们无法接管 Fastly 服务。例如,下面的情况

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

但是,如果该域尚未被其他客户占用,那么我们可以声明该域并完全接管子域。

确认漏洞

我去 fastly.com 检查它是否存在漏洞。

我在 fastly.com 上已经有一个 2 年前创建的帐户,但 6 个月前删除了这个帐户,因为我相信 Fastly 是安全的(现在发现我错了,没有任何系统是绝对安全的)。

检测 fastly 是否易受攻击的步骤

  1. 1. 我去了 fastly.com 并创建了一个帐户。

  2. 2. 登录到我的 Fastly 仪表板并单击“创建交付服务”按钮。

  3. 3. 输入目标子域 (next.redacted.com) 并单击添加按钮。

我原以为会出现错误消息(域已被其他客户占用),但没有出现错误消息。我被重定向到下一页“主机页面”。这对我来说是一个惊喜。

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

PoC创建

确认漏洞后,我登录到我的 VPS 服务器并创建了一个名为“hosting”的目录。然后在“hosting”目录中创建一个名为“index.html”的简单 HTML 文件。

mkdir hosting

cd hosting

nano index.html

“index.html”文件包含以下代码,

<h1>ValluvarSploit PoC</h1>

然后,我在当前工作目录中的端口80上启动了一个简单的Python Web服务

python3 -m http.server 80

然后我转到 Fastly 仪表板并在主机页面中添加了我的 VPS 服务器的公网IP 地址。

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

几秒钟后,我打开了一个新的浏览器窗口并访问了“ http://next.redacted.com/index.html ”页面。

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

我的 PoC 文件渲染成功。我已经写了一份详细的报告并提交到 HackerOne 上。

通过监控服务器日志学习其他赏金猎人的攻击

我让我的 Fastly 服务运行了 3 天,并监控服务器日志中的敏感信息。观看其他漏洞赏金猎人的方法很有趣。

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

奖励

我的报告被分类为高严重性漏洞,并在 10 天内奖励 2000 美元。

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

要点Tips

  1. 1. 至少每 6 个月重新审视一次你的旧目标,黑客不走空。

2.子域名枚举是关键。尽可能多的枚举子域名,字典很重要。

  1. 3. 永远不要放弃,没有挖不到的漏洞,只有不努力的黑客。


实战 | 记一次赏金2000美元的子域名接管漏洞挖掘


推荐阅读:


实战 | 记一次1000美金的TikTok盲打XSS的漏洞挖掘


实战 | 记一次挖掘到微软的存储型XSS漏洞的经历


实战 | 记一次PHP混淆后门的分析利用


干货 | Certutil在渗透中的利用和详解


实战 | 记一次Everything服务引发的蓝队溯源


2022年零基础+进阶系统化白帽黑客学习 |  11月特别优惠活动

作者:valluvarsploit

来源:点击阅读原文

由HACK学习翻译整理,如需转载请注明来源

实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

原文始发于微信公众号(HACK学习呀):实战 | 记一次赏金2000美元的子域名接管漏洞挖掘

版权声明:admin 发表于 2022年11月22日 下午3:53。
转载请注明:实战 | 记一次赏金2000美元的子域名接管漏洞挖掘 | CTF导航

相关文章

暂无评论

暂无评论...