文章目录
- 说明
- [一 信息收集概述](#一 信息收集概述)
-
- [1.1 信息收集的内容](#1.1 信息收集的内容)
- [1.2 信息收集的方法](#1.2 信息收集的方法)
- [二 公开信息收集技术](#二 公开信息收集技术)
-
- [2.1 利用Web服务收集](#2.1 利用Web服务收集)
- [2.2 利用搜索引擎收集](#2.2 利用搜索引擎收集)
- [2.3 利用Whois服务收集](#2.3 利用Whois服务收集)
- [2.4 利用DNS域名服务收集](#2.4 利用DNS域名服务收集)
- [2.5 公开信息收集的应用技巧](#2.5 公开信息收集的应用技巧)
- [三 网络扫描](#三 网络扫描)
-
- [3.1 主机扫描](#3.1 主机扫描)
-
- [3.1.1 ICMP扫描](#3.1.1 ICMP扫描)
- [3.1.2 其他类型的主机扫描](#3.1.2 其他类型的主机扫描)
- [3.2 端口扫描技术](#3.2 端口扫描技术)
-
- [3.2.1 Connect 扫描(TCP Connect 扫描)](#3.2.1 Connect 扫描(TCP Connect 扫描))
- [3.2.2 SYN 扫描 & FIN 扫描](#3.2.2 SYN 扫描 & FIN 扫描)
- [3.2.3 其他端口扫描技术](#3.2.3 其他端口扫描技术)
- [3.2.4 UDP 端口扫描](#3.2.4 UDP 端口扫描)
- [3.3 系统类型扫描](#3.3 系统类型扫描)
- [3.4 系统类型扫描](#3.4 系统类型扫描)
-
- [3.4.1 扫描方法](#3.4.1 扫描方法)
- [3.5 扫描隐蔽性技巧](#3.5 扫描隐蔽性技巧)
- [四 漏洞扫描](#四 漏洞扫描)
-
- [4.1 漏洞扫描概念和分类](#4.1 漏洞扫描概念和分类)
- [4.2 漏洞扫描器组成](#4.2 漏洞扫描器组成)
- [4.2 漏洞扫描器分类](#4.2 漏洞扫描器分类)
- [五 网络拓扑探测](#五 网络拓扑探测)
-
- [5.1 拓扑探测概述](#5.1 拓扑探测概述)
-
- [5.1.1 Traceroute 技术](#5.1.1 Traceroute 技术)
- [5.1.2 SNMP 协议](#5.1.2 SNMP 协议)
- [5.2 网络设备识别](#5.2 网络设备识别)
-
- [5.2.1 专用搜索引擎](#5.2.1 专用搜索引擎)
- [5.2.2 设备指纹探测](#5.2.2 设备指纹探测)
- [六 网络实体IP地理位置定位](#六 网络实体IP地理位置定位)
-
- [6.1 核心概念](#6.1 核心概念)
- [6.2 基于查询信息的定位](#6.2 基于查询信息的定位)
- [6.3 基于网络测量的定位](#6.3 基于网络测量的定位)
- [七 本章小结](#七 本章小结)
说明
- 本专栏来自学习笔记,总结精华知识与结合罪行情况进行拓展补充,仅供学习和交流使用,最终版权归原作者团队所有。

一 信息收集概述
- 信息收集技术指通过各种方式获取攻击所需的信息。
- 信息收集并不是只能在攻击前进行,也可以在攻击过程中进行。
- 动态调整:随入侵深入,需持续收集新信息(如内部网络结构)。
- 隐蔽性:避免触发目标安全设备(如IDS)的警报。
1.1 信息收集的内容
-
信息收集的核心目标:攻击者通过收集目标系统的域名、IP地址、网络拓扑、操作系统版本、开放端口/服务、漏洞信息等,判断目标安全状况,为后续入侵制定策略。
-
信息收集的关键内容
- 基础信息:域名、IP地址、组织架构、安全防护手段(如防火墙、入侵检测系统)。
- 系统细节:操作系统类型/版本、开放端口对应的服务及漏洞、弱口令配置。
- 网络结构:拓扑布局、与外部网络的连接方式、访问控制列表(ACL)、认证加密机制。
1.2 信息收集的方法
- 非技术手段:社会工程学
- 本质:通过与目标相关人员(如管理员)交流,用欺骗手段获取信息(如伪装成技术支持套取口令)。
- 特点:简单高效,常突破技术防御。
- 技术手段
① 公开信息收集
- 内容:域名注册信息、IP归属、组织公开资料(官网、社交媒体)。
- 工具:WHOIS查询、Shodan(网络设备搜索引擎)、Censys。
② 网络扫描 - 目标:确定目标在线状态、开放端口及对应服务。
- 工具:Nmap(端口扫描)、Masscan(高速扫描)。
③ 漏洞扫描 - 目标:发现目标系统存在的已知漏洞(如未更新补丁、设计缺陷)。
- 工具:Nessus、OpenVAS、AWVS。
④ 网络拓扑探测 - 目标:绘制目标网络结构(路由器、交换机位置)、设备类型、地理位置。
- 方法:traceroute(路径跟踪)、ARP扫描(局域网设备发现)。
二 公开信息收集技术
- 公开信息收集是攻击者获取目标线索的重要途径,核心是通过Web服务、搜索引擎、Whois、DNS等公开渠道,提取域名、IP、组织架构、技术栈等信息,为后续入侵奠基。
2.1 利用Web服务收集
几乎所有实体(企业/组织)都会部署官方网站,其中包含大量敏感信息:
- 邮箱信息 :企业邮箱域名(如
@company.com
)是关键入口,可通过社交平台(LinkedIn)定位对应人员,再尝试破解邮箱。 - 网络拓扑:部分网站会无意暴露内部网络结构(如图2-1所示的校园网拓扑),包括核心交换机、防火墙、服务器组等。
- 其他线索:网站模板、管理员联系方式、员工名单、电话号码等,均可辅助攻击者构建目标画像。
2.2 利用搜索引擎收集
- 搜索引擎是快速检索公开信息的利器,通过高级搜索语法可精准定位目标:
语法 | 功能示例 | 示例命令 |
---|---|---|
intitle: |
搜索标题含关键词的页面 | intitle:"login password" |
inurl: |
搜索URL含关键词的页面 | inurl:passwd |
site: |
限定站点内搜索 | exploits site:hacking spirits.com |
filetype: |
搜索指定文件类型 | filetype:xls "身份证" site:edu.cn |
link: |
查找链接到目标URL的页面 | link:www.securityfocus.com |
cache: |
查看Google缓存的页面 | cache:www.hacking spirits.com |
intext: |
搜索正文含关键词的页面 | intext:exploits |
此外,专用搜索引擎(如Shodan、Censys)可检索IoT设备、服务器指纹等信息,GitHub可查找源码泄露。 |
2.3 利用Whois服务收集
- Whois是查询域名注册信息的标准协议,可获取: 注册商、注册人、联系方式,域名服务器(DNS)信息,域名过期时间。例如,查询
371.net
域名的Whois信息,可得到注册商、DNS服务器、创建时间等细节,这些信息可用于社会工程学攻击 (如冒充注册商联系管理员)或DNS欺骗。
2.4 利用DNS域名服务收集
DNS负责域名与IP的映射,攻击者可通过以下方式收集信息:
- 区域传送(Zone Transfer):若DNS服务器配置错误,可获取整个域名的记录(如所有子域名、IP映射),相当于"地图泄露"。
- DNSSEC(域名系统安全扩展):虽增强安全性,但配置不当仍可能暴露签名信息。
- 工具辅助 :使用
dig
、nslookup
等命令行工具查询DNS记录,进一步分析目标网络结构。
2.5 公开信息收集的应用技巧
- 同学录/论坛钓鱼:通过同学录获取目标个人信息(姓名、邮箱、单位),再用社会工程学手段实施"精准打击"(如伪造邮件)。
- 论坛"钓鱼"陷阱:在技术论坛发布"求助帖",诱导目标泄露敏感信息(如网络配置、安全策略)。
- 简历信息挖掘:求职者简历常包含网络拓扑、项目细节,攻击者可据此推断目标技术栈和安全弱点。
- 搜索引擎数据挖掘:利用用户搜索行为(如IP地址、兴趣爱好),构建更精准的目标画像。
- 公开信息收集是"低门槛、高回报"的攻击起点,防御方需定期清理公开渠道的敏感信息,如关闭不必要的域名解析、限制Whois信息展示。
三 网络扫描
- 网络扫描可以分为主动扫描和被动扫描。
- 主动扫描:通过向目标发送检测数据包获取回应来获得目标的信息。
- 被动扫描:通过捕获网络内传输的数据包获取目标的信息。
- 两种方法都可以用于攻击前期和攻击过程中的信息扫描,包括主机扫描、端口扫描和系统类型扫描。
- 主动扫描根据扫描对象分为主机扫描、端口扫描和系统类型扫描。
- 主机扫描:查看目标网络中存活主机。
- 端口扫描:查看存活的主机运行的服务,比如WWW、FTP、Telnet、Email等。
- 系统类型扫描:查看目标主机运行的操作系统类型及版本,如Windows、Linux、Mac OS、iOS、Android等。
3.1 主机扫描
3.1.1 ICMP扫描
- 使用ICMP扫描:Ping使用ICMP(InternetControlMessageProtocol,因特网控制报文协议)协议进行工作,ICMP是IP层的一个部分,它主要有两大功能,分别是网络信息查询和IP传送时的差错报告与控制。
- 常见ICMP报文类型:
名称 | 类型 |
---|---|
ICMP Destination Unreachable (ICMP 目标不可达) | 3 |
ICMP Source Quench (ICMP 源抑制) | 4 |
ICMP Redirection (ICMP 重定向) | 5 |
ICMP Timestamp Request/Reply (ICMP 时间戳请求 / 应答) | 13/14 |
ICMP Address Mask Request/Reply (ICMP 子网掩码请求 / 应答) | 17/18 |
ICMP Echo Request/Reply (ICMP 响应请求 / 应答) | 8/0 |
- ICMP Echo Request/Reply(ICMP响应请求/应答)报文的类型值分别为8和0,其功能是检查目标主机是否开机并正常运行IP。
- Windows系统中的Ping程序命令使用的正是ICMP Echo Request/Reply报文。Ping程序会向目标主机连续发送四个ICMP Echo Request报文,如果目标主机正常连接网络,没有防火墙阻塞ICMP Echo报文,目标主机就会回送ICMPEcho Reply报文。Ping程序通过是否接收到Reply报文来判断是否能与目标主机正常通信。
- 各操作系统平台下都有Ping扫描工具,比如,UNIX操作系统平台下的Fping、Windows操作系统平台下由Rhino9小组编写的Pinger等。
- 深人分析ICMP的目的并不是实现Ping扫描工具,对于多数网络安全问题来说,如果从数据包的收发角度考察,就可以找到其直接和本质上的根源。从协议的角度理解网络安全问题是常见同时也是重要的思路和方法。
3.1.2 其他类型的主机扫描
- 在高安全性网络环境中,防火墙会阻止常规主机扫描。攻击者可通过以下技术绕过防御,探测存活主机:
- 构造异常 IP 包头:向目标发送包头错误的 IP 包(如 Header Length、IP Options 字段错误)。若目标存活,会返回 ICMP Parameter Problem 错误报文(不同系统返回结果差异)。
- 在 IP 头设置无效字段值:向目标发送填充错误字段的 IP 包。若目标存活,会返回 ICMP Destination Unreachable 报文(代码域指示错误类型)。
- 构造错误的数据分片:向目标发送错误分片的数据包(如分片丢失)。若目标在规定时间内未纠正,会丢弃包并返回 ICMP Fragment Reassembly Time Exceeded 报文,证明目标存活。
- 通过超长包探测内部路由器:构造超过目标 PMTU(路径最大传输单元)且禁止分片的包。若目标网络内有路由器,会返回 Fragmentation Needed and Don't Fragment Bit was Set 差错报文,暴露内部路由器。
- 反向映射探测:构造可能的内部 IP 地址表,向这些地址发包。若目标网络路由器收到包,会对"非法"IP 返回 ICMP Host Unreachable 或 ICMP Time Exceeded 错误报文;无响应则说明该 IP 属于目标网络。
3.2 端口扫描技术
- 端口扫描是攻击者探测目标开放 TCP/UDP 端口的常用技术,核心目标是识别运行的服务及潜在漏洞。
3.2.1 Connect 扫描(TCP Connect 扫描)
- 原理 :向目标端口发送
Connect
请求,若端口开放,会建立完整 TCP 连接;若关闭,连接失败。 - 优点:实现简单,兼容所有支持 TCP 的系统。
- 缺点 :易被防火墙检测,且会在目标日志留下痕迹。
3.2.2 SYN 扫描 & FIN 扫描
- SYN 扫描(半开扫描)
- 原理 :发送 SYN 包,若目标返回
SYN+ACK
,说明端口开放;若返回RST
,说明端口关闭。 - 优势:不建立完整连接,隐蔽性强(不易被日志记录)。
- 局限:需 RAW Socket 权限,部分防火墙可检测。
- FIN 扫描
- 原理 :发送带 FIN 标记的包,若端口开放,目标不会回应;若关闭,返回
RST
。 - 优势:一般不会被日志记录,可绕过简单防火墙。
- 局限:仅适用于部分系统(如 Unix BSD),Windows 等系统不支持。
3.2.3 其他端口扫描技术
技术 | 原理 | 特点 |
---|---|---|
SYN+ACK 扫描 | 发送 SYN+ACK 包,关闭端口返回 RST ,开放端口忽略包 |
隐蔽性较强 |
TCP XMAS 扫描 | 发送所有标志位(FIN、URG、PSH)置位的包,开放端口忽略,关闭端口返回 RST |
绕过某些防火墙 |
NULL 扫描 | 发送所有标志位为 0 的包,开放端口忽略,关闭端口返回 RST |
对 BSD 系统有效 |
IP 分段扫描 | 将 TCP 包拆分为小分段,绕过防火墙过滤 | 部分防火墙会丢弃小包,可能导致服务异常 |
TCP FTP Proxy 扫描 | 利用 FTP 协议代理功能,穿透防火墙探测内部主机 | 可穿越防火墙,但速度慢且依赖 FTP 服务 |
3.2.4 UDP 端口扫描
- 原理 :向 UDP 端口发送数据包,若端口未开放,目标返回
ICMP 目标不可达
;若开放,可能无响应(取决于服务实现)。 - 特点:比 TCP 扫描更简单,但结果不确定性高(部分服务可能不返回 ICMP)。
3.3 系统类型扫描
除端口外,攻击者还会探测操作系统类型、版本及应用版本(如通过 Banner 信息、端口特性判断)。例如:
- Windows 开放 137、139、445 端口;Linux 开放 22、80 端口。
- 应用程序(如 Web 服务器、数据库)运行在固定端口(如 HTTP 用 80/443,MySQL 用 3306)。
3.4 系统类型扫描
- 系统类型扫描是攻击者探测目标操作系统类型、版本及应用版本的技术,核心目的是精准利用漏洞或实施社会工程学攻击。
- 扫描目的
- 漏洞利用:多数安全漏洞针对特定系统/版本(如 Windows SMB 漏洞、Linux 权限提升漏洞)。
- 社会工程学:了解系统信息可帮助攻击者伪装成可信角色(如 IT 人员),降低目标警惕性。
3.4.1 扫描方法
- 端口扫描辅助判断:操作系统常开放特定端口(如 Windows 的 137/139/445,Linux 的 22/80),通过端口扫描可初步判断系统类型。
- Banner 抓取:服务程序(如 FTP、HTTP)连接成功后会返回Banner 信息 (欢迎信息),其中包含服务类型、版本及操作系统线索。例:IIS 5.0 的 FTP Banner 为
220 *** Microsoft FTP service (version 5.0)
;Serv-U 的 Banner 为Serv-U FTP Server v3.0 for WinSock ready...
。 - TCP/IP 协议栈指纹识别(最准确方法):不同操作系统实现 TCP/IP 协议时存在细微差异(如 FIN 包处理、SYN 包响应),攻击者通过发送特殊数据包并分析响应,可精准识别系统。
(1)TCP 指纹特征
特征 | 说明 |
---|---|
FIN 探测 | 向开放端口发 FIN 包,有些系统回应(如 Linux),有些不回应(如 Windows) |
BOGUS 标记位探测 | 发送非正常标记位包,不同系统反应不同(如 Windows 回复 RST) |
SYN 洪泛测试 | 发送大量伪造 SYN 包,部分系统停止建连(如老版本 Windows) |
TCP ISN 取样 | 初始序列号(ISN)的增长规律(如 Linux 线性增长,Windows 随机增长) |
TCP 初始化"窗口" | 不同系统的窗口值差异(如 Windows 默认 8192,Linux 默认 5840) |
ACK 值 | 回复 FIN/URG/PSH 包时,不同系统返回确认序号的方式不同 |
TCP 选项(RFC793) | 支持 RFC793 选项的系统会在回复包中设置选项,可判断系统类型 |
(2)IP/ICMP 指纹特征
特征 | 说明 |
---|---|
ICMP 错误信息查询 | 发送 UDP 包到高端关闭端口,统计"目标不可达"次数(不同系统频率不同) |
ICMP 信息引用 | ICMP 回复数据包携带的字节数(如 Linux 比 Windows 多携带额外数据) |
ToS 和 TTL | ICMP 消息中的服务类型(ToS)和生存时间(TTL)值(部分系统有特定设置) |
分片处理 | 分片重叠时,不同系统的处理方式(如 BSD 保留旧数据,Windows 丢弃) |
DF 标志位 | 是否设置不分片(DF)位(如 Linux 默认设置,Windows 不设置) |
3.5 扫描隐蔽性技巧
为避免被 IDS 检测,攻击者常采用以下方法:
- 特征随机化:随机化 IP/TTL/端口等字段,模拟正常流量。
- 慢速扫描:降低扫描频率,避免触发 NIDS(网络入侵检测系统)阈值。
- 分片扫描:将扫描包拆分为小片段,绕过防火墙过滤。
- 源地址欺骗:伪造源 IP 地址,隐藏真实攻击者位置。
- 跳板主机:通过已控制主机间接扫描,隐藏真实 IP。
- 分布式扫描:多台主机协同扫描,分散单个 IP 的扫描负载。
四 漏洞扫描
4.1 漏洞扫描概念和分类
-
漏洞(脆弱性)是计算机系统在硬件、软件、协议或安全策略上的缺陷,可被攻击者利用获取未授权权限。
-
漏洞扫描是基于漏洞数据库,通过端口/渗透测试等手段检测目标系统安全弱点的行为,用于发现可利用漏洞。
-
漏洞扫描根据扫描对象可以分为:
- 基于网络:从外部扫描目标网络和系统,探测网络协议、服务的漏洞(如Windows SMB漏洞)。
- 基于主机:从系统内部角度检测应用软件、注册表等漏洞(需安装代理/服务),能扫描更多类型漏洞但管理受限。
-
基于网络的漏洞扫描和基于主机的漏洞扫描各有优劣。基于网络的漏洞扫描在使用和管理方面比较简单,但是在探测主机系统内的应用软件的漏洞方面不如基于主机的漏洞扫描,而基于主机的漏洞扫描虽然能够扫描更多类型的漏洞,但是在管理和使用权限方面有更多的限制。
4.2 漏洞扫描器组成
基于网络的漏洞扫描器一般由以下几个方面组成:
-
漏洞数据库模块:存储漏洞信息及检测指令,需定期更新。
-
扫描引擎模块:发送数据包至目标,对比响应与漏洞特征判断是否存在漏洞。
-
用户配置控制台模块:设置扫描目标和范围。
-
当前活动扫描知识库模块:监控扫描进程,提供漏洞信息给引擎并接收结果。
-
结果存储器和报告生成工具:存储扫描结果并生成报告。
4.2 漏洞扫描器分类
- 漏洞扫描器通常由安全公司或黑客组织编写。根据扫描器针对的漏洞不同,可分为专用漏洞扫描器及通用漏洞扫描器。
- 专用扫描器:针对特定程序/漏洞(如RPCScan扫描Windows RPC漏洞)。 如,可用于扫描WindowsRPC服务漏洞的RPCScan工具,专门针对Web应用程序漏洞的BurpSuite扫描工具。
- 通用扫描器:通用扫描工具可以扫描各种常见的漏洞,包括Web服务程序漏洞、FTP服务程序漏洞、SQLServer程序漏洞等。常见漏洞工具(如Nessus、X-Scan)。
五 网络拓扑探测
5.1 拓扑探测概述
- 攻击者通过掌握目标网络拓扑结构(设备类型、地理位置),指导入侵行为。常用技术包括Traceroute 和SNMP。
5.1.1 Traceroute 技术
- 功能:计算源主机到目标主机的路由节点数量,获取路径中每个节点的IP地址。
- 原理:向目标依次发送TTL递增的UDP数据包,每经过一跳TTL减1;当TTL为0时,节点返回ICMP Time Exceeded消息,从而确定路径节点IP。
- 攻击场景:若已控制目标网络内某主机,可通过该主机作为"跳板",逐步探测其他主机的路径信息,还原网络拓扑。
5.1.2 SNMP 协议
- 定义:简单网络管理协议,用于网络设备(路由器、交换机等)与管理系统的通信。
- 命令模式:
Read
(读取设备配置)、Read/Write
(修改配置,如路由器配置文件)。 - 攻击利用:默认口令易泄露(如表2-2所示Cisco设备默认
Public
/Private
),攻击者可获取设备配置信息(如路由表),还原网络拓扑。
5.2 网络设备识别
- 除常规服务器/主机外,物联网设备(智能家电、工控设备等)因缺乏管理易成安全薄弱点。识别方法有两种:
5.2.1 专用搜索引擎
- 代表工具:Shodan(侧重主机层)、ZoomEye(侧重应用层,如Web服务)。
- 功能:搜索指定类型设备,关联端口、漏洞等信息,覆盖交换机、路由器、摄像头等终端设备。
5.2.2 设备指纹探测
不同设备的操作系统、开放端口、服务Banner存在差异,可通过以下方式提取指纹:
- FTP协议:登录时服务器返回的Banner包含软件标识(如FileZilla、vsFTpd)。
- HTTP协议:Web服务器返回的Header(如Server字段)包含组件版本、操作系统信息(如表2-3所示TP-Link路由器的Banner)。
- 其他协议:SNMP、第三方协议也可辅助识别。
六 网络实体IP地理位置定位
6.1 核心概念
网络实体 IP 地理位置定位是通过 IP 地址映射物理位置(又称"IP 定位"),依赖已知数据库查询 和网络测量两种技术实现。
- 查询信息定位:依据主机名、机构信息,通过Whois等数据库查询注册信息(如ISP、域名),推断地理位置。
- 网络测量定位:结合已知数据库和网络延迟等技术,精准定位目标位置。
6.2 基于查询信息的定位
- 原理:依据主机名、所属机构信息,通过 Whois 等数据库查询注册信息(如 ISP、机构、电话号码、通信地址),推断地理位置。
- 补充途径 :
- 向 IP 所属 RIR(区域性互联网注册管理机构)的 Whois 服务器发送查询请求;
- 域名后缀(如 .cn 中国、.au 澳大利亚)可透露国家代码。
- 优势与局限 :
- 优点:实现简单,无需基础设施;
- 缺点:结果受注册信息准确性影响,多数 IP 对应 IP 段(粗粒度),仅能获得大致位置。
6.3 基于网络测量的定位
- 原理 :通过探测源与目标实体的时延、拓扑等信息估计位置,结果为单点或区域。
- 时延定位示例 :
部署多个地理位置可控的探测源,向已知地标和目标发送数据包,获取时延向量;计算目标时延向量与地标的相似性,选择最短距离的地标作为目标位置。 - 拓扑辅助:结合目标寻径和拓扑发现,进一步优化位置估计。
- 发展趋势:大数据、机器学习提升精度,数据库更丰富具体,攻击者可通过简单查询获具体位置。
七 本章小结
信息收集是攻防关键环节------既帮助用户获取有用信息,也是攻击者入侵的第一步。本章涵盖公开信息收集、网络扫描、漏洞扫描、网络拓扑探测等内容,强调掌握信息收集技术对防御的重要性。