| 维度 | 目标 |
|---|---|
| 知识 | 掌握踩点的概念与目的;理解踩点应收集的三类信息(网络/系统/组织);能区分被动/主动信息收集;熟悉whois、nslookup/dig、ping、tracert等工具的应用场景 |
| 技能 | 能使用whois查询域名注册信息并解读关键字段;能用nslookup/dig查询DNS记录(A/MX/NS/CNAME);能用ping/tracert探测网络连通性和路由路径 |
| 素养 | 建立"先侦察、后行动"的安全工作意识;培养系统化信息收集思维;理解踩点在渗透测试Kill Chain中的前置地位;树立合法合规意识 |
踩点指的是预先到某个地方进行考察,为后面正式到这个地方开展工作做准备。在渗透测试中,踩点的主要目的是进行信息的收集。正所谓"知己知彼,百战不殆",只有详细掌握了目标的信息,才能有针对性地对目标的薄弱点进行渗透。
教材列举四个目的:
踩点究竟要收集哪些信息?教材将其归纳为三大类:
💡 这三类信息由外到内、由浅入深,构成完整的"目标画像"。网络信息告诉你"门在哪里",系统信息告诉你"门锁是什么型号",组织信息告诉你"谁有钥匙"。
教材介绍以下常用命令行工具:
| 工具 | 功能 | 示例命令 |
|---|---|---|
| whois | 查询域名注册信息 | whois baidu.com |
| nslookup | 查询DNS记录 | nslookup baidu.com |
| dig | DNS信息收集(Linux) | dig baidu.com MX |
| ping | 探测主机连通性 | ping 192.168.1.1 |
| tracert | 路由路径追踪 | tracert baidu.com |
工程师小林接到任务:为完成系统漏洞扫描,需要先收集与目标网络系统相关的信息,也就是"踩点"。他准备运用命令行工具和各种技术手段,尽可能多地收集相关信息。
🙋 提问1:"如果我现在让你去渗透测试一个网站,你打开电脑第一步做什么?"
📝 参考答案:不是直接上工具扫描,而是先查这个网站的基本信息——它是谁的、IP是什么、服务器在哪、用的是什么技术栈。这就叫踩点/信息收集。
🙋 提问2:"为什么不能跳过踩点直接开扫?"
📝 参考答案:不知道目标的信息就盲目扫描,就像蒙着眼睛在迷宫里乱撞。可能扫到不属于目标的系统(法律风险),可能遗漏关键入口,效率极低。踩点越充分,后续行动越精准。
🔄 过渡语:"好,我们已经知道踩点是渗透测试的第一步。那么,踩点到底要达成什么目标?带着这个问题,我们进入今天的核心内容。"
教材原文讲解:
踩点指的是预先到某个地方进行考察,为后面正式到这个地方开展工作做准备。
🙋 互动提问:"生活中还有哪些场景可以用'踩点'这个概念来解释?"
📝 参考答案:旅游前查攻略(踩点)→ 实地游玩(行动);面试前查公司背景(踩点)→ 去面试(行动);小偷作案前蹲点观察(踩点)→ 实施盗窃(行动,当然是违法的)。
🔄 过渡语:"既然踩点是'出发前的准备工作',那么做这些准备具体要达到什么目的呢?教材上给出了四个——我们来一一拆解。"
🙋 提问:"如果你踩点发现目标雇了10个人的安全团队,和发现目标根本没有安全团队,你的后续策略会有什么不同?"
📝 参考答案:有专业安全团队 → 需要更隐蔽的被动信息收集,避开IDS/IPS,行动要更谨慎、更慢;没有安全团队 → 可能管理松散,信息暴露面更大,但也不能掉以轻心——可能是外包了安全服务。
🙋 提问:"为什么要缩小范围?IP多扫几个不行吗?"
📝 参考答案:① 大规模扫描容易被IDS发现,打草惊蛇;② 浪费时间,大部分IP可能是打印机、空地址;③ 可能误扫到目标以外的系统,引发不必要的法律问题。
域名: cqupt.edu.cn ├── IP地址: 202.202.43.125 ├── 开放端口: 80(HTTP), 443(HTTPS), 22(SSH) │ └── Web服务器: Nginx 1.18.0 ├── DNS服务器: dns1.cqupt.edu.cn, dns2.cqupt.edu.cn ├── 邮件服务器: mail.cqupt.edu.cn (MX记录) ├── 子域名: www / lib / jw / vpn / oa ... └── 注册信息: 2005年注册, 注册商: 阿里云
🔄 过渡语:"四个目的讲完了——了解架构、缩小范围、建库、绘图。那么问题来了:具体要收集哪些信息才能支撑这四个目的呢?这就是下一节要讲的——踩点的内容。"
🔄 过渡语:"目的是'为什么踩点',内容是'踩点什么'。就像你去菜市场买菜,要知道自己要买肉、菜、调料,才不至于瞎逛。踩点也一样——信息收集有章法,教材把它归纳为三大类。"
是什么:围绕目标网络基础设施的一切数据。
| 信息类型 | 具体内容 | 踩点价值 |
|---|---|---|
| 域名信息 | 主域名、子域名、whois注册信息 | 了解组织规模、业务范围 |
| IP地址 | IP范围、子网划分、公网/内网IP | 确定攻击可达面 |
| 端口与服务 | 开放端口号、对应服务及版本 | 发现潜在漏洞入口 |
| 网络节点 | DNS服务器、邮件服务器、VPN入口 | 找到关键攻击路径 |
🎯 举例:你踩点发现目标有
vpn.xxx.com子域名指向 211.x.x.100,开放了8443端口(非标准HTTPS端口),运行的是某品牌SSL VPN。去查这个VPN的历史漏洞——很可能就是一个突破口。
🙋 提问:"子域名信息为什么重要?主域名保护好了不就够了吗?"
📝 参考答案:很多组织主站安全加固做得好,但子站往往疏于管理。比如主站用了WAF,但 test.xxx.com 可能是一个没人维护的老旧测试系统,成了攻击的软肋。
是什么:目标主机、服务器上运行的操作系统和软件环境数据。
| 信息类型 | 具体内容 | 踩点价值 |
|---|---|---|
| 操作系统 | 类型、版本、补丁级别 | 判断可用的漏洞利用方式 |
| 账户信息 | 用户名、组名、权限分配 | 社工攻击、密码爆破目标 |
| 网络配置 | 路由表、ARP表、DNS设置 | 理解内网拓扑 |
| 中间件 | Web服务器、数据库、应用框架版本 | 针对特定版本漏洞攻击 |
🎯 举例:通过HTTP响应头
Server: Apache/2.4.49发现目标用了Apache 2.4.49版本,这个版本有一个著名的路径穿越漏洞(CVE-2021-41773),攻击者可以直接读取服务器任意文件。
🙋 提问:"如果我从外网访问,怎么知道内网服务器的操作系统和软件版本?"
📝 参考答案:方法很多——① HTTP响应头里的Server字段;② 网站报错页面可能暴露框架信息(如"PHP Fatal error");③ 404页面风格暗示Web服务器类型;④ favicon.ico的hash匹配可以识别CMS;⑤ 端口扫描后根据开放的服务特征推断OS(下节课Nmap会讲到)。
是什么:与目标组织相关的人员、制度、合作伙伴等"人的因素"数据。
| 信息类型 | 具体内容 | 踩点价值 |
|---|---|---|
| 员工信息 | 姓名、职务、邮箱、电话、社交账号 | 社工攻击入口 |
| 组织架构 | 部门设置、管理层名单、IT团队规模 | 判断安全投入水平 |
| 物理信息 | 办公地址、分支机构、机房位置 | Wi-Fi攻击、物理入侵评估 |
| 泄露信息 | 代码注释、文档元数据、GitHub泄露 | 凭据泄漏、内部架构暴露 |
🎯 举例:某攻防演练中,红队通过LinkedIn找到目标公司网管的全名,再用Google搜索发现他在某技术论坛提问"XX品牌防火墙怎么配置端口映射",暴露了防火墙品牌和型号,直接帮助锁定了攻击面。
🙋 提问:"员工信息跟网络安全有什么关系?"
📝 参考答案:人是安全系统中最薄弱的环节。知道网管姓名→可以做针对性钓鱼邮件;知道IT团队小→安全运维可能不到位;GitHub上泄露的代码可能包含硬编码的数据库密码。所以安全不仅是技术问题,也是"人的问题"。
🔄 小结过渡语:"好,我们梳理一下——踩点要收三类信息:网络信息(门在哪里)、系统信息(锁是什么型号)、组织信息(谁有钥匙)。知道了要收集什么,接下来就是——怎么收集?"
🙋 承上启下提问:"有人能猜一猜,踩点的方法可以怎么分类?"
📝 参考答案:有的方法是悄悄查公开资料(被动),有的是主动去探目标系统(主动)。前者隐蔽但不深入,后者深入但可能被察觉。这就引出主动/被动信息收集的概念——
| 维度 | 被动信息收集 | 主动信息收集 |
|---|---|---|
| 方式 | 查询公开信息,不与目标直接交互 | 主动向目标发送探测、扫描 |
| 工具 | whois、搜索引擎、Shodan、DNS查询 | Nmap扫描、端口探测、漏洞扫描 |
| 风险 | 几乎零风险,目标无感知 | 可能触发IDS告警,有暴露风险 |
| 深度 | 信息有限,多为表层 | 信息深入,可获取服务版本、OS类型 |
| 类比 | 站在楼外观察、查房产信息 | 上门按门铃、试探门锁 |
🔄 过渡语:"理论讲完了,接下来动手。教材推荐了五个命令行工具,我们从whois开始——它是所有踩点工作最常用的起点。"
教材知识点:whois是一个标准的互联网协议,可用于收集网络注册信息、注册域名、IP地址等信息。
# 查询域名注册信息 whois baidu.com # 关键输出信息解读: # Domain Name: BAIDU.COM # Registrar: MarkMonitor Inc. ← 注册商 # Creation Date: 1999-10-11 ← 注册时间 # Expiry Date: 2028-10-11 ← 到期时间 # Name Server: NS1.BAIDU.COM ← DNS服务器
教师演示:
whois cqupt.edu.cn(以重庆邮电大学为例,贴近学生生活)🙋 提问:"whois查到的联系邮箱能用来做什么?"
📝 参考答案:可以反查这个邮箱注册了哪些其他域名(关联域名挖掘),也可以用这个邮箱做钓鱼邮件的发件人伪造(社工攻击)。所以现在很多域名开启了WHOIS隐私保护。
拓展内容:
🔄 过渡语:"whois让我们知道了域名的'户口信息'。接下来,怎么把域名翻译成IP地址?这就靠DNS了。而DNS记录里藏着比whois更多的'料'。"
教材知识点:DNS记录包含A记录、MX记录、NS记录、CNAME记录等,通过这些记录可以获取目标的IP地址、邮件服务器、域名服务器等信息。
| DNS记录类型 | 含义 | 命令(Windows) | 命令(Linux) |
|---|---|---|---|
| A记录 | 域名→IPv4地址 | nslookup baidu.com | dig baidu.com A |
| MX记录 | 邮件服务器 | nslookup -type=mx baidu.com | dig baidu.com MX |
| NS记录 | DNS服务器 | nslookup -type=ns baidu.com | dig baidu.com NS |
| CNAME记录 | 别名/CDN | nslookup -type=cname www.baidu.com | dig www.baidu.com CNAME |
| TXT记录 | 文本信息(SPF/DKIM等) | nslookup -type=txt baidu.com | dig baidu.com TXT |
# Windows (nslookup) nslookup baidu.com nslookup -type=mx baidu.com nslookup -type=ns baidu.com # Linux (dig) — 信息更详细 dig baidu.com dig baidu.com MX dig baidu.com NS
🙋 提问1:"为什么baidu.com的A记录会返回多个IP?"
📝 参考答案:这是负载均衡——大型网站不会只用一台服务器,会配置多个IP,DNS轮流返回不同的IP给不同用户,分散流量压力。踩点时发现了多个IP,说明目标规模大、基础设施强。
🙋 提问2:"MX记录和A记录有什么区别?查邮件服务器为什么重要?"
📝 参考答案:A记录把域名映射到IP(你去谁家),MX记录指定谁来收邮件(你的信件寄到哪个邮局)。找到邮件服务器后,可以测试它是否开放了SMTP中继,或者判断邮件系统品牌(Exchange? Postfix?),为后续攻击做准备。
记忆技巧(快递系统类比):
拓展内容(仅介绍,不实操):
nslookup 220.181.38.148 → 通过IP反查域名🔄 过渡语:"DNS帮我们把域名变成了IP。有了IP地址,第一件事是什么?——看看它'在不在家'!"
教材知识点:ping命令通过发送ICMP回显请求数据包来测试与目标主机的连通性。
# Windows ping 192.168.1.1 # 默认发4个包 ping -n 10 baidu.com # 发送10个包 ping -t baidu.com # 持续ping,Ctrl+C停止 # Linux ping -c 4 192.168.1.1 # 指定发送4个包 ping -i 0.5 baidu.com # 每0.5秒发一个包(需root)
教师演示:
ping 127.0.0.1 → 测试本机TCP/IP协议栈是否正常("自己ping自己")ping 网关地址 → 测试本地网络连通性ping baidu.com → 测试互联网连通性、观察DNS解析过程ping 192.168.99.99 → ping一个不存在的IP,观察"请求超时"TTL值判断操作系统(拓展技巧):
| TTL初始值 | 常见操作系统 |
|---|---|
| 64 | Linux / Unix / macOS / Android |
| 128 | Windows |
| 255 | 网络设备(路由器/交换机) |
🙋 提问:"我ping baidu.com返回TTL=52,它是Linux还是Windows?"
📝 参考答案:TTL=52,最接近的初始值是64。52 = 64 - 12,说明数据包经过了大约12跳到达百度。百度服务器是Linux系统。TTL≈128→Windows;≈64→Linux/Unix。
🔄 过渡语:"ping告诉我们目标'是否能通'。但数据包从我们这儿到目标,走了哪些路、经过了哪些节点?——tracert来告诉你。"
教材知识点:tracert(Linux下为traceroute)用于追踪数据包从源到目标经过的路由节点。
# Windows tracert baidu.com tracert -d baidu.com # 不解析主机名,速度更快 # Linux traceroute baidu.com traceroute -n baidu.com # 不解析主机名
教师演示:
tracert baidu.com → 观察经过多少跳到达目标1 <1 ms <1 ms <1 ms 192.168.1.1 ← 本地网关 2 3 ms 2 ms 3 ms 10.0.0.1 ← ISP第一跳 3 5 ms 4 ms 5 ms 221.7.xx.xx ← ISP骨干 ... 12 35 ms 36 ms 35 ms 110.242.68.66 ← 目标
* * * 请求超时 → 该节点不响应ICMP(防火墙过滤)🙋 提问:"如果tracert中间某跳全是***,是不是网络断了?"
📝 参考答案:不一定!如果最终还是到达了目标,说明只是中间那个节点配置了不响应ICMP,但数据包正常转发了。这其实也是一种信息——那个节点可能是防火墙或安全设备。
实战价值(拓展):
🔄 阶段小结:"五个工具讲完了——whois查域名户口、nslookup/dig查DNS、ping测连通性、tracert看路由。它们分工明确,但实战中往往组合使用。比如:whois发现目标IP段→ping测试哪些IP在线→nslookup反查IP对应域名→tracert看网络路径。踩点不是一个工具就能搞定的,是组合拳。"
🔄 过渡语:"看老师敲命令很简单,自己敲一遍才知道坑在哪儿。下面12分钟,大家动手——"
任务:完成目标信息收集
给定目标:cqupt.edu.cn(重庆邮电大学官网)
每组独立完成以下任务,将结果记录到实验报告中:
| 序号 | 任务 | 使用工具 | 记录要求 |
|---|---|---|---|
| 1 | 域名注册信息查询 | whois | 注册商、注册时间、DNS服务器、是否开启隐私保护 |
| 2 | 获取IP地址 | nslookup | 域名对应的A记录IP(有几个IP?) |
| 3 | 查询邮件服务器 | nslookup -type=mx | MX记录指向的服务器及优先级 |
| 4 | 查询DNS服务器 | nslookup -type=ns | 所有NS记录列表 |
| 5 | 连通性测试 | ping | 是否可达?TTL值?推测OS类型 |
| 6 | 路由追踪 | tracert | 经过几跳?中间有无*号节点? |
操作规范提醒:
cqupt.edu.cn 操作,不扩展到其他域名教师巡视要点:
-type=)ipconfig /flushdns 清缓存github.com,观察和国内域名的信息差异本节要点回顾:
下节预告:
任务5.2 使用Nmap识别主机、端口及操作系统——从「暗中观察」升级到「主动敲门」,看看目标主机到底开的是什么端口、运行的是什么服务。
课后作业: