一、案例:一次深入的目标资源定位行动
某天接到一个客户的授权测试需求,目标是一家数据服务公司的内部系统。初步的信息收集显示对方的外围防护较为完备,常见的端口扫描、弱口令检测和Web漏洞挖掘都未能发现明显突破口。当时我们面临的困境是,没有任何明显的入手点。
这时团队转向了一个容易被忽视的方向:目标公司的公开资源。我们开始从互联网中搜寻目标的相关信息,从各种洞网资源中找到了大量有用的情报——包括暴露的子域、敏感文件、员工通讯录,甚至一个测试环境的配置文件,其中意外包含了一组环境管理后台的凭据。借助这些信息,我们顺利突破第一道防线,最终完成了一次深入内部的完整渗透测试。
这次行动让我深刻体会到,洞网资源搜索在渗透测试中的强大威力。本篇文章我将分享一些高效的搜索技巧,帮助你从公开资源中挖掘出能突破目标防线的关键信息。
---
二、公开资源的攻击面:你忽视的宝藏
当目标公司没有明显的漏洞时,公开的互联网资源往往是最容易被忽视但又最有价值的攻击面。以下是我们通常关注的几个核心点:
1. 子域名信息
子域名是渗透的入口之一,尤其是那些隐藏的测试环境子域。企业可能为了方便开发和调试,将测试环境、UAT环境或者API服务部署在非主流子域下,但却没有做好访问限制。
利用工具:
Subfinder是一个快速的子域名发现工具。Amass提供了更全面的子域枚举能力。
<pre><code class="language-bash"># 使用 Subfinder 枚举子域 subfinder -d example.com -o subdomains.txt
使用 Amass 进行子域枚举(更全面,但速度慢)
amass enum -d example.com -o subdomains.txt</code></pre>
2. 敏感文件泄露
开发人员经常会一时疏忽,将配置文件、日志文件甚至代码仓库暴露在互联网上。常见的泄露路径有以下几种:
.git源码库目录未删除- 配置文件暴露,例如
config.json、.env - 备份文件的泄露,如
backup.zip或.tar.gz
工具搭配: 配合 dirsearch 或 gobuster 进行目录爆破,快速定位这些敏感文件。
<pre><code class="language-bash"># 使用 dirsearch 爆破可疑目录 python3 dirsearch.py -u https://example.com -e txt,zip,json,env</code></pre>
3. 开源代码数据块
很多企业会在 GitHub 上托管开源代码,甚至将部分内部代码错误地公开。通过 GitHub 搜索关键字,可以轻松找到API密钥、数据库凭据或敏感函数。
常用技巧:
- 利用 GitHub Dork 搜索特定关键词,如
site:github.com "API_KEY" - 使用工具
gitrob自动化扫描目标的 GitHub 仓库。
<pre><code class="language-bash"># 用 GitHub Dork 搜索敏感关键信息 site:github.com "DB_PASSWORD" "example.com"</code></pre>
---
三、实战:洞网资源搜索的高效武器
在渗透测试中,我们会借助一些强大的工具和平台来进行洞网资源搜索。以下是几款我常用的武器。
1. Shodan 与 Censys:互联网设备扫描神器
Shodan 和 Censys 是两款知名的互联网设备搜索引擎,它们可以帮助我们发现目标暴露的服务、端口以及设备。
Shodan 示例:
- 查找目标公司暴露的 Web 服务:
- 搜索特定端口(如 VPN 服务):
<pre><code> hostname:"example.com" `
` port:443 "vpn" `
Ruby 脚本批量查询 Shodan API:</code></pre>ruby require 'net/http' require 'json'

Shodan API key
API_KEY = "your_shodan_api_key" TARGET = "example.com"
查询目标的公开服务信息
def shodan_query(target) url = URI("https://api.shodan.io/shodan/host/search?key=#{API_KEY}&query=hostname:#{target}") response = Net::HTTP.get(url) result = JSON.parse(response)
输出结果
result['matches'].each do |match| puts "[+] IP: #{match['ip_str']}, Port: #{match['port']}, Data: #{match['data']}" end end
shodan_query(TARGET) <pre><code>
2. Google Hacking:搜索引擎的“特权”
Google Dorking 是经典但依然强大的信息搜集方式,通过构造搜索语句快速发现目标的敏感信息。
常用 Google Dork:
- 搜索公开的文件:
- 找到暴露的目录:
- 定位登录页面:
` site:example.com filetype:pdf `
` site:example.com intitle:index.of `
` site:example.com inurl:login `
利用这些 Dork,往往能快速找到目标的文档、备份文件或管理后台。
3. FOFA & ZoomEye:中国特色的情报搜索
FOFA 和 ZoomEye 是国内两款强大的洞网搜索引擎,能力类似 Shodan,但在某些方面更具体。
FOFA 示例:</code></pre>bash
搜索目标的子域和服务
title="example" && header="apache" <pre><code> ZoomEye API 脚本示例:</code></pre>ruby require 'net/http' require 'json'
ZoomEye API key
API_KEY = "your_zoomeye_api_key" QUERY = "example.com"
查询目标的服务信息
def zoomeye_query(query) url = URI("https://api.zoomeye.org/host/search?query=#{query}") request = Net::HTTP::Get.new(url) request["Authorization"] = "JWT #{API_KEY}"
response = Net::HTTP.start(url.hostname, url.port, use_ssl: true) do |http| http.request(request) end

result = JSON.parse(response.body) result['matches'].each do |match| puts "[+] IP: #{match['ip']}, Protocol: #{match['protocol']}" end end
zoomeye_query(QUERY) <pre><code> ---
四、绕过与反制:让目标资源更隐蔽
在洞网资源搜索中,经常会遇到一些反制措施,例如敏感目录的访问限制、搜索引擎的索引屏蔽等。以下是几种实用的绕过技巧:
1. 绕过 robots.txt
虽然 robots.txt 通常用于屏蔽搜索引擎抓取,但它也可能泄露敏感路径。直接访问 https://example.com/robots.txt,即可查看被屏蔽的路径。
2. BYPASS WAF
通过变换 User-Agent、Referer 或者使用伪装流量,可以绕过部分 Web 应用防火墙的检测:</code></pre>bash curl -H "User-Agent: Googlebot" https://example.com/hidden_path <pre><code>
3. 处理返回码
403(禁止访问)或401(未授权)并不一定意味着无路可走,尝试通过 X-Forwarded-For 或 Host 头伪造请求:</code></pre>bash curl -H "X-Forwarded-For: 127.0.0.1" https://example.com/protected_path `
---
五、总结与经验分享
- 工具链整合:不要单独依赖某一工具,结合多种方法往往效果更好。例如使用 FOFA 找到子域,结合 dirsearch 爆破目录,最后用 Google Dork 验证。
- 动态调整策略:如果某一条线索走不通,及时调整搜索方向。如从敏感文件转向开源代码分析。
- 效率与深度并存:快速搜索工具(如 Shodan、FOFA)和细致化分析工具(如 Amass、dirsearch)相互配合。
通过洞网资源搜索,我们可以轻松挖掘出那些隐藏在互联网上的“信息金矿”。如果你掌握了这些技巧,下次渗透测试时或许会为你打开一扇意想不到的大门。
免责声明:本文所有技术仅限合法授权的安全测试,切勿用于非法行为!
