介绍

信息收集是渗透测试的基石,直接决定了后续攻击的广度和深度。所谓的“正面”与“侧面”,本质区别在于是否与目标系统发生直接交互

一、正面信息收集(主动侦察)

核心逻辑:直接向目标发送探测请求,通过分析响应获取情报。优点是信息准确,缺点是会留下访问日志,容易被防御系统发现。

1. 网络层探测

  • 存活主机发现:使用 pingnmap -snfping进行 ICMP 探测,或利用 TCP SYN 扫描(nmap -PS)来绕过某些防火墙的禁 ping 策略。

  • 端口服务识别:通过 nmap -sS(半开扫描)或 -sV(版本探测)确定开放端口及运行的服务(如 SSH、HTTP、数据库)。

2. 应用层爬取

  • Web 目录/文件枚举:使用 gobusterdirbffuf配合字典,暴力扫描隐藏的目录、备份文件(.bak)、配置文件等。

  • 技术栈指纹识别:分析 HTTP 响应头中的 ServerX-Powered-By字段,以及页面源码中的注释、特定文件(如 /robots.txt)来识别 CMS、框架及中间件版本。

3. 自动化工具整合

利用 nmap脚本引擎(--script)或自动化框架(如 recon-ngtheHarvester)批量处理,从单一工具输出自动导入到下一个环节。

二、侧面信息收集(被动侦察)

核心逻辑:不直接触碰目标,而是从第三方平台或公开渠道“拼凑”情报。优点是隐蔽性强,几乎零风险。

1. 公开情报(OSINT)挖掘

  • 域名与子域名:通过 whois查询注册信息,利用搜索引擎(Google dorking)、证书透明度日志(CT log,如 crt.sh)或平台(如 SecurityTrails)挖掘子域名。

  • 代码泄露:在 GitHub、GitLab 等平台搜索目标相关代码仓库,常能发现硬编码的 API 密钥、数据库连接字符串等敏感信息。

  • 历史漏洞关联:查询 CVEExploit-DB等数据库,结合已识别的软件版本寻找可利用的公开漏洞。

2. 社会工程学信息

  • 员工信息收集:从 LinkedIn、企业官网团队介绍中获取员工姓名、邮箱格式(如 first.last@company.com),为后续钓鱼攻击做准备。

  • 供应链与第三方:分析目标使用的第三方服务(如云存储、CDN)或供应商,攻击面往往比主站更薄弱。

三、实战协同流程

在实际渗透中,通常采用“先侧面,后正面”的战术,形成侦察闭环:

  1. 被动定界:通过 OSINT 摸清目标域名、IP 段、子公司及云资产,绘制初步攻击面。

  2. 主动验证:对梳理出的目标进行低速率、分散式的端口扫描,验证服务真实性。

  3. 深度关联:将正面获取的 Banner 信息与被动收集的 CVE 数据匹配,筛选出高价值攻击路径。

⚠️ 法律红线:所有技术仅限在授权测试自有环境中使用。未经授权的渗透测试属于违法行为。

网站页面

在网站渗透中,页面层面的信息搜集是成本最低、风险最小的突破口。你不需要急于扫描或爆破,仅通过浏览器“查看源代码”和观察细节,就能构建出精准的攻击地图。

一、基础指纹:识别“身份”与“弱点”

这部分信息直接决定了后续攻击手法的选择。

关注点

搜集方法

攻击价值

技术栈

查看响应头 ServerX-Powered-By;检查页面底部或注释中的 WordPressThinkPHP等标识

锁定 CMS 或框架后,直接关联已知漏洞(如特定版本的 SQLi 或 RCE)

前端敏感信息

F12查看源码,搜索 adminpasswordtokenAPI_KEY备份等关键词

常能直接发现测试账号、硬编码密钥或未删除的备份文件路径

输入点与参数

观察表单(<input>)、URL 参数(?id=1)、robots.txtsitemap.xml

确定注入点、隐藏接口,robots.txt常泄露管理后台路径

二、关键文件:寻找“入口”与“后门”

这些文件是网站的“藏宝图”,必须优先检查。

  • robots.txt:访问 http://目标/robots.txt。它本意是告诉搜索引擎不要抓取什么,但往往直接暴露了 /admin//backup//database/等敏感目录。

  • sitemap.xml:访问 http://目标/sitemap.xml。它会列出网站所有重要页面的 URL,是快速发现隐藏功能模块的捷径。

  • 错误页面:故意输入错误路径(如 http://目标/xxx),观察 404 或 500 报错信息。详细的错误回显(如数据库报错、绝对路径)是进行 SQL 注入或路径遍历的绝佳线索。

三、交互逻辑:挖掘“隐藏”攻击面

除了静态内容,更要关注网站“怎么用”。

  • 登录/注册流程

    • 用户名枚举:测试注册时提示“用户名已存在”还是“密码错误”,这决定了能否爆破账号。

    • 验证码机制:验证码是否在客户端生成(可绕过)、是否可重复使用、是否触发次数限制。

  • API 接口:通过浏览器开发者工具的 Network(网络)​ 面板,监控 Ajax 请求。寻找未鉴权的 GET/POST接口,这些往往是逻辑漏洞的高发区。

  • 文件上传点:寻找头像上传、附件上传功能,测试是否对文件类型(如 .php.jsp)和后缀进行了严格过滤。

四、防御态势:判断“防守”强度

在动手前,先看看对方有没有“眼睛”。

  • WAF 识别:修改请求头(如畸形的 User-Agent)或发送简单测试载荷(如 '),观察是否返回 403 Forbidden或特定的 WAF 拦截页面(如 Cloudflare、安全狗)。

  • Cookie 策略:检查 Cookie 是否设置了 HttpOnly(防 XSS 窃取)和 Secure(仅 HTTPS 传输)。

  • 框架安全头:查看响应头是否有 X-Frame-Options(防点击劫持)、Content-Security-Policy(CSP)等。

五、实战 SOP:高效信息流

不要盲目翻页,按这个顺序操作效率最高:

  1. 肉眼观察:浏览首页,点击主要功能,形成业务逻辑概念。

  2. 文件抓取:优先访问 robots.txtsitemap.xml,获取目录结构。

  3. 源码分析Ctrl+U查看源代码,搜索敏感关键词。

  4. 流量监控:开启 DevTools → Network,重新操作关键功能(登录、搜索),分析请求/响应。

  5. 指纹归档:将识别出的 CMS、框架、中间件版本记录在案,为后续漏洞利用做准备。

⚠️ 法律与道德边界:上述技术细节仅限用于授权测试CTF 比赛个人学习研究。未经授权对他人网站进行信息搜集可能触犯法律。

whois工具

Whois​ 是渗透测试中用于被动信息收集的基础工具,它通过查询互联网域名注册数据库,帮你回答一个核心问题:“这个网站到底是谁的?”

在正式发起扫描前,先查 Whois 是行业标准动作,能让你在不惊动目标的情况下摸清底细。

一、它能查什么?(关键情报)

Whois 记录是一份“域名身份证”,对于攻击者(或防御者)来说,最有价值的信息通常集中在以下几类:

情报类型

实战价值(攻击视角)

注册商/注册人

获取企业名称、邮箱(常为运维邮箱),可用于社工钓鱼或密码爆破

DNS 服务器

获取 ns1/ns2记录,判断是否使用第三方云服务(如 Cloudflare),避免直接攻击源站

注册/到期时间

判断目标活跃度。刚过期的域名甚至可能被抢注接管

IP 地址段

获取主机 IP,用于绘制更大的网络拓扑,寻找同段其他资产(C 段扫描)

二、怎么查?(多平台操作)

根据你的环境和需求,有多种执行方式:

1. 命令行(Kali/Linux 首选)

最直接、最自动化,适合批量处理。

# 基础查询
whois example.com

# 配合 grep 快速提取关键信息(如注册邮箱)
whois example.com | grep -i "email"

2. 在线查询工具(隐蔽侦察)

不想暴露自己的 IP?使用第三方在线平台,相当于“披着马甲”去问路。

  • 国内常用:站长之家(whois.chinaz.com)、爱站网

  • 国外常用:Whois.com、ICANN Lookup

  • 优势:完全匿名,且部分平台会提供历史记录和关联域名挖掘。

3. 集成化工具(进阶)

在 Kali 中,Whois 常被集成进自动化侦察框架中,如:

  • Recon-ng:通过 whois模块自动查询并存入数据库。

  • theHarvester:配合域名参数,综合搜集邮箱和子域名。

三、实战应用:从 Whois 到攻击链

单纯看信息没用,关键在于情报转化。一个典型的攻击链如下:

  1. 锁定目标whois victim.com,发现注册邮箱为 admin@corp.com

  2. 关联资产:在搜索引擎或 GitHub 搜索 corp.com,发现该公司还有 test.corp.comapi.corp.com等子域。

  3. 社工准备:邮箱格式暴露了命名规则(如 first.last@corp.com),结合 LinkedIn 找到员工名单,生成爆破字典。

  4. 网络测绘:获取 IP 后,在 Shodan 或 Fofa 搜索同网段(如 IP/24),寻找暴露的数据库或管理后台。

四、隐私保护与局限性

⚠️ 注意:现在直接查到详细个人信息越来越难,主要因为 GDPR(通用数据保护条例)等法规的推行,很多注册商对个人信息进行了隐藏(显示为 REDACTED)。

  • 局限性:只能查到公开的注册信息,无法获取服务器实时状态(如端口开放情况)。

  • 法律红线:Whois 查询本身是公开信息访问,但严禁将获取的邮箱、电话用于恶意骚扰、钓鱼或非法入侵。

最佳实践:在授权测试中,将 Whois 作为资产梳理的第一步,配合 nslookupdig等工具,构建完整的初始攻击面清单。

域名查询

域名查询是信息收集的“总入口”,它不仅仅是把域名变成 IP(DNS),而是通过多维度关联,把孤立的域名扩展成一张完整的攻击面地图。在渗透测试中,这步做得好,往往能发现目标自己都遗忘的“影子资产”。

一、基础解析:DNS 的三种查法

这一步解决“域名指向哪里”的问题,是后续所有动作的基石。

工具/方法

命令示例

核心价值

nslookup​ (交互/直查)

nslookup target.comnslookup进入交互模式

快速验证 DNS 解析是否正常,可指定 DNS 服务器(如 server 8.8.8.8

dig​ (Linux 首选)

dig target.com ANYdig @8.8.8.8 target.com A

信息最全。可获取 A 记录(IP)、CNAME(别名)、MX(邮件)、TXT(SPF/DKIM 配置)

host​ (简洁版)

host target.com

输出比 nslookup更简洁,适合脚本化处理

💡 实战技巧:重点关注 CNAME 记录。如果目标用了云服务(如 xxx.cloudfront.net),直接攻击源站 IP 可能无效,必须识别出背后的 CDN 或 WAF。

二、进阶拓展:从“一个点”到“一张网”

单纯解析主域意义有限,真正的价值在于关联挖掘

1. 子域名挖掘(横向扩展)

主站防御强,但子域名(尤其是测试、遗留站点)往往是突破口。

  • 字典爆破:使用 gobuster dnssubfinderamass,配合大字典进行枚举。

  • 证书透明度(CT):查询 crt.sh,通过 HTTPS 证书日志发现从未公开过的子域(如 dev-api.target.com)。

  • 搜索引擎语法:利用 site:target.com-site:www.target.com site:*.target.com挖掘被收录的页面。

2. 历史记录与关联(纵向追溯)

  • DNS 历史记录:使用 SecurityTrailsViewDNS.info,查看域名过去的 IP 解析记录。刚下线的测试服务器 IP​ 往往比当前生产环境更脆弱。

  • IP 反查(C 段扫描):拿到 IP 后,在 ShodanFofa中搜索同网段(如 IP/24),寻找目标公司的其他非公开资产(如监控后台、未备案的子公司站点)。

三、自动化整合:工具链推荐

手动查询效率低,推荐使用以下工具进行“一键式”资产发现:

工具

适用场景

特点

Amass

深度侦察

OWASP 出品,集成了 DNS 枚举、CT 日志、API 查询,数据源最全

Subfinder

快速扫描

速度快,资源消耗少,适合初期快速绘制攻击面

OneForAll

综合收集

国产神器,整合了爆破、搜索引擎、接口查询等多种方式

四、防御规避与注意事项

  • 隐蔽性:直接向目标权威 DNS 发起大量查询会被记录。建议使用公共 DNS(如 8.8.8.8)或配置为低速率扫描。

  • 合法性:仅限在授权测试范围内操作。大规模扫描商业域名或他人资产可能触发法律风险。

  • 信息甄别:注意区分“泛解析”(如 *.target.com都解析到同一 IP)和真实子域,避免无效爆破。

渗透思维:域名查询不是独立的步骤,而是情报的起点。拿到 IP 后要立刻接上端口扫描,发现子域后要立刻接上 Web 指纹识别,形成“查询 → 扫描 → 验证”的闭环。

子域名搜集:one for all

OneForAll 是当前国内安全圈公认的子域名收集“天花板”。它不仅仅是一个简单的 DNS 查询工具,而是一个集成了多源情报、智能爆破、自动验证于一体的自动化资产发现平台。在渗透测试的信息收集阶段,它是将“一个点”(主域名)扩展为“一张网”(完整攻击面)的核心工具。

一、核心能力:为什么它是“神器”?

传统工具(如 nslookup)只能查询已知的 DNS 记录,而 OneForAll 通过 OSINT(开源情报)​ 挖掘目标散落在互联网角落的“影子资产”。

能力维度

实战价值

多源数据聚合

不仅查 DNS,还抓取证书透明度(CT)日志、搜索引擎缓存、威胁情报平台(VirusTotal/Shodan API)、DNS 历史记录等,挖出那些未在公开 DNS 中注册但实际存在的子域。

智能爆破与去噪

内置优化字典,利用 massdns高速解析。最关键的是能自动识别泛解析(如 *.target.com指向同一 IP),剔除大量无效结果,避免“数据海啸”。

存活验证与指纹

最实用的功能。自动对发现的子域进行 HTTP/HTTPS 探测,返回状态码、Title、Banner(Web 指纹),直接输出“活”的资产列表,无缝对接后续漏洞扫描。

风险资产识别

可检测子域名是否可被接管(Subdomain Takeover),例如指向了已删除的 GitHub Pages 或云服务桶。

二、极速上手(Kali/Windows)

环境要求:Python 3.8+ 环境。

1. 安装部署

# 1. 克隆项目
git clone https://github.com/shmilylty/OneForAll.git
cd OneForAll

# 2. 安装依赖(建议使用国内源加速)
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

2. 基础使用命令

# 单个目标(最常用)
python3 oneforall.py --target example.com run

# 批量目标(将域名写入 domains.txt)
python3 oneforall.py --targets domains.txt run

3. 结果解读

运行完成后,结果默认保存在 results/目录下(CSV/TXT 格式)。重点关注以下字段:

  • 域名:发现的子域(如 dev-api.example.com)。

  • 解析 IPC 段扫描的基础,用于发现同网段其他资产。

  • 状态码200(正常页面)、403(可能是后台入口)、302(重定向)。

  • Web 指纹:识别出的 CMS(如 WordPress)或框架,直接关联已知漏洞。

三、实战进阶:从“收集”到“攻击”

单纯收集列表没有意义,关键在于情报转化

  1. C 段测绘:提取结果中的 IP 地址,在 Shodan 或 Fofa 中搜索同网段(IP/24),寻找目标公司的老旧服务器或测试环境。

  2. 脆弱资产筛选:利用 title字段快速筛选出 登录管理测试API等关键词对应的子域,优先进行弱口令爆破或漏洞扫描。

  3. API 增强:在 config/api.py中配置 Shodan、Censys 等 API Key,能显著提升数据挖掘深度(尤其是历史记录和非常规端口服务)。

四、避坑与合规

  • 速率控制:默认并发较高,测试云上资产或受 WAF 保护的目标时,建议修改 config/setting.py中的线程数,避免被拉黑 IP。

  • 法律红线:OneForAll 能力极强,严禁在未授权的情况下对他人域名进行大规模扫描。仅限用于授权测试SRC 漏洞挖掘自有资产梳理

绕过CDN

绕过 CDN 本质上是在授权测试中,通过技术手段找出被 CDN 节点隐藏的源站(真实服务器)IP。这主要依赖“信息差”和“配置疏忽”。以下是实战中常用的思路与手法,按成功率排序。

一、信息收集类(低门槛,首选)

这类方法利用目标暴露在公网的历史数据或关联资产。

  1. 查 DNS 历史记录

    网站接入 CDN 前的解析记录可能被存档。使用 ViewDNS.infoDNSlytics微步在线等工具查询域名的历史 A 记录,常能直接找到旧 IP。

  2. 子域名爆破(最常用)

    主站(www)做了 CDN,但 api.dev.mail.等子域名可能直连源站。用工具(如 subfinderOneForAll)扫出子域,解析其 IP,若与主站同网段(C 段),极可能就是源站。

  3. 空间搜索引擎(FOFA/Shodan)

    利用全网指纹匹配:

    • 证书指纹:获取网站 SSL 证书的 SHA256 指纹,在 Censys 或 FOFA 中搜索 cert="xxx",匹配到的 IP 可能是源站。

    • Favicon 哈希:计算网站 favicon.ico的 mmh3 哈希值,在 Shodan 中搜索 http.favicon.hash:xxxx

    • Title/Body 特征:搜索独特的标题或页面内容。

  4. 邮件头溯源

    注册、找回密码等邮件通常由源站内网发出。查看邮件原文(Header)中的 Received字段,最底层的 IP 往往是真实服务器。

二、技术试探类(需要动手)

通过特定请求或配置漏洞直接“骗”过 CDN。

  1. 非标端口与协议

    • 端口试探:CDN 通常只转发 80/443 端口。直接访问 IP:8080IP:8443等常见管理端口,可能直连源站。

    • 协议遗漏:CDN 可能只配置了 HTTPS,直接访问 HTTP 版(http://domain.com)可能回源。

  2. Host 头伪造

    在请求中修改 Host 头(如 Host: internal.domain.com),或在本地 hosts 文件强行将域名解析到疑似 IP,若浏览器能打开网站,则命中源站。

  3. 边缘节点漏洞

    利用 CDN 配置错误(如未过滤回源请求),通过 SSRF 漏洞或特定 Header(如 X-Forwarded-For)让服务器主动连接你的 VPS,从而暴露源 IP。

三、特殊场景与进阶

  • 国外节点请求:很多国内 CDN 未覆盖海外。使用国外的 DNS(如 8.8.8.8)解析,或通过海外代理/VPS 访问,可能拿到真实 IP。

  • App/小程序抓包:移动端应用内可能硬编码了源站 IP 或内部域名,通过 Burp Suite 或 Fiddler 抓包分析。

  • 全网扫描(Zmap/Masscan):这是“笨办法”但有效。扫描全网 IP,通过 Banner 或页面指纹匹配目标网站。

四、防御视角与法律红线

  • 防御思路:源站应严格设置防火墙只允许 CDN 节点 IP 回源,并清理遗留文件(如 phpinfo.php)、隔离邮件服务。

  • 法律声明:上述技术仅适用于授权渗透测试、红队演练或自家资产排查。未经授权攻击他人 CDN 属于违法行为,请务必在合法合规范围内操作。

如果你有具体的测试场景(如某类网站或特定 CDN 厂商),我可以提供更针对性的排查路径。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐