4-网络攻防技术原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TCP Connect 扫描
u 实 现 原 理 : 通 过 调 用 socket 函 数 connect()连接到目标计算机上,完成 一次完整的三次握手过程。如果端口处 于侦听状态,那么connect()就能成功 返回。否则,这个端口不可用,即没有 提供服务。 u 优点:稳定可靠,不需要特殊的权限 u 缺点:扫描方式不隐蔽,服务器日志会 记录下大量密集的连接和错误记录 , 并容易被防火墙发现和屏蔽
TCP三步握手建立连接
主机A 客户 进程 服务器 进程
主机B
SYN=1,ACK=0,SEQ=1200
SYN=1,ACK=1,SEQ=4800,AN=1201
SYN,ACK=1,SEQ=1201,AN=4801
ICMP协议(一)
uInternet Control Message Protocol , 是IP的一部分,用于在IP主机、路由器 之间传递控制消息。
TCP协议(一)
32比特 源端口 顺序号 确认号
TCP 头长
目的端口
U A P R S F R C S S Y I G K H T N N 校验和 可选项(0或更多) 数据(可选项)
窗口大小 紧急指针
TCP报文格式
TCP协议(二)
u SYN: 用来建立连接,让连接双方同步序列号。 SYN=1且ACK=0,表示该数据包为连接请求; SYN=1且ACK=1,则表示接受连接。 u FIN: 表示发送端希望释放连接。 u RST: 用于复位由于主机崩溃等原因而出现错误的连接 用于拒绝非法的数据段或拒绝连接请求 u ACK: 为确认标志位。 ACK=1,包中的确认号有效; ACK=0,包中的确认号无效。 u URG: 为紧急数据标志。如果它为1,表示本数据包中包 含紧急数据,此时紧急数据指针有效。 u PSH: 如果置位,接收端应尽快把数据传送给应用层。
u 识别目标主机系统及服务程序的类型和版本 u 根据已知漏洞信息,分析系统脆弱点 u 生成扫描结果报告
二、扫描原理
u预 备 知 识 ( 套 接 字 、 TCP 协 议 、 ICMP协议) u扫描器的基本工作原理
套接字的概念
u网络通信,归根结底是进程的通信。 u在网络中,每个节点有一个网络地址。 进程间通信时,首先确定各自所在网络 节点的IP地址。 u网络地址只能确定进程所在的计算机, 一台计算机上可能同时有多个网络进程, 因此还需要端口号。在一台计算机中端 口号与进程是一一对应的关系 。 u套接字=网络地址(IP)+端口号 (port)
TCP FIN 扫描
客户机
目标机
FIN
监
Nothing
忽略对FIN包的回复
Open
听
RST
Close
TCP ACK 扫描
u TCP ACK扫描 u 秘密扫描的一种 u 连网编码BSD code的漏洞:每次接口变 换,数据包的TTL将会自减1(Linux);ACK 的回复包中windows>0 u 如果是开放端口,当数据包被接收并检查 时,TTL将会减1 u 如果发送包的标志不是SYN,将返回一个 RST包,并且这个包的TTL比扫描关闭端 口得到的RST返回包的TTL值小1
TCP SYN 半开扫描
u 实现原理:扫描器向目标主机端口发送SYN包。如果应答 是RST包,那么说明端口是关闭的;如果应答中包含SYN 和ACK包,说明目标端口处于监听状态,再传送一个RST 包给目标机从而停止建立连接。由于在SYN扫描时,全连 接尚未建立,所以这种技术通常被称为半连接扫描 u 优点:隐蔽性较全连接扫描好,一般系统对这种半扫描很 少记录 u 缺点:通常构造SYN数据包需要超级用户或者授权用户访 问专门的系统调用
u 缺点:
跟SYN扫描类似,需要自己构造数据包,要求由超级用户或者授权 用户访问专门的系统调用; 通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送 RST包的操作系统(包括CISCO,HP/UX,MVS和IRIX)。但在 Windows95/NT环境下,该方法无效,因为不论目标端口是否打 开,操作系统都返回RST包。
接收端的 数据走向
IP协议
32比特
版本
IHL
服务类型 D M 分 F F
总 长 段 验 偏 和 移
标 识 生命期 协议
头 源地址
校
目的地址 选项(0或更多) IP报文格式
TCP概念 TCP是一种面向连接的,可靠的传输层 协议。一次正常的TCP传输需要通过在客户 端和服务器之间建立特定的虚电路连接来完 成,该过程通常被称为“三次握手”。TCP 通过数据分段中的序列号保证所有传输的数 据可以在远端按照正常的次序进行重组,而 且通过确认保证数据传输的完整性。
协议层次
u发送端与接收端以唯一确定的套接字为 标识传输数据包(packet)。 u每个数据包都经过逐层报头(header) 封装。
应用层 (HTTP、FTP等) 传输层 (TCP、UDP) 网络层 (IP等) 网络访问层 发送端的 数据走向 报头3 数据 报头1 报头2 报头2 报头1 报头1 数据 数据 数据
u 防火墙和网络过滤设备常常导致传统的探测手段变得无效。 为了突破这种限制,必须采用一些非常规的手段,利用 ICMP协议提供网络间传送错误信息的手段,往往可以更有 效的达到目的:
Ø Ø Ø Ø Ø
异常的IP包头 在IP头中设置无效的字段值 错误的数据分片 通过超长包探测内部路由器 反向映射探测
通过超长包探测内部路由器
Ø Ø Ø Ø Ø Ø Ø
12 13 14 15 16 17 18
Parameter Problem Timestamp Timestamp Reply Information Request Information Reply Address Mask Request Address Mask Reply
Broadcast ICMP扫描
u实现原理:将ICMP请求包的目标地址设为 广播地址或网络地址,则可以探测广播域或 整个网络范围内的主机。 u缺点:
Ø 只适合于UNIX/Linux系统,Windows 会忽略这种请 求包; Ø 这种扫描方式容易引起广播风暴
Non-Echo ICMP扫描
u一些其它ICMP类型包也可以用于对主 机或网络设备的探测,如:
u若构造的数据包长度超过目标系统所在 路由器的PMTU且设置禁止分片标志, 该 路由器会反馈 Fragmentation Needed and Don’t Fragment Bit was Set差 错报文,从而获取目标系统的网络拓扑 结构。
端口扫描技术
u端 口 扫 描 就 是 通 过 连 接 到 目 标 系 统 的 TCP或UDP端口,来确定哪些端口开放? 什么服务正在运行? u一般来说端口扫描有三个用途:
一、扫描的基本概念
u什么是安全扫描 u为什么需要安全扫描 u安全扫描的主要功能
什么是安全扫描 安全扫描:采用模拟黑客攻击技术来测 试主机和网络的安全性,它检测主机当 前可用的服务及其开放端口,查找可能 被远程试图恶意访问者攻击的大量众所 周知的漏洞,隐患及安全脆弱点。
为什么需要网络扫描
u由于系统管理员的疏忽或缺乏经验,导 致旧有的漏洞依然存在 u由于网络技术的飞速发展,网络规模迅 猛增长和计算机系统日益复杂,导致新 的系统漏洞层出不穷 u许多人出于好奇或别有用心,不停的窥 视网上资源
比较难记录 可以绕过某些防火墙 使用netstat 1命令也看来自百度文库到 不包含TCP三步握手建立连接中的任何一步 存在有多种实现方法
u 缺点:用户具备root权限来构造IP包
TCP Xmas 和TCP Null 扫描
u实现原理:TCP
u优点:隐蔽性好; u缺点:
Xmas和Null扫描是FIN扫描的两 个 变 种 。 Xmas 扫 描 打 开 FIN , URG 和 PUSH 标 记 , 而 Null扫描关闭所有标记。这些组合的目的是为了通过对 FIN标记数据包的过滤。当一个这种数据包到达一个关闭 的端口,数据包会被丢掉,并且返回一个RST数据包。否 则,若是打开的端口,数据包只是简单的丢掉(不返回 RST)。
u实现原理:Ping的实现机制,在判断在 一个网络上主机是否开机时非常有用。 向目标主机发送ICMP Echo Request (type 8) 数 据 包 , 等 待 回 复 的 ICMP Echo Reply 包(type 0) 。如果能收到, 则表明目标系统可达,否则表明目标系 统已经不可达或发送的包被对方的设备 过滤掉。 u优点:简单,系统支持 u缺点:很容易被防火墙限制
Ø Stamp Request(Type 13) Ø Reply(Type 14) Ø Information Request(Type 15) Ø Reply(Type 16) Ø Address Mask Request (Type 17) Ø Reply(Type 18)
主机扫描技术-高级技术
网络扫描是一把双刃剑 u安全评估工具 系统管理员保障系统安全的有效工具 u网络漏洞扫描 网络入侵者收集信息的重要手段
扫描的主要功能
u 扫描目标主机识别其工作状态(开/关机) u 识别目标主机端口的状态(监听/关闭)
21 ftp 23 Telnet 25 smtp(发) 110 POP3(收) 80 web站点默认80为服务端口
Ø 识别目标系统上正在运行的TCP和UDP服务 Ø 识别目标系统的操作系统类型 Ø 识别某个应用程序或某个特定服务的版本号
端口扫描技术
u 当确定了目标主机可达后,就可以使用端口扫描技术,发现目标 主机的开放端口,包括网络协议和各种应用监听的端口。端口扫 描技术主要包括以下三类: u 开放扫描 Ø 会产生大量的审计数据,容易被对方发现,但其可靠性高; u 隐蔽扫描 Ø 能有效的避免对方入侵检测系统和防火墙的检测,但这种扫 描使用的数据包在通过网络时容易被丢弃从而产生错误的探 测信息; u 半开放扫描 Ø 隐蔽性和可靠性介于前两者之间。
TCP ACK 扫描
客户机
目标机
ACK RST
TTL小于接收到的关闭端口RST 包中的 TTL (Linux:TTL<64)或windows大于0
监
Open
听
RST
Close
TCP FIN 扫描和TCP ACK 扫描
u TCP FIN和TCP ACK扫描都属于秘密扫描 u 优点:
Ø Ø Ø Ø Ø
Ø 网络通不通 Ø 主机是否可达 Ø 路由是否可用
这些控制消息虽然并不传输用户数据, 但是对于用户数据的传递起着重要的作 用。
ICMP协议(二)
uICMP报文类型
Ø 0 Echo Reply Destination Ø3 Unreachable Ø 4 Source Quench Ø 5 Redirect Ø 8 Echo Ø 11 Time Exceeded
主机扫描技术-传统技术
u主机扫描的目的是确定在目标网络上的 主机是否可达。这是信息收集的初级阶 段,其效果直接影响到后续的扫描。 u常用的传统扫描手段有:
Ø ICMP Echo扫描 Ø ICMP Sweep扫描 Ø Broadcast ICMP扫描 Ø Non-Echo ICMP扫描
ICMP echo扫描
网络攻防技术原理
文伟平 博士 教授 北京大学软件与微电子学院 北京大学网络安全与软件安全保障实验室
课程内容
u u u u u
网络扫描及防范技术 口令破解及防范技术 网络监听及防范技术 欺骗攻击及防范技术 拒绝服务攻击及防范技术
网络扫描及防范技术
u安全扫描的基本概念 u安全扫描的工作原理 u安全扫描的主要技术 u安全扫描技术的防范 u现有安全扫描软件介绍
隐蔽扫描技术
uTCP FIN 扫描 uTCP ACK 扫描 uTCP Xmas扫描 uTCP Null 扫描 u分段扫描
TCP FIN 扫描
u 实现原理:扫描器向目标主机端口发送 FIN 包。 当一个FIN
数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个 RST数据包。否则,若是打开的端口,数据包只是简单的丢掉 (不返回RST)。 u 优点: 由于这种技术不包含标准的TCP三次握手协议的任何部 分,所以无法被记录下来,从而必SYN扫描隐蔽得多,FIN数据 包能够通过只监测SYN包的包过滤器。
扫描器的基本工作原理
三、安全扫描的主要技术
n黑客进行攻击的第一步——踩点 n通过向目标主机发送数据包,然后根据响应来搜集系
统信息,发现服务器的端口分配及所提供服务和软件版 本,可以进一步检测远程或本地主机安全脆弱性
n根据扫描的方式不同,可以把扫描技术分为四大类:
主机扫描技术、端口扫描技术、操作系统探测扫描技术、 漏洞扫描技术