经验分享|谈谈渗透测试中的信息搜集
字数 2191 2025-08-18 11:37:28

渗透测试中的信息搜集技术详解

1. 信息搜集概述

信息搜集是渗透测试的第一步,分为主动和被动两种方式:

  • 主动信息搜集:直接与目标主机交互获取信息
  • 被动信息搜集:通过搜索引擎或社交平台间接获取目标信息

信息搜集的关键关注点包括:

  • Whois信息
  • 子域名
  • 目标真实IP
  • 旁站和C段
  • 邮箱收集
  • CMS类型识别
  • 敏感目录/文件
  • 端口信息
  • 服务器与中间件信息

2. Whois信息搜集

作用:获取域名注册信息,包括:

  • 注册公司
  • 注册邮箱
  • 管理员联系方式
  • 同一注册人注册的其他域名
  • 域名对应的NS记录、MX记录

常用工具

  • Chinaz
  • Kali Linux下的whois命令

3. 子域名搜集

重要性:主站防御强时,子站往往是突破口

搜集方法

  1. 搜索引擎(Google/Baidu/Bing):"site:example.com"
  2. DNS区域传送漏洞
  3. 工具:
    • 子域名挖掘机Layer
    • subDomainsBrute
    • phpinfo.me
  4. 定制字典暴力破解

4. 目标真实IP获取(绕过CDN)

CDN检测方法

  • 不同地区ping测试,返回不同IP则存在CDN
  • 工具:多个地点ping服务器-网站测速-站长工具

绕过CDN方法

  1. 二级域名法:查找未使用CDN的二级域名
  2. nslookup法:使用国外冷门DNS查询
  3. 其他方法:
    • 查询历史DNS记录
    • 邮件服务器源IP
    • SSL证书查询
    • 网站漏洞利用

5. 旁站和C段查询

概念

  • 旁站:与目标网站同服务器的其他网站
  • C段:与目标IP同C段的其他机器

渗透思路

  1. 通过防御较弱的旁站获取服务器权限
  2. 通过C段其他机器横向移动到目标

常用工具

  • webscan.cc
  • Nmap
  • Zenmap

6. 邮箱收集

收集方法

  1. Whois信息中的注册邮箱
  2. 网站"联系我们"等页面
  3. 搜索引擎查询
  4. 社工库查询泄露密码

渗透用途

  • 密码爆破
  • 钓鱼攻击
  • 社会工程学

工具

  • Kali下的theHarvester

7. CMS类型识别

识别方法

  1. 特有文件识别(如dedecms.css)
  2. 文件MD5(如favicon.ico)
  3. 命名规则
  4. 返回头关键字
  5. 网页关键字
  6. URL特征
  7. Meta特征
  8. Script特征
  9. robots.txt
  10. 网站路径特征
  11. 静态资源特征
  12. 目录爬取

常用工具

  • 云悉
  • BugScaner

8. 敏感目录/文件扫描

扫描内容

  • 管理员入口
  • 敏感文件(.mdb, .excel, .word, .zip, .rar)
  • 源代码泄露(.git, .svn, .DB_store)
  • WEB-INF/web.xml

扫描方式

  1. 目录字典暴力扫描(返回200或403)
  2. 爬虫爬取所有链接

常用工具

  • 御剑
  • Kali下的dirb
  • DirBrute

9. 端口信息搜集

重要性:开放端口越多,攻击面越大

扫描策略

  1. 先用telnet简单探测
  2. 全端口扫描(避免被封IP)
  3. 服务版本探测

常用工具

  • Nmap
  • Masscan

常见端口及渗透方法

端口 服务 渗透用途
21 FTP 匿名访问、爆破、嗅探、提权
22 SSH 爆破、中间人攻击、隧道转发
23 Telnet 爆破、嗅探
25 SMTP 邮件伪造、用户枚举
53 DNS 区域传送、劫持、投毒
80-89,443 Web 各类Web漏洞利用
110 POP3 爆破、嗅探
139,445 SMB 爆破、漏洞利用(如MS17-010)
1433 MSSQL 注入、提权、爆破
1521 Oracle TNS爆破、注入
3306 MySQL 注入、提权、爆破
3389 RDP 爆破、shift后门
6379 Redis 未授权访问
7001 Weblogic 反序列化、弱口令
8080 Jenkins/JBoss 反序列化、弱口令
27017 MongoDB 未授权访问

10. 服务器与中间件信息

搜集方法

  • Nmap/Zmap指纹识别
  • nc/telnet获取Banner信息

工具

  • WhatWeb

11. WAF识别与绕过

识别方法

  • 基于headers头信息
  • 响应特征(如Mod_Security返回406)

工具

  • Wafw00f
  • WhatWaf(还会提供bypass方法)

12. 其他有用信息

  1. 历史漏洞查询:乌云镜像站、CNVD
  2. 社会工程学信息:员工信息、组织架构
  3. 网络拓扑:通过traceroute等

13. 自动化脚本

基于以上内容可编写自动化信息搜集脚本,整合:

  • Whois查询
  • 子域名爆破
  • 端口扫描
  • 目录扫描
  • CMS识别
  • WAF检测等功能

14. 总结

信息搜集是渗透测试成功的关键,需要:

  1. 全面性:覆盖所有可能的攻击面
  2. 准确性:确保信息的真实有效
  3. 持续性:随着渗透进展不断补充新信息
  4. 自动化:使用脚本提高效率

重要原则:信息搜集的质量直接决定渗透测试的成果,需要不断积累和更新技术手段。

渗透测试中的信息搜集技术详解 1. 信息搜集概述 信息搜集是渗透测试的第一步,分为主动和被动两种方式: 主动信息搜集 :直接与目标主机交互获取信息 被动信息搜集 :通过搜索引擎或社交平台间接获取目标信息 信息搜集的关键关注点包括: Whois信息 子域名 目标真实IP 旁站和C段 邮箱收集 CMS类型识别 敏感目录/文件 端口信息 服务器与中间件信息 2. Whois信息搜集 作用 :获取域名注册信息,包括: 注册公司 注册邮箱 管理员联系方式 同一注册人注册的其他域名 域名对应的NS记录、MX记录 常用工具 : Chinaz Kali Linux下的whois命令 3. 子域名搜集 重要性 :主站防御强时,子站往往是突破口 搜集方法 : 搜索引擎(Google/Baidu/Bing):"site:example.com" DNS区域传送漏洞 工具: 子域名挖掘机Layer subDomainsBrute phpinfo.me 定制字典暴力破解 4. 目标真实IP获取(绕过CDN) CDN检测方法 : 不同地区ping测试,返回不同IP则存在CDN 工具:多个地点ping服务器-网站测速-站长工具 绕过CDN方法 : 二级域名法 :查找未使用CDN的二级域名 nslookup法 :使用国外冷门DNS查询 其他方法: 查询历史DNS记录 邮件服务器源IP SSL证书查询 网站漏洞利用 5. 旁站和C段查询 概念 : 旁站 :与目标网站同服务器的其他网站 C段 :与目标IP同C段的其他机器 渗透思路 : 通过防御较弱的旁站获取服务器权限 通过C段其他机器横向移动到目标 常用工具 : webscan.cc Nmap Zenmap 6. 邮箱收集 收集方法 : Whois信息中的注册邮箱 网站"联系我们"等页面 搜索引擎查询 社工库查询泄露密码 渗透用途 : 密码爆破 钓鱼攻击 社会工程学 工具 : Kali下的theHarvester 7. CMS类型识别 识别方法 : 特有文件识别(如dedecms.css) 文件MD5(如favicon.ico) 命名规则 返回头关键字 网页关键字 URL特征 Meta特征 Script特征 robots.txt 网站路径特征 静态资源特征 目录爬取 常用工具 : 云悉 BugScaner 8. 敏感目录/文件扫描 扫描内容 : 管理员入口 敏感文件(.mdb, .excel, .word, .zip, .rar) 源代码泄露(.git, .svn, .DB_ store) WEB-INF/web.xml 扫描方式 : 目录字典暴力扫描(返回200或403) 爬虫爬取所有链接 常用工具 : 御剑 Kali下的dirb DirBrute 9. 端口信息搜集 重要性 :开放端口越多,攻击面越大 扫描策略 : 先用telnet简单探测 全端口扫描(避免被封IP) 服务版本探测 常用工具 : Nmap Masscan 常见端口及渗透方法 : | 端口 | 服务 | 渗透用途 | |------|------|----------| | 21 | FTP | 匿名访问、爆破、嗅探、提权 | | 22 | SSH | 爆破、中间人攻击、隧道转发 | | 23 | Telnet | 爆破、嗅探 | | 25 | SMTP | 邮件伪造、用户枚举 | | 53 | DNS | 区域传送、劫持、投毒 | | 80-89,443 | Web | 各类Web漏洞利用 | | 110 | POP3 | 爆破、嗅探 | | 139,445 | SMB | 爆破、漏洞利用(如MS17-010) | | 1433 | MSSQL | 注入、提权、爆破 | | 1521 | Oracle | TNS爆破、注入 | | 3306 | MySQL | 注入、提权、爆破 | | 3389 | RDP | 爆破、shift后门 | | 6379 | Redis | 未授权访问 | | 7001 | Weblogic | 反序列化、弱口令 | | 8080 | Jenkins/JBoss | 反序列化、弱口令 | | 27017 | MongoDB | 未授权访问 | 10. 服务器与中间件信息 搜集方法 : Nmap/Zmap指纹识别 nc/telnet获取Banner信息 工具 : WhatWeb 11. WAF识别与绕过 识别方法 : 基于headers头信息 响应特征(如Mod_ Security返回406) 工具 : Wafw00f WhatWaf(还会提供bypass方法) 12. 其他有用信息 历史漏洞查询 :乌云镜像站、CNVD 社会工程学信息 :员工信息、组织架构 网络拓扑 :通过traceroute等 13. 自动化脚本 基于以上内容可编写自动化信息搜集脚本,整合: Whois查询 子域名爆破 端口扫描 目录扫描 CMS识别 WAF检测等功能 14. 总结 信息搜集是渗透测试成功的关键,需要: 全面性:覆盖所有可能的攻击面 准确性:确保信息的真实有效 持续性:随着渗透进展不断补充新信息 自动化:使用脚本提高效率 重要原则 :信息搜集的质量直接决定渗透测试的成果,需要不断积累和更新技术手段。