0x01 渗透的灵魂是信息收集
作为一个刚入坑的初学者,发现很多大佬在打靶场或者做实战的时候,最厉害的不是他们用了多强的漏洞利用脚本,而是他们总能找到一些别人找不到的入口。
后来才明白,网络安全圈有一句老话:"渗透的本质就是信息收集。"
今天主要整理一下最近学习的信息收集核心框架,分享一下,欢迎各位大佬和同窗交流。
0x02 信息收集到底在干嘛?
简单来说,信息收集就像是特工在执行任务前踩点。想测试一个网站(资产),不能盲目地瞎猜漏洞。要先摸清它的底细:它开了哪些门(端口)?后院有没有小路(子域名)?保镖是谁(服务器系统)?
根据我最近的学习,主要可以把信息收集拆成以下几个板块:
📁 信息收集├── 📄 流程(先看思路)├── 📄 真实 IP 信息收集(别打错人)├── 📄 子域收集(寻找薄弱防线)├── 📄 端口收集(看开了哪些门)├── 📄 服务器信息收集(摸清底细)├── 📄 目录扫描(翻箱倒柜)└── 📄 自动化收集(解放双手)
0x03 七大板块拆解
1. 流程
很多人一上来就掏出扫描工具一顿狂轰滥炸,这是不对的。
正确的流程应该是:
- 确认目标是谁,拿到一个域名(如
example.com),先确认哪些资产是合法的。 - 找真实 IP(防止打到 CDN 上)。
- 扩充资产(子域名、旁站、C 段)。
- 深入打探(端口、目录、指纹)。
- 最后才是漏洞挖掘。
2. 真实 IP 信息收集
现在很多网站都用了 CDN(内容分发网络,可以理解为替身)。如果直接攻击 CDN 的 IP,其实是在打腾讯云、阿里云或者网宿的服务器,根本碰不到目标网站,还会被安全设备直接封锁。
核心任务: 绕过 CDN,找到目标网站真正的外网真实 IP。
先判断是否存在 CDN
使用多地 ping 工具,如果不同省份解析出的 IP 全都不一样,基本可以确定使用了 CDN;如果全国各地解析出来都是同一个 IP,那大概率就是真实 IP。
a. 通过历史 DNS 记录查询
原理: 网站启用 CDN 前的 DNS 记录可能留存,可以查到历史真实 IP。
常用工具:
- ViewDNS.info:https://viewdns.info/iphistory/
- 微步在线:https://x.threatbook.cn/
b. 子域名突破
原理: 很多站点不会给所有子域名都套 CDN,它们往往部署在同一个机房甚至同一台服务器上,子域名的 IP 往往就是主域名的真实 IP 段。
c. 空间安全搜索引擎
原理: 通过搜索语法找到与目标域名绑定的真实 IP。
Fofa 常用语法:
domain="example.com" && is_domain=true
cert="example.com" && port="80"
Shodan 常用语法:
hostname:"example.com"
ssl:"example.com"
d. 邮件系统
原理: 网站发送的验证码、通知邮件中,邮件头会泄露服务器真实 IP。
操作步骤:
- 注册账号或发起找回密码,触发目标站发送邮件。
- 查看邮件原始内容(邮件客户端 → 更多 → 显示原始邮件)。
- 查找
Received: from字段后的 IP,排除邮件服务商 IP 后验证。
3. 子域收集
主站通常是安全团队的重点保护对象,代码经过反复审计。但企业的边缘子域名(测试环境、内部管理系统)往往是安全的重灾区。
核心任务: 把子域名全找出来,从最薄弱的入口下手。
子域爆破 / 枚举
拿一个几十万行的字典(如 admin、test、oa、api),拼在主域名前面,去问 DNS 服务器:"这个域名存在吗?"
核心工具: Layer 子域名挖掘机、Subfinder、Amass
搜索引擎语法(Google Hacking)
在 Google 中输入 site:target.com,Google 会把抓取到的所有该域名子域名列出来。还可以进一步过滤:
site:target.com inurl:admin
这样可以直接找带有 admin 关键字的子域页面。
4. 端口收集
每一个 IP 地址都有 65535 个"房间"(端口)。Web 服务通常跑在 80 或 443 端口。
核心任务: 看看有没有其他端口开放。比如 21(FTP)、22(SSH)、3306(MySQL 数据库)。如果这些服务使用了弱口令,就可能直接进入。
核心工具: Nmap
基础命令:
nmap -sV -p- 192.168.1.1
参数说明:
-p-:扫描全部 1-65535 个端口(不加则只扫常用的 1000 个)。-sV:探测服务版本。不仅查出端口开放情况,还能识别出如Apache 2.4.41这样的具体版本号,方便后续查找对应的 CVE 漏洞。
5. 服务器信息收集(指纹识别)
摸清对方的底细:操作系统是 Windows 还是 Linux?Web 服务器是 Apache、Nginx 还是 IIS?后端是 PHP 还是 Java?
核心任务: 掌握了这些信息,才能针对性地查找对应的漏洞。
浏览器插件
推荐 Wappalyzer 或 WhatRuns,装在浏览器上,访问目标网站,可以直接显示出该网站使用的语言、中间件、数据库等信息。
查看 HTTP 响应头
用 Burp Suite 抓包,查看服务器返回的 Server 字段(如 Server: nginx/1.18.0)或 X-Powered-By 字段(如 PHP/7.4.3)。虽然管理员可以屏蔽这些信息,但很多时候并没有做这个配置。
6. 目录扫描
网站就像一栋楼,有些房间是公开的(首页),有些房间贴着"闲人免进"(后台管理页、备份文件、敏感目录)。
核心任务: 用字典去碰撞,把网站隐藏的后台路径、backup.zip 这类备份文件爆破出来。经常有粗心的管理员把源码备份直接放在网站根目录下,可以直接下载。
Dirsearch
基于 Python 的命令行工具,速度快,内置字典丰富。
dirsearch -u http://target.com -e php,txt,zip
-e 参数用于指定扫描特定后缀的文件。
Gobuster / Gf
多线程性能高,适合大批量扫描任务。
核心痛点: 目录扫描的成败 90% 取决于字典的质量。
7. 自动化收集
如果每次都要手动开 Nmap、Subfinder、Dirsearch,不仅效率低,各工具之间的数据也不互通。因此诞生了"一键式"自动化信息收集脚本与平台。
OneForAll
专门针对子域名的自动化工具,会同时从证书透明度日志、各大搜索引擎、DNS 爆破等几十个渠道收集子域名,最后去重、存活检测,输出结果非常干净。
ARL 资产侦察灯塔
部分老版本已停止维护,但依然是很多团队自建的资产管理平台。通过 Web 界面输入任务目标,可自动完成子域发现、端口扫描、服务识别等全流程,结果直观易读。
0x04 总结
作为初学者,个人觉得信息收集就像是在拼拼图。收集到的信息越多,这幅图就越完整,漏洞藏在哪里也就一目了然了。
