|
本帖最后由 wangqiang 于 2022-11-24 10:38 编辑
实战 | 记一次赏金2000美元的子域名接管漏洞挖掘
valluvarsploit HACK学习呀
2022-11-22 15:52 发表于广东
转载自:实战 | 记一次赏金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
复制代码
此子域有两个 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 服务。例如,下面的情况
但是,如果该域尚未被其他客户占用,那么我们可以声明该域并完全接管子域。
确认漏洞
我去 fastly.com 检查它是否存在漏洞。
我在 fastly.com 上已经有一个 2 年前创建的帐户,但 6 个月前删除了这个帐户,因为我相信 Fastly 是安全的(现在发现我错了,没有任何系统是绝对安全的)。
检测 fastly 是否易受攻击的步骤- 我去了 fastly.com 并创建了一个帐户。
- 登录到我的 Fastly 仪表板并单击“创建交付服务”按钮。
- 输入目标子域 (next.redacted.com) 并单击添加按钮。
我原以为会出现错误消息(域已被其他客户占用),但没有出现错误消息。我被重定向到下一页“主机页面”。这对我来说是一个惊喜。
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 地址。
几秒钟后,我打开了一个新的浏览器窗口并访问了“ http://next.redacted.com/index.html ”页面。
我的 PoC 文件渲染成功。我已经写了一份详细的报告并提交到 HackerOne 上。
通过监控服务器日志学习其他赏金猎人的攻击
我让我的 Fastly 服务运行了 3 天,并监控服务器日志中的敏感信息。观看其他漏洞赏金猎人的方法很有趣。
奖励
我的报告被分类为高严重性漏洞,并在 10 天内奖励 2000 美元。
要点Tips- 至少每 6 个月重新审视一次你的旧目标,黑客不走空。
2.子域名枚举是关键。尽可能多的枚举子域名,字典很重要。
3. 永远不要放弃,没有挖不到的漏洞,只有不努力的黑客。
作者:valluvarsploit
来源:点击阅读原文
由HACK学习翻译整理,如需转载请注明来源
|
|