信息收集基础:目标资产发现、端口扫描与服务指纹探测
信息收集是整个渗透测试的基石。说白了,你连目标开了哪些门、跑了什么服务都不知道,后面拿什么去撞弱口令?我见过不少新手上来就对着一个 IP 狂扫,结果扫了半天发现是个 CDN 节点——白费力气。
这一章,我们聚焦三件事:目标资产发现(找到真正的主机)、端口扫描(用 Nmap 摸清开放端口)、服务识别与指纹探测(确认服务类型和版本)。这三步走完,你手里就有了一张清晰的攻击面地图。
2.1 目标资产发现:从域名到 IP
很多人以为目标资产就是给个 IP 段。其实不是。真实项目中,目标往往是一堆域名、子域名、甚至云服务商分配的弹性 IP。我个人习惯先做两步:
- DNS 解析:用
dig或nslookup把域名转成 IP。注意 A 记录和 CNAME 记录的区别。 - 子域名枚举:用
subfinder或amass跑一遍,很多弱口令入口藏在admin.target.com或dev.target.com里。
举个例子,我曾经接一个金融客户的项目,主站防护做得滴水不漏。结果子域名枚举发现一个 test.internal.bank.com,直接解析到内网 IP——弱口令一撞就开。嗯,这就是资产发现的威力。
curl -I 快速判断目标是否存活。返回 200 或 301 的才值得继续扫。
2.2 端口扫描:Nmap 实战
Nmap 是端口扫描的瑞士军刀。但别上来就 nmap -A -T4 192.168.1.1,那样太糙了。我一般分三步走:
2.2.1 快速发现存活主机
先做 Ping 扫描,确认哪些 IP 在线:
nmap -sn 192.168.1.0/24
这个命令只发 ICMP 包和 TCP 80/443 探测,速度很快。扫完你会得到一个存活列表。
2.2.2 端口开放探测
对存活主机做 TCP SYN 扫描(半开扫描),速度快且不易被日志记录:
nmap -sS -p 1-65535 --min-rate 5000 192.168.1.10
这里 -sS 是 SYN 扫描,--min-rate 5000 控制发包速率。为什么用这个?我在内网测试时,默认速率太慢,扫一个 C 段要半小时。调高速率后,5 分钟搞定。
-sT(TCP Connect 扫描)代替,但速度会慢一些。
2.2.3 常见端口速查
扫到端口后,你得知道它大概是什么服务。下面是我整理的一张速查表:
| 端口 | 服务 | 弱口令常见场景 |
|---|---|---|
| 21 | FTP | 匿名登录、admin/admin |
| 22 | SSH | root/root、test/test |
| 23 | Telnet | 明文传输,弱口令高发 |
| 3306 | MySQL | root/空密码、root/123456 |
| 3389 | RDP | administrator/空密码 |
| 6379 | Redis | 未授权访问 + 弱口令 |
| 8080 | HTTP 代理 / Tomcat | admin/admin、tomcat/tomcat |
你想想看,如果扫到 3306 端口开放,那后面弱口令扫描的重点就是 MySQL 了。这就是端口扫描的意义——缩小攻击范围。
2.3 服务识别与指纹探测
光知道端口号还不够。比如 80 端口,可能是 Nginx、Apache、IIS 甚至是一个 Node.js 应用。不同服务的弱口令字典和利用方式完全不同。
Nmap 的服务识别靠 -sV 参数:
nmap -sV -p 80,443,3306 192.168.1.10
它会尝试连接端口,发送探测包,然后比对指纹库。输出类似这样:
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41
443/tcp open ssl/http nginx 1.18.0
3306/tcp open mysql MySQL 5.7.32
有了版本号,你就能判断:Apache 2.4.41 有没有已知漏洞?MySQL 5.7.32 的默认密码策略是什么?这些信息直接指导后续的弱口令扫描策略。
-A 参数同时开启 OS 检测和 traceroute。但注意,-A 会增加扫描时间,建议只在关键目标上用。
2.4 本章知识体系
下面这张图把信息收集的流程串起来了。你可以把它当作操作手册:
2.5 避坑指南
信息收集阶段最容易踩的坑,我列几个:
- 扫到 CDN 节点当真实目标:我曾经扫一个电商站,发现 80 端口开放,服务是 Nginx。结果那是 Cloudflare 的节点。后来用
dig查源站 IP 才找到真实服务器。 - 忽略 UDP 端口:很多人只扫 TCP。但 SNMP(161/162)、DNS(53)这些 UDP 服务也经常有弱口令。加个
-sU参数补一下。 - 扫描速率太高被封:外网扫描时,
--min-rate 10000可能直接触发 IDS。我一般外网用--min-rate 1000,内网才敢开高。
好了,信息收集的基础就这些。你把这些步骤走一遍,手里就有了目标资产的完整画像。下一阶段,我们就要拿着这张画像去撞弱口令了——但那是后面的事。先把扫描练熟,别急着开火。