web安全信息收集技巧+工具汇总
字数 3375 2025-10-14 00:33:59
Web安全信息收集全面指南与工具详解
一、 信息收集概述
信息收集是渗透测试和Web安全评估的第一步,也是至关重要的一步。其核心目标是尽可能地扩大攻击面,为后续的漏洞发现和利用奠定基础。信息收集做得越充分,发现安全弱点的可能性就越大。本指南将信息收集分为以下几个关键层面。
二、 根域名搜集
根域名(或称主域名)是目标的核心标识,例如 freebuf.com。发现所有关联的根域名是第一步。
- 目的:找出目标可能拥有的所有互联网资产,这些资产可能部署在不同的域名下,但属于同一组织。
- 技巧与工具:
- 企业信息查询平台(非常有效):
- 企查查(
https://www.qcc.com/)、爱企查(https://aiqicha.baidu.com/)、小蓝本(https://www.xiaolanben.com/):通过这些商业平台查询目标公司实体,在其“网站备案”、“知识产权”等信息中,经常能发现官方未公开的域名。
- 企查查(
- ICP备案查询:
- ICP备案查询网(
https://www.beianx.cn/search):输入公司名称或已知域名,查询其备案号以及同一备案主体下的所有域名。 - 工业和信息化部政务服务平台(
https://beian.miit.gov.cn/):官方备案查询渠道,信息最权威。
- ICP备案查询网(
- IP反查域名:
https://site.ip138.com/:输入目标IP地址,可以查询该IP上绑定了哪些其他域名。
- WHOIS查询:
- 站长之家(
https://whois.chinaz.com/)、爱站网(https://whois.aizhan.com/):查询域名的注册信息(注册人、邮箱、电话、注册商)。通过对比注册邮箱、电话等信息,可以关联出同一注册人持有的其他域名。
- 站长之家(
- 威胁情报平台:
- VirusTotal:提交域名或IP,在“关系”图谱中常能发现关联的域名。
- 企业信息查询平台(非常有效):
三、 子域名收集
子域名(如 api.freebuf.com, blog.freebuf.com)是目标资产的重要组成部分,往往存在测试环境、后台系统等脆弱点。
- 目的:发现隐藏的、不被注意的子系统,这些系统可能安全性较低。
- 技巧与工具:
- 子域名枚举工具:
- 工具原理:使用字典进行暴力破解,或利用各种接口查询。
- 常用工具:
- subdomainbrute、subfinder、amass、ksubdomain:强大的字典爆破或被动收集工具。
- ARL(灯塔):一个强大的自动化信息收集和资产侦察平台,集成了多种子域名收集方式。
- DNS历史记录查询:
https://www.dnsgrep.cn/:查询域名的DNS解析历史记录,可能会发现已失效但服务器仍在运行的子域名(僵尸域名)。
- SSL证书查询:
https://myssl.com/(如https://myssl.com/weijiangshi.cn?status=q):通过查询域名SSL证书的透明日志,获取证书中包含的所有域名和子域名。Censys、Shodan 等搜索引擎也支持此功能。
- 网络空间搜索引擎:
- Fofa:使用语法
domain="freebuf.com"进行搜索,可以找到直接解析到该根域名的子域名。
- Fofa:使用语法
- 泛解析问题处理:
- 问题:如
*.baidu.com全部解析到baidu.com,导致暴力破解时所有随机子域名都显示有效,干扰结果。 - 解决:在扫描前,先尝试随机生成一个不存在的子域名(如
random123456.freebuf.com)进行访问。如果返回正常页面而非错误提示(如404),则很可能存在泛解析。此时需要工具或脚本对响应内容进行比对去重。
- 问题:如
- 子域名枚举工具:
四、 搜索引擎搜集偏远资产
利用搜索引擎的强大能力,发现与目标相关但不易被常规手段发现的资产。
-
目的:发现那些没有直接DNS关联,但属于目标公司的资产。
-
技巧与语法(以Fofa为例):
- ICP备案号:
icp="京ICP备12345678号" - SSL证书序列号或组织名称:
cert="FreeBuf"或cert.subject="FreeBuf" - 网站图标Hash:
icon_hash="-123456789"(通过计算网站Favicon.ico的哈希值来定位使用相同图标的资产) - 特定标题或正文:
title="某某公司",body="公司爱用的指纹" - 关键Fofa语法总结:
domain="freebuf.com" # 查子域名 body="登录" # 正文包含"登录" title="后台管理系统" # 标题包含指定内容 header="nginx" # 响应头包含"nginx" host=".edu.cn" # 主机名包含".edu.cn" ip="220.181.111.1/24" # 查询IP的C段资产 port="8009" # 查询开放8009端口的资产 status_code="200" # 过滤状态码为200的资产 app="Apache-Tomcat" # 根据指纹识别应用 country="CN" # 搜索指定国家(编码)的资产 region="Henan" # 搜索指定行政区的资产 # 组合查询示例:查找国内教育站点的后台管理系统 domain="*.edu.cn" && (body="登录" || body="后台" || body="系统" || body="管理")
- ICP备案号:
-
谷歌语法(Google Hacking):
site:.edu.cn:限制搜索范围为.edu.cn域名。inurl:admin | login | system:搜索URL中包含特定关键词的页面。intitle:"登录" | "后台" | "管理":搜索标题中包含特定关键词的页面。filetype:pdf | doc | xlssite:freebuf.com:搜索特定站点下的特定类型文件(可能包含敏感信息)。intext:"密码" | "username":搜索正文中包含敏感关键词的页面。- 组合示例:
site:.edu.cn intitle:登录|后台|系统|管理 -inurl:page|files|pagem(查找教育站点的后台,并排除一些干扰路径)。
五、 目录和文件扫描
目标是发现网站上隐藏的目录、敏感文件(如备份文件、配置文件、管理员后台等)。
- 工具:dirsearch、dirmap、ffuf、gobuster。
- Dirsearch 使用详解:
# 基本使用 python3 dirsearch.py -u https://target.com -e php,html,js,json,bak # 常用参数 -u https://target.com # 指定目标URL -L targets.txt # 指定包含多个URL的列表文件 -e php,html,js,bak,zip # 指定要扫描的文件扩展名(-e * 代表所有) -w /path/to/dictionary.txt # 使用自定义字典 -t 50 # 设置线程数(提高速度) -r # 递归扫描,发现目录后会继续深入扫描 --random-agents # 使用随机User-Agent,避免被WAF封禁 -H "Cookie: session=abc123" # 添加Cookie(用于扫描需要认证的路径) --proxy http://127.0.0.1:8080 # 设置代理(方便与Burp Suite联动) # 结果过滤 -i 200,301,302 # 只显示这些状态码的结果 -x 403,404,500 # 排除这些状态码的结果 --exclude-texts "Not Found" # 排除响应正文包含"Not Found"的结果 --exclude-regexps "^Error$" # 使用正则表达式排除响应 # 输出报告 -o /path/to/report.txt --format json
六、 指纹探测
识别网站使用的技术栈(CMS、框架、中间件、前端库等),以便寻找对应的已知漏洞。
- 目的:快速定位攻击方向,例如识别出是WordPress,就可以重点检查其插件、主题漏洞。
- 工具:
- 本地工具:TScan、Wappalyzer(浏览器插件)、WhatWeb。
- 在线平台:BugScanner、云悉。
- Burp Suite插件:如 Software Vulnerability Scanner。
- 探测内容:
- CMS:WordPress, Joomla, Drupal, Discuz! 等。
- Web框架:Spring, Django, Flask, Laravel, Express 等。
- 中间件:Nginx, Apache, Tomcat, IIS, WebLogic 等。
- 前端:JavaScript库(jQuery, Vue, React)。
- 操作系统:Linux, Windows。
七、 端口扫描
发现目标服务器开放的网络端口,判断其上运行的服务。
- 目的:了解目标暴露的服务,如Web服务(80/443)、SSH(22)、数据库(3306, 1433, 27017)、远程桌面(3389)等,这些服务本身可能存在问题。
- 工具:
- Nmap(最强大):
# 基本扫描 nmap -sS -T4 target_ip # TCP SYN扫描,速度快 nmap -sV -sC -T4 target_ip # 版本探测并执行默认脚本 nmap -p 1-65535 -T4 target_ip # 全端口扫描 # 高级用法 nmap -sU -T4 target_ip # UDP端口扫描 nmap -A -T4 target_ip # 激进模式,包含OS检测、版本探测、脚本扫描、路由追踪 nmap -p 80,443,22,21 --script vuln target_ip # 对特定端口进行漏洞脚本扫描 nmap -sS -T4 192.168.1.0/24 # 扫描整个C段 - Masscan:极快的互联网级端口扫描器。
- TScan:国产的综合性扫描工具,也包含端口扫描功能。
- Nmap(最强大):
八、 信息收集流程总结
一个典型的信息收集流程可以概括为:
- 起点:获得一个目标名称或主域名。
- 资产发现:
- 通过企业查询、ICP备案、WHOIS搜集所有关联根域名。
- 对每个根域名,使用工具、DNS历史、SSL证书、搜索引擎进行子域名枚举。
- 使用Fofa/Shodan等搜索引擎,通过ICP、证书、图标等特征搜集偏远资产。
- 服务发现:
- 对发现的IP地址进行端口扫描,确定开放的服务。
- Web应用信息收集:
- 对Web服务进行指纹识别,确定技术栈。
- 进行目录扫描,发现隐藏路径和敏感文件。
- 使用谷歌语法等,深入挖掘敏感信息。
- 整理与关联:将收集到的所有信息(域名、子域名、IP、端口、服务、技术栈)进行整理,形成完整的资产清单和攻击面地图,为后续的漏洞扫描和渗透测试提供输入。
重要声明:本文所有技术内容仅用于安全学习与研究目的。在进行任何安全测试之前,请确保您已经获得了相关目标的明确授权。未经授权的测试是非法的。