找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2397

积分

0

好友

308

主题
发表于 7 小时前 | 查看: 0| 回复: 0

渗透测试中,拿到目标后,首要任务就是对目标资产进行全面整理,这往往是后续所有测试的基础。目标资产可能是企业名称,也可能是某个具体的域名。这篇文章主要聊聊,面对不同形式的资产起点,我们可以采用哪些思路、渠道和工具进行高效收集。

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

WhoisXML API子域名查询结果

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

Subdomain Finder在线工具扫描结果

2. 自动化子域名枚举工具

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

OneForAll工具运行界面

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

  • ip138:https://site.ip138.com/ip/domain.htm

ip138网站历史IP查询结果

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

HackerTarget子域名查询工具

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

Netcraft网站搜索与排名信息

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

ViewDNS.info工具集合页面

ViewDNS生成的DNS报告

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

crt.sh证书透明度查询结果

SSLMate CertSpotter API查询示例

6. Whois查询
通过Whois协议查询域名的注册信息,可能获得注册人、联系方式、注册商、DNS服务器等线索。
常用工具:

  • 站长之家Whois: http://whois.chinaz.com/
  • 阿里云Whois: https://whois.aliyun.com/

7. 搜索引擎语法(Google Dorking)
利用搜索引擎的高级语法,可以精准地发现特定资产、配置文件、敏感信息等。

  • site:example.com // 搜索指定域名的所有内容,可用于发现子域名。
    Google搜索site:4399.com结果

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

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

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

  • intext:“powered by wordpress” // 搜索正文中含特定文本的页面,用于识别CMS。

8. 流量分析与JS文件挖掘
在访问目标网站时,通过浏览器开发者工具抓包,仔细分析请求和响应。

  • JS文件:前端JavaScript文件中常常会硬编码新的API接口域名、第三方服务地址等。
  • 配置文件:如config.jssetting.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字典)。

host碰撞使用的字典文件

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

Host碰撞脚本运行失败结果

  • 常见的内网系统关键字,可用于生成域名字典:
    admin
    autotest
    confluence
    gitlab
    grafana
    jira
    k8s
    kafka-manager
    oa
    zabbix

0x03 指纹识别与深度信息收集

资产摸清后,下一步就是识别这些资产的技术细节,也就是“指纹”。

1. 框架与CMS识别

  • 在线工具/浏览器插件:如Wappalyzer,能够快速识别网站使用的技术栈(前端框架、服务器、编程语言等)。

Wappalyzer识别出的网站技术栈

  • 命令行工具:如whatweb,适合批量扫描。
    whatweb www.example.com          # 扫描单个目标
    whatweb -i targets.txt --log-brief=result.txt # 批量扫描
  • 手动分析
    • 查看HTML源码中的注释、Meta标签、引入的JS/CSS文件路径特征。
    • 检查HTTP响应头中的X-Powered-ByServer等字段。
    • 分析Cookies名称(如PHPSESSID, JSESSIONID)。
    • 查看特殊的错误页面或登录页面提示。

例如,Django框架可能在JS中包含特定变量:

var django = { "jQuery": jQuery.noConflict(true) };
  • 专用CMS识别工具
    • CMSeeK:专门用于检测和扫描CMS漏洞的工具。

CMSSeeK工具主菜单

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

CmsVulScan扫描过程

2. 代码仓库与网盘信息泄露
在Github、语雀、网盘等公开平台上,很可能存在目标公司员工无意中上传的敏感信息。

  • Github搜索:使用高级搜索语法,关键词包括公司名、项目名、邮箱后缀以及各类敏感词(password, secret, config, api_key, jdbc, aws_access等)。
    高级搜索地址:https://github.com/search/advanced

Github高级搜索界面

Github代码搜索结果显示敏感信息

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

凌风云网盘搜索首页

凌风云网盘搜索结果列表

猪猪盘搜索首页

3. 综合性资产发现与指纹工具

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

TideFinger在线指纹识别平台

TideFinger命令行工具运行结果

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

Amass枚举子域名输出结果

  • TscanPlus:一款综合性的网络安全检测和运维平台,集资产发现、漏洞扫描、目录爆破等功能于一体。
    项目地址:https://github.com/TideSec/TscanPlus

  • EHole_magic:在指纹识别的基础上,对识别出的重点资产(如特定OA、CMS)进行已知漏洞检测。
    项目地址:https://github.com/lemonlove7/EHole_magic

EHole_magic漏洞扫描结果输出

结语

资产收集是渗透测试乃至日常安全运维中至关重要且充满技巧的一环。它没有固定的“完美”流程,更像是一个根据目标特点不断调整、循环深入的过程。本文梳理的从企业信息到域名IP,再到技术指纹的收集思路,以及中间穿插的各类工具,旨在提供一个相对完整的“工具箱”和行动指南。

关键在于灵活组合:先利用公开信息源(企业查询、备案、CT日志)进行“面”的拓展,再通过工具爆破、搜索引擎语法进行“点”的深挖,最后通过指纹识别和代码泄露搜索来丰满资产的“血肉”(技术细节和潜在漏洞入口)。希望这些总结的思路和工具能帮助你更高效、更全面地绘制出目标网络空间的地图。

当然,工具的更新迭代很快,持续关注像云栈社区这样的技术论坛,是获取最新工具和思路的好方法。记住,在合法授权的前提下进行测试,并妥善保管收集到的信息。




上一篇:Windows与Android环境搭建:Frida 17.6.2安装与配置完整指南
下一篇:HexStrike启动后仅监听本地127.0.0.1:快速配置0.0.0.0实现外部访问
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-28 16:54 , Processed in 0.270799 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表