渗透测试之信息收集全攻略:从子域名挖掘到端口扫描实战指南
渗透测试信息收集策略1. 信息收集的重要性信息收集是渗透测试的第一步目的是获取尽可能多的关于目标的信息以便发现潜在漏洞。2. 子域名收集方法一子域名挖掘器使用工具如sublist3r进行暴力枚举sublist3r-dexample.com方法二Google 搜索语法https://cn.bing.com 测验网址Google搜索本质上属于被动信息收集不触碰目标服务器。针对子域名核心操作符是site:。1. 基础子域名查询site:example.com这只是列出所有收录页面噪音很大。2. 精准提取子域名排除主站site:*.example.com -site:www.example.com -site:example.com*是通配符-是排除符。这能直接列出所有二级、三级域名。3. 寻找“隐藏管理后台”或“测试环境”site:*.example.com intitle:登录 | intitle:admin | inurl:login site:*.example.com inurl:dev | inurl:test | inurl:staging4. 寻找泄露的配置文件或源码可能包含内部域名site:example.com filetype:conf | filetype:env | filetype:yaml3. DNS与IP信息查询使用dig命令查询DNS解析记录digexample.com ANYdigexample.com Adigexample.com MX可获取的信息包括IP地址邮件服务器DNS服务器注册商信息WHOIS4. 目录与端口扫描目录扫描工具dirbdirbustergobuster端口扫描工具nmap - 扫描C段发现开放端口和服务nmap基本命令nmap -sS -sV -p22,80,3306,443 192.168.178.1Nmap扫描命令示例-sS -sV -p参数组合可指定扫描22SSH、80HTTP、3306MySQL、443HTTPS等常见服务端口关键点目标类型决定输入格式IP/网段Nmap通过-p参数可精准扫描指定端口端口号与服务需对应记忆如443HTTPSnmap 192.168.178.1-160 探测存活端口可以同时扫描多个IP比如nmap 192.168.50.1 192.168.50.158还能扫描整个IP段例如nmap 192.168.50.1-160这样会自动探测该范围内所有存活主机的常见端口nmap -sL192.168.178.0/24 nmap -sn 192.168.178.0/24-sL只是列出即将扫描的主机列表不会实际执行扫描相当于预览模式。-sn这才是真正执行主机存活探测的参数但不扫描端口。**半连接扫描-sS和全连接扫描-sT**的区别半连接扫描只完成TCP三次握手的前两步发送SYN接收SYN-ACK后就结束而全连接扫描会完整走完三次握手过程。-p-扫描所有端口-T0到-T5数值越小如T0扫描越慢但更精准数值大如T5则速度快但容易漏扫。--script vuln参数启动漏洞扫描常见服务端口端口常见服务用途举例21/tcpFTP文件传输22/tcpSSHLinux 远程管理23/tcpTelnet明文远程管理25/tcpSMTP邮件发送53/tcp/udpDNS域名解析80/tcpHTTPWeb 网站110/tcpPOP3邮件接收139/tcpNetBIOSWindows 文件共享相关143/tcpIMAP邮件接收与管理443/tcpHTTPS加密 Web 网站445/tcpSMBWindows 文件与打印共享3306/tcpMySQLMySQL 数据库3389/tcpRDPWindows 远程桌面5432/tcpPostgreSQLPostgreSQL 数据库6379/tcpRedisRedis 数据库8080/tcpHTTP 备用端口Web 管理页面、应用服务8443/tcpHTTPS 备用端口加密管理页面、应用服务#最简单端口扫描 ┌──(root㉿kali)-[~] └─# nmap 192.168.178.1 Starting Nmap 7.98 ( https://nmap.org ) at 2026-07-19 04:55 -0400 Nmap scan report for 192.168.178.1 Host is up (0.00059s latency). Not shown: 995 filtered tcp ports (no-response) PORT STATE SERVICE 80/tcp open http 81/tcp open hosts2-ns 902/tcp open iss-realsecure 912/tcp open apex-mesh 3306/tcp open mysql MAC Address: 00:50:56:C0:00:08 (VMware) Nmap done: 1 IP address (1 host up) scanned in 5.62 seconds看懂端口状态Nmap 常见的六种端口状态如下状态通俗解释技术含义open门开着里面有人提供服务应用正在接受 TCP 连接、UDP 数据报或 SCTP 关联closed能找到门但门后没有服务目标可达但没有应用监听该端口filtered被保安拦住看不到门内情况防火墙或过滤设备使 Nmap 无法判断开放还是关闭unfiltered能到达端口但当前探测无法判定开关常见于 ACK 扫描open|filtered可能开放也可能被过滤探测没有响应无法区分两种情况closed|filtered可能关闭也可能被过滤特定扫描方式下无法区分--reason判断原因PORT STATE SERVICE REASON 22/tcp open ssh syn-ack ttl 64 23/tcp closed telnet reset ttl 64 80/tcp filtered http no-response解释syn-ack收到 SYN/ACK因此判断端口开放reset收到 RST因此判断端口关闭no-response没有收到响应结合当前扫描方式判断为过滤。TCP 与 UDP 可以组合sudonmap-sS-sU-pT:22,80,443,U:53,161192.168.56.101T:指定 TCP 端口U:指定 UDP 端口