渗透测试中,拿到目标后,首要任务就是对目标资产进行全面整理,这往往是后续所有测试的基础。目标资产可能是企业名称,也可能是某个具体的域名。这篇文章主要聊聊,面对不同形式的资产起点,我们可以采用哪些思路、渠道和工具进行高效收集。
0x01 企业信息及知识产权收集
当目标资产是公司名称时,第一步就是利用公开的企业信息来拓展视野。
1. 企业查询平台
使用天眼查、企查查、爱企查、小蓝本等工具进行查询。尤其要关注“知识产权”栏目下的信息,这里常常会展示该公司备案的域名、开发的小程序、APP以及运营的公众号等数字资产。

2. 股权穿透分析
通过查询企业的股权控制图,可以根据控股关系顺藤摸瓜,发现其子公司、孙公司。这些关联公司往往共享技术栈、网络或业务系统,是重要的资产拓展方向。

3. 微信生态与协议挖掘
在微信中直接搜索公司名称,可以发现其运营的小程序、公众号等。此外,一个更隐蔽的途径是研究其合作方的小程序或应用的《用户协议》和《隐私政策》。这些法律文书中通常会列明服务的所有提供方或合作方,可能泄露未直接关联到主品牌的其他资产主体。


4. ICP备案信息查询
通过工信部备案系统,可以反查一个公司名下备案的所有网站、APP和小程序,这是获取其官方线上资产最权威的渠道之一。
- 工业和信息化部政务服务平台:
https://beian.miit.gov.cn/#/Integrated/index

- 站长之家等第三方备案查询站也能提供类似信息,可作为补充。
http://icp.chinaz.com/

0x02 域名及IP信息收集
如果目标是域名,那么工作重心就转向了对其网络空间的测绘,核心是子域名和关联IP的发现。
1. 子域名在线查询工具
利用公开的在线服务进行初步探测,快速获取一批子域名。
- WhoisXML API:
https://zh.subdomains.whoisxmlapi.com/lookup

- Pentest-Tools Subdomain Finder:
https://pentest-tools.com/information-gathering/find-subdomains-of-domain

2. 自动化子域名枚举工具
- OneForAll:一款功能强大的子域名集成工具,集成了多种收集方式(证书透明、搜索引擎、DNS数据集、暴力破解等)。
项目地址:https://github.com/shmilylty/OneForAll

3. 利用DNS历史记录公开数据
一些网站会记录域名与IP的历史解析关系,可用于发现老旧的、被遗忘的资产。
- ip138:
https://site.ip138.com/ip/domain.htm

- HackerTarget:
https://hackertarget.com/find-dns-host-records/

- Netcraft:
https://searchdns.netcraft.com/

- ViewDNS.info:
http://viewdns.info/ 提供丰富的反向查询功能(反查IP、反查Whois等)。


4. 子域名暴力破解
对于在线工具无法发现的深层次域名,暴力破解是必要手段。常用工具有:
https://github.com/knownsec/ksubdomain
https://github.com/FeeiCN/ESD
https://github.com/Lijijie/subDomiansBrute
5. 利用证书透明度(CT)日志
SSL/TLS证书在签发时会被记录到公开的CT日志中,这些日志包含了证书关联的域名信息,是发现子域名的宝藏。
常用查询网站:
- crt.sh:
https://crt.sh/
- Facebook CT:
https://developers.facebook.com/tools/ct
- SSLMate CertSpotter:
https://sslmate.com/certspotter/api/
- Censys:
https://censys.io/certificates


6. Whois查询
通过Whois协议查询域名的注册信息,可能获得注册人、联系方式、注册商、DNS服务器等线索。
常用工具:
- 站长之家Whois:
http://whois.chinaz.com/
- 阿里云Whois:
https://whois.aliyun.com/
7. 搜索引擎语法(Google Dorking)
利用搜索引擎的高级语法,可以精准地发现特定资产、配置文件、敏感信息等。
-
site:example.com // 搜索指定域名的所有内容,可用于发现子域名。

-
site:sohu.com -www // 排除www主站,搜索其他子域。

-
filetype:git // 搜索特定类型的文件(如git配置文件、sql备份等)。

-
intitle:“阿里云” // 搜索标题中含有关键词的页面。

-
intext:“powered by wordpress” // 搜索正文中含特定文本的页面,用于识别CMS。
8. 流量分析与JS文件挖掘
在访问目标网站时,通过浏览器开发者工具抓包,仔细分析请求和响应。
- JS文件:前端JavaScript文件中常常会硬编码新的API接口域名、第三方服务地址等。
- 配置文件:如
config.js、setting.json等可能泄露内部接口或路径。
9. 非标端口与目录探测
许多服务的入口并不在常见的80/443端口或网站根目录。需要进行:
- 端口扫描:使用Nmap等工具探测开放端口。
nmap -p 1-65535 <目标IP> # 全端口扫描(慢)
nmap -p 80,443,8080,8000,5000 <目标IP> # 常用端口扫描
nmap -sV -p <开放端口> <目标IP> # 服务版本探测
- 目录/路径爆破:使用Gobuster、Dirb等工具发现隐藏路径。
gobuster dir -u http://<目标域名>:<端口> -w /path/to/wordlist.txt
dirb http://<目标域名>:<端口> /path/to/wordlist.txt
可以编写脚本将两者结合,实现自动化:
#!/bin/bash
TARGET=$1
WORDLIST="/usr/share/wordlists/dirb/common.txt"
# 检查输入
if [ -z "$TARGET" ]; then
echo "Usage: $0 <target-domain>"
exit 1
fi
# 端口探测
echo "Scanning ports for $TARGET..."
nmap -p 1-65535 $TARGET -oN ports.txt
# 查找开放的 HTTP/HTTPS 端口
OPEN_PORTS=$(grep "/open" ports.txt | awk '{print $2}' | tr '\n' ' ')
if [ -z "$OPEN_PORTS" ]; then
echo "No open ports found."
exit 1
fi
# 迭代每个开放的端口进行目录探测
for PORT in $OPEN_PORTS; do
echo "Found open port: $PORT"
# 目录探测
echo "Directory scanning on http://$TARGET:$PORT..."
gobuster dir -u http://$TARGET:$PORT -w $WORDLIST
done
10. Host碰撞
在虚拟主机或反向代理场景下,服务器通过HTTP请求头中的Host字段来决定将请求路由到哪个后端服务。如果我们有目标的内网IP段和一批可能的内部域名,就可以通过组合碰撞来发现那些隐藏在公网IP后的内部系统。
- 原理:将收集到的IP列表和域名列表组合,用每个IP作为请求目标,在每个请求中尝试不同的
Host头值。
- 手动测试:使用Burp Suite的Intruder模块,设置
Host头为Payload位置进行爆破。
- 自动化工具:
https://github.com/fofapro/Hosts_scan
https://github.com/cckuailong/hostscan
使用工具时,需要准备host.txt(域名字典)和ip.txt(IP字典)。

运行后,成功的碰撞会返回不同于其他请求的响应。

0x03 指纹识别与深度信息收集
资产摸清后,下一步就是识别这些资产的技术细节,也就是“指纹”。
1. 框架与CMS识别
- 在线工具/浏览器插件:如Wappalyzer,能够快速识别网站使用的技术栈(前端框架、服务器、编程语言等)。

例如,Django框架可能在JS中包含特定变量:
var django = { "jQuery": jQuery.noConflict(true) };
- 专用CMS识别工具:
- CMSeeK:专门用于检测和扫描CMS漏洞的工具。

- **CmsVulScan**:基于指纹识别的CMS漏洞扫描器。

2. 代码仓库与网盘信息泄露
在Github、语雀、网盘等公开平台上,很可能存在目标公司员工无意中上传的敏感信息。
- Github搜索:使用高级搜索语法,关键词包括公司名、项目名、邮箱后缀以及各类敏感词(
password, secret, config, api_key, jdbc, aws_access等)。
高级搜索地址:https://github.com/search/advanced


- 语雀搜索:直接搜索企业名称、域名或产品名。
- 网盘搜索:利用凌风云、猪猪盘等网盘搜索引擎,搜索企业名称或项目相关文档,有时能找到内部培训资料、客户名单、技术文档等。



3. 综合性资产发现与指纹工具
- TideFinger(潮汐指纹):一个集成的Web指纹识别平台,能识别CMS、中间件、操作系统、WAF等多种信息。
在线版:http://finger.tidesec.net/
命令行版:https://github.com/TideSec/TideFinger


- Amass:由OWASP维护的顶级网络资产发现与子域名枚举工具,支持被动信息收集和主动爆破。
项目地址:https://github.com/owasp-amass/amass


结语
资产收集是渗透测试乃至日常安全运维中至关重要且充满技巧的一环。它没有固定的“完美”流程,更像是一个根据目标特点不断调整、循环深入的过程。本文梳理的从企业信息到域名IP,再到技术指纹的收集思路,以及中间穿插的各类工具,旨在提供一个相对完整的“工具箱”和行动指南。
关键在于灵活组合:先利用公开信息源(企业查询、备案、CT日志)进行“面”的拓展,再通过工具爆破、搜索引擎语法进行“点”的深挖,最后通过指纹识别和代码泄露搜索来丰满资产的“血肉”(技术细节和潜在漏洞入口)。希望这些总结的思路和工具能帮助你更高效、更全面地绘制出目标网络空间的地图。
当然,工具的更新迭代很快,持续关注像云栈社区这样的技术论坛,是获取最新工具和思路的好方法。记住,在合法授权的前提下进行测试,并妥善保管收集到的信息。