万字长文窥探信息收集真正的艺术
字数 2640 2025-08-20 18:17:07

信息收集的艺术:全面渗透测试资产收集指南

前言

信息收集远不只是简单地查找子域名、扫描目录和端口。本文将系统性地介绍信息收集的完整流程和方法,帮助您掌握信息收集的真正艺术。

信息收集流程概述

  1. 自动化信息收集阶段 - 使用工具自动进行初步信息收集
  2. 资产发现阶段 - 收集组织信息、主域名和子域名
  3. 资产扩展阶段 - 收集端口和C段信息
  4. 资产梳理阶段 - 进行存活检测和指纹识别
  5. 自动化扫描阶段 - 使用漏洞扫描器测试
  6. 重点目标针对收集阶段 - 对关键资产进行深度信息收集

[0] 自动化信息收集阶段

在手工信息收集前,建议使用自动化工具快速进行初步信息收集,与手工收集相互补充。

推荐工具

  • ARL(尤其推荐其文件泄露功能)
  • 灯塔(需使用第三方备用库)

[1] 资产发现阶段

组织结构收集

适用对象:大型集团、企业、政党单位、高校等结构复杂的组织

作用

  1. 全面收集所有子公司,扩大攻击面
  2. 采用自下而上或自上而下的攻击策略
  3. 发现内网横向移动的机会

收集方法

  1. 股权收集法

    • 使用爱企查查看股权穿透图
    • 记录股权占比>50%的子公司名称(保存为company.txt)
  2. 关键人物收集法

    • 从法人代表入手查找关联公司
    • 从高管入手查找关联公司

主域名收集

使用组织结构收集得到的company.txt,进一步收集各公司的主域名。

方法

  1. ICP备案查询

    • 官网查询接口(适合子公司少的情况)
    • 第三方程序查询接口(适合大型目标,如icpsearch工具)
  2. 小蓝本查询

    • 通过知识产权板块获取ICP备案信息

结果处理
使用正则表达式提取域名:([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}

子域名收集

1. 网络测绘引擎(以FOFA为例)

基本语法:

domain="主域名" || cert="公用名" || cert="组织名1" || cert="组织名2"

技巧

  • 同时使用domain和cert查询语法可发现更多资产
  • 手动查看HTTPS站点证书,获取更多公用名和组织名
  • 开启"all"模式查询历史记录(需会员)
  • 批量处理domain.txt文件进行查询

2. 英文证书查询(crt.sh)

  • 使用q模式(精准)或o模式(模糊)查询
  • 批量提取公用名(通常是域名或子域名)

3. OneForAll工具

  • 集成多种子域名收集方法
  • 需配置各种API以发挥最大功效

格式处理
使用脚本将混乱的URL格式分离为:

  • subdomain.txt - 纯子域名
  • url.txt - 带协议头的URL
  • ip.txt - 纯IP地址

[2] 资产扩展阶段

端口收集

对收集到的ip.txt进行全端口扫描:

fscan.exe -hf ip.txt -t 3000 -p 1-65535 -num 100 -np -o result.txt

结果处理
使用fscanOutput.py脚本对扫描结果进行分类整理。

C段收集

适用场景:大型目标通常购买整个C段IP

收集方法

  1. 使用Eeyes工具根据子域名整理C段:
    Eeyes -l subdomain.txt
    
  2. 手动选择存活IP多的C段保存为c.txt
  3. 合并ip.txt和c.txt为ip_c.txt
  4. 进行全端口扫描

HOST碰撞

步骤

  1. 批量解析subdomain.txt,记录无法解析的域名
  2. 使用这些域名与ip_c.txt进行HOST碰撞

工具推荐

  • HostCollision
  • Hosts_scan

[3] 资产梳理阶段

测活+指纹识别

步骤

  1. 合并url.txt和带协议头的ip地址为web.txt
  2. 去重处理
  3. 使用指纹识别工具同时进行存活检测

推荐工具

  • TideFinger:TideFinger -uf web.txt -nobr -nopoc
  • EHole:ehole.exe finger -l web.txt

[4] 自动化扫描阶段

在深入信息收集前,可先批量运行漏洞扫描器:

推荐工具

  • Nuclei:nuclei.exe -list test.txt -o output.txt
  • Afrog:afrog -T urls.txt
  • AWVS:使用Python脚本批量添加目标
  • Xray:
    # 批量扫描
    python xray.py -r test.txt
    # 爬取单个目标
    xray.exe webscan --basic-crawler http://xxxx.com/ --html-output output-a.html
    # 与Burp联动
    xray.exe webscan --listen 127.0.0.1:7777 --html-output output-b.html
    
  • Goby

[5] 重点目标针对收集阶段

架构信息收集

  1. 反向代理

    • 识别:Wappalyzer浏览器插件
  2. 负载均衡

    • 识别:lbd工具(Kali自带)
  3. 站库分离

  4. CDN

    • 识别:多地ping测试(17ce)
    • 绕过方法:
      • 全球ping(ipip.net)
      • 从子域名入手
      • 查找历史DNS记录(IP138)
      • 使用接口查询(Get-site-ip)
      • 使用反向邮件
      • FuckCDN工具
      • 利用SSRF漏洞
      • phpinfo.php探针
  5. WAF

    • 识别:wafw00f工具或视觉分析

源码信息收集

  1. CMS识别

    • 工具:云悉、360观星
  2. 闭源售卖源码查找

  3. 源码泄露

    • index of目录遍历
    • 工具:
      • GitHack
      • SvnHack
      • ds_store_exp

网站基本信息收集

  1. 语言:Wappalyzer
  2. 数据库:Wappalyzer或FOFA
  3. Web容器:Wappalyzer或FOFA
  4. 操作系统:大小写测试或Ping TTL值分析

网站深度信息收集

  1. 目录扫描

    • 工具:
      • FUFF(推荐)
      • 7kbscan-WebPathBrute
      • dirsearch(Kali自带)
  2. JS接口收集

    • 使用浏览器控制台脚本下载所有JS文件
    • 提取JS中的API接口
    • 工具:
      • JSfinder
      • packer-fuzzer
      • URLfinder
  3. 快照:网站时光机(Wayback Machine)

  4. 插件信息:Wappalyzer

  5. 第三方接口信息:Wappalyzer

  6. 旁站

  7. 端口服务

    • 工具:
      • nmap(Kali自带)
      • railgun(推荐,速度快)

网盘信息收集

  1. GitHub搜索

    • 语法示例:
      in:name test
      in:description test
      stars:>3000 test
      site:Github.com smtp
      site:Github.com password
      
    • 监控工具:云绘监控
  2. 其他网盘:GitLab、码云、语雀等

  3. 工具

    • gitdorks_go
    • GitDorker

社工信息收集

主要依赖人工查找,关注:

  • 域名服务商
  • 服务器供应商
  • 网站管理员
  • 开发人员信息

Google语法示例

site:baidu.com ext:php inurl:?
site:openbugbounty.org inurl:reports intext:"baidu.com"
site:"baidu.com" ext:log | ext:txt | ext:conf
inurl:url= | inurl:return= | inurl:next= site:baidu.com

小程序信息收集

  1. 使用安卓模拟器或Burp Suite抓包分析
  2. 反编译源码查找泄露信息

APP信息收集

外在分析

  • 抓包分析Web资产

内在分析

  1. 查壳工具(apkscan)
  2. 安卓信息提取器(AppInfoScanner)
  3. 反编译工具(APKEditor)

总结

信息收集是一个灵活的过程,关键在于学习如何层层深入收集目标信息。本文重点介绍了资产发现与扩展的方法,对重点资产的深度收集也有简要提及。掌握这些技巧,您将能够在渗透测试中更有效地发现攻击面。

信息收集的艺术:全面渗透测试资产收集指南 前言 信息收集远不只是简单地查找子域名、扫描目录和端口。本文将系统性地介绍信息收集的完整流程和方法,帮助您掌握信息收集的真正艺术。 信息收集流程概述 自动化信息收集阶段 - 使用工具自动进行初步信息收集 资产发现阶段 - 收集组织信息、主域名和子域名 资产扩展阶段 - 收集端口和C段信息 资产梳理阶段 - 进行存活检测和指纹识别 自动化扫描阶段 - 使用漏洞扫描器测试 重点目标针对收集阶段 - 对关键资产进行深度信息收集 [ 0 ] 自动化信息收集阶段 在手工信息收集前,建议使用自动化工具快速进行初步信息收集,与手工收集相互补充。 推荐工具 : ARL(尤其推荐其文件泄露功能) 灯塔(需使用第三方备用库) [ 1 ] 资产发现阶段 组织结构收集 适用对象 :大型集团、企业、政党单位、高校等结构复杂的组织 作用 : 全面收集所有子公司,扩大攻击面 采用自下而上或自上而下的攻击策略 发现内网横向移动的机会 收集方法 : 股权收集法 : 使用爱企查查看股权穿透图 记录股权占比>50%的子公司名称(保存为company.txt) 关键人物收集法 : 从法人代表入手查找关联公司 从高管入手查找关联公司 主域名收集 使用组织结构收集得到的company.txt,进一步收集各公司的主域名。 方法 : ICP备案查询 : 官网查询接口(适合子公司少的情况) 第三方程序查询接口(适合大型目标,如icpsearch工具) 小蓝本查询 : 通过知识产权板块获取ICP备案信息 结果处理 : 使用正则表达式提取域名: ([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,} 子域名收集 1. 网络测绘引擎(以FOFA为例) 基本语法: 技巧 : 同时使用domain和cert查询语法可发现更多资产 手动查看HTTPS站点证书,获取更多公用名和组织名 开启"all"模式查询历史记录(需会员) 批量处理domain.txt文件进行查询 2. 英文证书查询(crt.sh) 使用q模式(精准)或o模式(模糊)查询 批量提取公用名(通常是域名或子域名) 3. OneForAll工具 集成多种子域名收集方法 需配置各种API以发挥最大功效 格式处理 : 使用脚本将混乱的URL格式分离为: subdomain.txt - 纯子域名 url.txt - 带协议头的URL ip.txt - 纯IP地址 [ 2 ] 资产扩展阶段 端口收集 对收集到的ip.txt进行全端口扫描: 结果处理 : 使用fscanOutput.py脚本对扫描结果进行分类整理。 C段收集 适用场景 :大型目标通常购买整个C段IP 收集方法 : 使用Eeyes工具根据子域名整理C段: 手动选择存活IP多的C段保存为c.txt 合并ip.txt和c.txt为ip_ c.txt 进行全端口扫描 HOST碰撞 步骤 : 批量解析subdomain.txt,记录无法解析的域名 使用这些域名与ip_ c.txt进行HOST碰撞 工具推荐 : HostCollision Hosts_ scan [ 3 ] 资产梳理阶段 测活+指纹识别 步骤 : 合并url.txt和带协议头的ip地址为web.txt 去重处理 使用指纹识别工具同时进行存活检测 推荐工具 : TideFinger: TideFinger -uf web.txt -nobr -nopoc EHole: ehole.exe finger -l web.txt [ 4 ] 自动化扫描阶段 在深入信息收集前,可先批量运行漏洞扫描器: 推荐工具 : Nuclei: nuclei.exe -list test.txt -o output.txt Afrog: afrog -T urls.txt AWVS:使用Python脚本批量添加目标 Xray: Goby [ 5 ] 重点目标针对收集阶段 架构信息收集 反向代理 识别:Wappalyzer浏览器插件 负载均衡 识别:lbd工具(Kali自带) 站库分离 CDN 识别:多地ping测试(17ce) 绕过方法: 全球ping(ipip.net) 从子域名入手 查找历史DNS记录(IP138) 使用接口查询(Get-site-ip) 使用反向邮件 FuckCDN工具 利用SSRF漏洞 phpinfo.php探针 WAF 识别:wafw00f工具或视觉分析 源码信息收集 CMS识别 工具:云悉、360观星 闭源售卖源码查找 源码泄露 index of目录遍历 工具: GitHack SvnHack ds_ store_ exp 网站基本信息收集 语言 :Wappalyzer 数据库 :Wappalyzer或FOFA Web容器 :Wappalyzer或FOFA 操作系统 :大小写测试或Ping TTL值分析 网站深度信息收集 目录扫描 工具: FUFF(推荐) 7kbscan-WebPathBrute dirsearch(Kali自带) JS接口收集 使用浏览器控制台脚本下载所有JS文件 提取JS中的API接口 工具: JSfinder packer-fuzzer URLfinder 快照 :网站时光机(Wayback Machine) 插件信息 :Wappalyzer 第三方接口信息 :Wappalyzer 旁站 端口服务 工具: nmap(Kali自带) railgun(推荐,速度快) 网盘信息收集 GitHub搜索 语法示例: 监控工具:云绘监控 其他网盘 :GitLab、码云、语雀等 工具 : gitdorks_ go GitDorker 社工信息收集 主要依赖人工查找,关注: 域名服务商 服务器供应商 网站管理员 开发人员信息 Google语法示例 : 小程序信息收集 使用安卓模拟器或Burp Suite抓包分析 反编译源码查找泄露信息 APP信息收集 外在分析 : 抓包分析Web资产 内在分析 : 查壳工具(apkscan) 安卓信息提取器(AppInfoScanner) 反编译工具(APKEditor) 总结 信息收集是一个灵活的过程,关键在于学习如何层层深入收集目标信息。本文重点介绍了资产发现与扩展的方法,对重点资产的深度收集也有简要提及。掌握这些技巧,您将能够在渗透测试中更有效地发现攻击面。