目录
[1. 域名信息](#1. 域名信息)
[2. IP地址与网络信息](#2. IP地址与网络信息)
[3. 备案与注册信息](#3. 备案与注册信息)
[4. Web应用与中间件信息](#4. Web应用与中间件信息)
[5. 操作系统与服务器信息](#5. 操作系统与服务器信息)
[6. 敏感文件与配置文件](#6. 敏感文件与配置文件)
[7. 社交工程信息](#7. 社交工程信息)
[8. 证书与加密信息](#8. 证书与加密信息)
[9. API与接口信息](#9. API与接口信息)
[10. 外部威胁情报](#10. 外部威胁情报)
[11. 历史数据与缓存](#11. 历史数据与缓存)

在网络安全渗透测试中,信息收集是最基础也是最关键的步骤,主要目的是通过各种手段收集目标系统的公开信息,为后续的漏洞扫描、漏洞利用和攻击提供依据。
1. 域名信息
- 域名注册信息(WHOIS):获取域名的注册者信息(如姓名、邮箱、电话、地址等),有时这些信息可以帮助识别潜在的攻击目标或发现攻击者的弱点。
- DNS信息:通过DNS解析获取域名的IP地址、NS记录、MX记录等。还可以检测DNS域传送漏洞。
- DNS记录:如A记录、CNAME记录、MX记录等,用于了解目标域名的网络架构。
- 子域名(Subdomain):列出目标域名下的所有子域名,子域名常常包含不同的服务和入口点,可以是攻击的潜在目标。
2. IP地址与网络信息
- 目标的IP地址:通过域名解析获取目标的IP地址,或者使用IP扫描工具扫描目标的IP范围。
- IP地址地理位置:利用地理定位服务,分析目标IP的地理位置,帮助识别数据中心、托管服务提供商等信息。
- 子网信息:了解目标是否有外部设备或者其他网络组件暴露。
3. 备案与注册信息
- ICP备案号:尤其是中国的目标,查找其ICP备案信息,可以获得网站所属公司或单位的相关信息。
- 注册信息:收集目标网站的公司、法人等公开信息,帮助理解组织结构与目标的业务领域。
4. Web应用与中间件信息
- CMS(内容管理系统):识别目标网站是否使用WordPress、Drupal、Joomla等CMS,了解其版本和已知漏洞。
- Web服务器信息:通过HTTP响应头部或工具(如Wappalyzer)分析目标Web服务器类型(Apache、Nginx、IIS等),获取相关版本信息。
- 中间件与框架:通过指纹识别工具识别目标使用的开发框架和中间件(如Node.js、Tomcat、Spring等)。
- 数据库信息:查找Web应用所使用的数据库(MySQL、PostgreSQL、MongoDB等),了解其类型和版本,帮助后续注入等攻击。
5. 操作系统与服务器信息
- 操作系统:通过Nmap扫描、Banner Grabbing等方式,确定目标的操作系统(Windows、Linux等)和版本信息。
- 开放端口与服务:使用工具如Nmap扫描开放端口,识别各端口所提供的服务(如SSH、FTP、HTTP等)。
6. 敏感文件与配置文件
- 配置文件:寻找可能泄露的配置文件(如robots.txt、sitemap.xml、.git、.svn等),有时这些文件会暴露敏感信息,如路径、备份文件等。
- 敏感文件:例如数据库备份、源代码文件、日志文件、API密钥、用户凭证等,都是潜在的攻击目标。
- 文件目录扫描:利用工具扫描Web服务器的目录结构,检查是否有敏感文件(如phpinfo.php、.git、.svn等)。
7. 社交工程信息
- 社交媒体与公开信息:从公开的社交媒体(如LinkedIn、Facebook、Twitter等)获取员工信息、公司动态、组织结构等。
- 电子邮件地址:收集公司员工的邮箱地址,用于进一步的社交工程攻击或信息泄露。
- 员工信息:通过社交工程或公开渠道收集员工信息,寻找潜在的内部弱点。
8. 证书与加密信息
- SSL/TLS证书信息:获取网站的SSL证书,分析证书的有效性、颁发机构、证书的使用期限等信息。
- SSL/TLS弱点:分析SSL/TLS配置,检查是否存在弱密码套件或不安全的加密协议(如SSLv2、SSLv3等)。
9. API与接口信息
- API暴露与泄漏:检查目标是否有未加密的API接口,或者暴露敏感数据的API。
- 接口文档:分析是否存在公开的接口文档(如Swagger文档),这些文档可能包含API端点和参数信息,有助于后续的攻击。
10. 外部威胁情报
- 威胁情报平台:通过集成的威胁情报平台(如VirusTotal、Shodan、Censys等)收集有关目标的公开数据,获取相关的安全事件、攻击日志等信息。
- 黑市数据:某些攻击者可能从黑市获得组织的泄露数据,如账户、密码、敏感文件等。
11. 历史数据与缓存
- Wayback Machine:查找目标网站的历史版本,分析过去的内容和架构,可能发现未被当前网站所保护的资源。
- Google缓存:通过Google缓存查看目标网站的历史页面,获取可能泄漏的信息。
常用工具与技术:
- WHOIS查询:whois.domaintools.com、whois.arin.net
- DNS查询:nslookup、dig、dnsdumpster、shodan
- Web指纹识别:Wappalyzer、WhatWeb、BuiltWith
- 端口扫描:Nmap
- 子域名扫描:Sublist3r、Subfinder、Amass
- CMS识别:WhatCMS、CMS Detector
- 文件扫描:DirBuster、Gobuster、Dirsearch
- 社交工程:Maltego、Recon-ng
信息收集是一个持续的过程,随着渗透测试的进行,还可以不断补充和完善收集到的目标信息。通过这些信息,渗透测试人员能够对目标进行深度分析,从而制定更加有效的攻击计划。