收藏 分享(赏)

网络攻击与防御 第2章扫描与防御技术.ppt

上传人:dreamzhangning 文档编号:3357502 上传时间:2018-10-17 格式:PPT 页数:188 大小:1.90MB
下载 相关 举报
网络攻击与防御  第2章扫描与防御技术.ppt_第1页
第1页 / 共188页
网络攻击与防御  第2章扫描与防御技术.ppt_第2页
第2页 / 共188页
网络攻击与防御  第2章扫描与防御技术.ppt_第3页
第3页 / 共188页
网络攻击与防御  第2章扫描与防御技术.ppt_第4页
第4页 / 共188页
网络攻击与防御  第2章扫描与防御技术.ppt_第5页
第5页 / 共188页
点击查看更多>>
资源描述

1、第2章 扫描与防御技术,张玉清,国家计算机网络入侵防范中心,2,2018/10/17,网络入侵与防范讲义,2,本章内容安排,2.1 扫描技术概述 2.2 常见的扫描技术 2.3 扫描工具赏析 2.4 扫描的防御 2.5 小结,2018/10/17,网络入侵与防范讲义,3,2.1 扫描技术概述,什么是扫描器 网络扫描器是一把双刃剑 为什么需要网络扫描器 扫描的重要性 网络扫描器的主要功能 网络扫描器与漏洞的关系 扫描三步曲 一个典型的扫描案例,2018/10/17,网络入侵与防范讲义,4,什么是扫描器,扫描器是一种自动检测远程或本地主机安全性弱点的程序。它集成了常用的各种扫描技术,能自动发送数据

2、包去探测和攻击远端或本地的端口和服务,并自动收集和记录目标主机的反馈信息,从而发现目标主机是否存活、目标网络内所使用的设备类型与软件版本、服务器或主机上各TCP/UDP端口的分配、所开放的服务、所存在的可能被利用的安全漏洞。据此提供一份可靠的安全性分析报告,报告可能存在的脆弱性。,2018/10/17,网络入侵与防范讲义,5,网络扫描器是一把双刃剑,安全评估工具系统管理员保障系统安全的有效工具 网络漏洞扫描器网络入侵者收集信息的重要手段 扫描器是一把“双刃剑”。,2018/10/17,网络入侵与防范讲义,6,为什么需要网络扫描器,由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导

3、致新的系统漏洞层出不穷 由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在 许多人出于好奇或别有用心,不停的窥视网上资源,2018/10/17,网络入侵与防范讲义,7,扫描的重要性,扫描的重要性在于把繁琐的安全检测,通过程序来自动完成,这不仅减轻了网络管理员的工作,而且也缩短了检测时间。 同时,也可以认为扫描器是一种网络安全性评估软件,利用扫描器可以快速、深入地对目标网络进行安全评估。 网络安全扫描技术与防火墙、安全监控系统互相配合能够为网络提供很高的安全性。,2018/10/17,网络入侵与防范讲义,8,网络扫描器的主要功能,扫描目标主机识别其工作状态(开/关机) 识别目标主机端口的状态

4、(监听/关闭) 识别目标主机操作系统的类型和版本 识别目标主机服务程序的类型和版本 分析目标主机、目标网络的漏洞(脆弱点) 生成扫描结果报告,2018/10/17,网络入侵与防范讲义,9,网络扫描器与漏洞的关系,网络漏洞是系统软、硬件存在安全方面的脆弱性,安全漏洞的存在导致非法用户入侵系统或未经授权获得访问权限,造成信息篡改、拒绝服务或系统崩溃等问题。 网络扫描可以对计算机网络系统或网络设备进行安全相关的检测,以找出安全隐患和可能被黑客利用的漏洞。,2018/10/17,网络入侵与防范讲义,10,扫描三步曲,一个完整的网络安全扫描分为三个阶段: 第一阶段:发现目标主机或网络 第二阶段:发现目标

5、后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息 第三阶段:根据收集到的信息判断或者进一步测试系统是否存在安全漏洞,2018/10/17,网络入侵与防范讲义,11,扫描三步曲(续),网络安全扫描技术包括PING扫描、操作系统探测、穿透防火墙探测、端口扫描、漏洞扫描等 PING扫描用于扫描第一阶段,识别系统是否活动 OS探测、穿透防火墙探测、端口扫描用于扫描第二阶段 OS探测是对目标主机运行的OS进行识别 穿透防火墙探测用于获取被防火墙保护的网络资料 端口扫描是通过与目标系统的TCP/IP端口连

6、接,并查看该系统处于监听或运行状态的服务 漏洞扫描用于安全扫描第三阶段,通常是在端口扫描的基础上,进而检测出目标系统存在的安全漏洞,2018/10/17,网络入侵与防范讲义,12,一个典型的扫描案例,2018/10/17,网络入侵与防范讲义,13,1. Find targets,选定目标为:192.168.1.18 测试此主机是否处于活动状态,工具是用操作系统自带的ping,使用命令:ping 192.168.1.18 结果见下页图。,2018/10/17,网络入侵与防范讲义,14,说明该主机处于活动状态,2018/10/17,网络入侵与防范讲义,15,2. Port Scan,运用扫描工具,

7、检查目标主机开放的端口,判断它运行了哪些服务 使用的工具是Nmap 4.20(此工具将在后面进行介绍) 扫描命令:nmap 192.168.1.18 扫描结果见下面图,2018/10/17,网络入侵与防范讲义,16,2018/10/17,网络入侵与防范讲义,17,2. Port Scan(2),端口开放信息如下: 21/tcp open ftp 25/tcp open smtp 42/tcp open nameserver 53/tcp open domain 80/tcp open http 我们将重点关注SMTP端口,2018/10/17,网络入侵与防范讲义,18,3. Vulnerabi

8、lity Check,检测SMTP服务是否存在漏洞 使用漏洞扫描工具Nessus 3(此工具在后面将会介绍) 扫描过程见下页图,2018/10/17,网络入侵与防范讲义,19,扫描目标是192.168.1.18,2018/10/17,网络入侵与防范讲义,20,Nessus正在进行漏洞扫描,2018/10/17,网络入侵与防范讲义,21,4. Report,Nessus发现了目标主机的SMTP服务存在漏洞。 扫描报告中与SMTP漏洞相关的部分见下页图。,2018/10/17,网络入侵与防范讲义,22,漏洞编号:CVE-2003-0818,2018/10/17,网络入侵与防范讲义,23,2.2 常

9、见的扫描技术,TCP/IP相关知识 常用网络命令 主机扫描 端口扫描 全扫描 半扫描 秘密扫描 认证(ident)扫描 FTP代理扫描 远程主机OS指纹识别 漏洞扫描,不可不学的扫描技术 巧妙奇特的天才构思,2018/10/17,网络入侵与防范讲义,24,TCP/IP相关知识,TCP报文格式 TCP通信过程 ICMP协议,2018/10/17,网络入侵与防范讲义,25,TCP报文格式,2018/10/17,网络入侵与防范讲义,26,TCP控制位,URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。 ACK: 为确认标志位。如果为1,表示包中的确认号是有效的。

10、否则,包中的确认号无效。 PSH: 如果置位,接收端应尽快把数据传送给应用层。,2018/10/17,网络入侵与防范讲义,27,TCP控制位,RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。 SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。 FIN: 表示发送端已经没有数据要求传输了,希望释放连接。,2018/10/17,网络入侵与防范讲义,28,TCP通信过程,正常TCP通信过程: 建立

11、连接 (数据传输) 断开连接,2018/10/17,网络入侵与防范讲义,29,建立TCP连接,2018/10/17,网络入侵与防范讲义,30,断开TCP连接,2018/10/17,网络入侵与防范讲义,31,ICMP协议(1),Internet Control Message Protocol,是IP的一部分,在IP协议栈中必须实现。 用途: 网关或者目标机器利用ICMP与源通讯 当出现问题时,提供反馈信息用于报告错误 特点: 其控制能力并不用于保证传输的可靠性 它本身也不是可靠传输的 并不用来反映ICMP报文的传输情况,2018/10/17,网络入侵与防范讲义,32,ICMP协议(2),ICM

12、P报文类型 0 Echo Reply 3 Destination Unreachable 4 Source Quench 5 Redirect 8 Echo 11 Time Exceeded,12 Parameter Problem 13 Timestamp 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply,2018/10/17,网络入侵与防范讲义,33,常用网络命令,Ping Traceroute、Tracert、x-fire

13、walk Net命令系列,2018/10/17,网络入侵与防范讲义,34,常用网络命令-ping,Ping是最基本的扫描技术。 ping命令主要目的是检测目标主机是不是可连通,继而探测一个IP范围内的主机是否处于激活状态。,不要小瞧ping黑客的攻击往往都是从ping开始的,2018/10/17,网络入侵与防范讲义,35,常用网络命令-ping的原理,ping是一个基本的网络命令,用来确定网络上具有某个特定IP地址的主机是否存在以及是否能接收请求。Ping命令通过向计算机发送ICMP回应报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。,2018/10/17,网络入侵与防范讲义

14、,36,常用网络命令-ping参数说明,ping在安装了TCP/IP协议后可以使用。,2018/10/17,网络入侵与防范讲义,37,常用网络命令ping命令使用,-n: 发送ICMP回应报文的个数,2018/10/17,网络入侵与防范讲义,38,常用网络命令- Traceroute,Traceroute跟踪两台机器之间的路径,显示中间的每一个节点的信息。这个工具可以用来确定某个主机的位置。 traceroute 命令旨在用于网络测试、评估和管理。它应主要用于手动故障隔离。 语法:,2018/10/17,网络入侵与防范讲义,39,常用网络命令 Traceroute说明,-f -f后指定一个初始

15、TTL,它的范围是大于0小于最大TTL,缺省为1。 -m -m后指定一个最大TTL,它的范围是大于初始TTL,缺省为30。 -p -p后可以指定一个整数,该整数是目的主机的端口号,它的缺省为33434,用户一般无须更改此选项。 -q -q后可以指定一个整数,该整数是每次发送的探测数据包的个数,它的范围是大于0,缺省为3。 -w -w后可以指定一个整数,该整数指明IP包的超时时间,它的范围是大于0,缺省为5秒。 host 目的主机的IP地址,2018/10/17,网络入侵与防范讲义,40,常用网络命令 Traceroute示例,Quid # traceroute 35.1.1.48 tracer

16、oute to (35.1.1.48), 30 hops max, 56byte packet 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 3 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39ms 40ms 39ms 4 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms 5 128.32.197.4 (128.32

17、.197.4) 40 ms 59 ms 59 ms 6 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms 7 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms 8 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms 9 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms 10 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms 可以看出从源主机到目的地都经过了哪些网关,这对于网络

18、分析是非常有用的。,2018/10/17,网络入侵与防范讲义,41,常用的网络命令Tracert、x-firewalk,Windows下用tracert命令可以查看路由信息,但是如今的路由器大部分都对tracert命令做了限制,此命令已经没有效果。 有黑客开发出x-firewalk.exe可用于在Windows环境下查看路由信息,非常实用,下载地址是http:/ 可以看到本地到达都经过了哪些路由器,2018/10/17,网络入侵与防范讲义,43,常用网络命令-net,Net命令系列很多的Windows的网络命令都是net开头的。利用net开头的命令,可以实现很多的网络管理功能比如用net s

19、tart server,可以启动服务器;NET USE 用于将计算机与共享的资源相连接,或者切断计算机与共享资源的连接,当不带选项使用本命令时,它会列出计算机的连接。 以下以Windows NT下的Net USE命令为例。,2018/10/17,网络入侵与防范讲义,44,常用网络命令net use示例,net use命令及参数使用,2018/10/17,网络入侵与防范讲义,45,常用网络命令net use示例,(1) 用户名为Administrator,密码为longmang与远程计算机192.168.1.34进行IPC$连接,如图所示。(2)查看与远程计算机建立的连接,如图所示。,2018/

20、10/17,网络入侵与防范讲义,46,常用网络命令net use示例,(3)将远程计算机的c盘映射到本地o盘,如图所示。,2018/10/17,网络入侵与防范讲义,47,常用网络命令net use示例,(4)删除一个IPC$连接(5)删除共享映射,2018/10/17,网络入侵与防范讲义,48,主机扫描技术,传统技术 高级技术,2018/10/17,网络入侵与防范讲义,49,主机扫描技术传统技术,主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。 常用的传统扫描手段有: ICMP Echo扫描 ICMP Sweep扫描 Broadcast IC

21、MP扫描 Non-Echo ICMP扫描,2018/10/17,网络入侵与防范讲义,50,ICMP echo扫描,实现原理:Ping的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送ICMP Echo Request (type 8)数据包,等待回复的ICMP Echo Reply 包(type 0) 。如果能收到,则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。 优点:简单,系统支持 缺点:很容易被防火墙限制 可以通过并行发送,同时探测多个目标主机,以提高探测效率(ICMP Sweep扫描)。,2018/10/17,网络入侵与防范讲义,51,IC

22、MP sweep扫描,使用ICMP ECHO轮询多个主机称为ICMP SWEEP(或者Ping Sweep)。 对于小的或者中等网络使用这种方法来探测主机是一种比较可接受的行为,但对于一些大的网络如CLASS A,B,这种方法就显的比较慢,原因是Ping在处理下一个之前将会等待正在探测主机的回应。 扫描工具Nmap实现了ICMP sweep的功能。,2018/10/17,网络入侵与防范讲义,52,Broadcast ICMP扫描,实现原理:将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机。 缺点: 只适合于UNIX/Linux系统,Windows 会忽略

23、这种请求包; 这种扫描方式容易引起广播风暴,2018/10/17,网络入侵与防范讲义,53,Non-Echo ICMP扫描,一些其它ICMP类型包也可以用于对主机或网络设备的探测,如: Stamp Request (Type 13) Reply (Type 14) Information Request (Type 15) Reply (Type 16) Address Mask Request (Type 17) Reply (Type 18),2018/10/17,网络入侵与防范讲义,54,主机扫描技术高级技术,防火墙和网络过滤设备常常导致传统的探测手段变得无效。为了突破这种限制,必须采用

24、一些非常规的手段,利用ICMP协议提供网络间传送错误信息的手段,往往可以更有效的达到目的: 异常的IP包头 在IP头中设置无效的字段值 错误的数据分片 通过超长包探测内部路由器 反向映射探测,端口扫描技术,TCP/IP协议提出的端口是网络通信进程与外界通讯交流的出口,可被命名和寻址,可以认为是网络通信进程的一种标识符。 进程通过系统调用与某端口建立连接绑定后,便会监听这个端口,传输层传给该端口的数据都被相应进程所接收,而相应进程发给传输层的数据都从该端口输出。 互联网上的通信双方不仅需要知道对方的IP地址,也需要知道通信程序的端口号。,端口扫描技术,目前IPv4协议支持16位的端口,端口号范围

25、是065535。其中,01023号端口称为熟知端口,被提供给特定的服务使用;102449151号端口称为注册端口,由IANA记录和追踪;4915265535号端口称为动态端口或专用端口,提供给专用应用程序。 许多常用的服务使用的是标准的端口,只要扫描到相应的端口,就能知道目标主机上运行着什么服务。端口扫描技术就是利用这一点向目标系统的TCP/UDP端口发送探测数据包,记录目标系统的响应,通过分析响应来查看该系统处于监听或运行状态的服务。,2018/10/17,网络入侵与防范讲义,57,端口扫描技术,当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用监

26、听的端口。端口扫描技术包括以下几种: 全扫描 会产生大量的审计数据,容易被对方发现,但其可靠性高。 半扫描 隐蔽性和可靠性介于全扫描和秘密扫描之间。 秘密扫描 能有效的避免对方入侵检测系统和防火墙的检测,但使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息。 认证(ident)扫描 需要先建立一个完整的TCP连接。 FTP代理扫描 隐蔽性好,难以追踪。但受到服务器设置的限制。,2018/10/17,网络入侵与防范讲义,58,全扫描,全扫描原理 全扫描过程 全扫描特点,2018/10/17,网络入侵与防范讲义,59,全扫描全扫描原理,全TCP连接是TCP端口扫描的基础。 扫描主机尝试(使用

27、三次握手)与目标主机的某个端口建立正规的连接。 连接由系统调用connect()开始。如果端口开放,则连接将建立成功;否则,返回-1,则表示端口关闭。,2018/10/17,网络入侵与防范讲义,60,全扫描全扫描过程(流程图),2018/10/17,网络入侵与防范讲义,61,全扫描全扫描过程(成功),TCP Connect端口扫描服务端与客户端建立连接成功(目标端口开放)的过程: (1)Client端发送SYN; (2)Server端返回SYN/ACK,表明端口开放; (3)Client端返回ACK,表明连接已建立; (4)Client端主动断开连接。,2018/10/17,网络入侵与防范讲义

28、,62,全扫描全扫描过程(成功),建立连接成功(目标端口开放)如图所示:,2018/10/17,网络入侵与防范讲义,63,全扫描全扫描过程(未成功),TCP Connect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程:(1)Client端发送SYN;(2)Server端返回RST/ACK,表明端口未开放。,2018/10/17,网络入侵与防范讲义,64,全扫描全扫描过程(未成功),未建立连接成功(目标端口关闭)如图所示 :,2018/10/17,网络入侵与防范讲义,65,全扫描全扫描特点(优点),优点是实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有root权

29、限),系统中的任何用户都有权力使用这个调用。 另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而加速扫描。,2018/10/17,网络入侵与防范讲义,66,全扫描全扫描特点(缺点),扫描方式不隐蔽 这种扫描方法很容易被检测出来,在日志文件中会有大量密集的连接和错误记录 并容易被防火墙发现和屏蔽,2018/10/17,网络入侵与防范讲义,67,半扫描,TCP SYN扫描的原理 TCP SYN扫描的过程 TCP SYN扫描的特点,2018/10/17,网络入侵与防范讲义,68,TCP SYN扫描原理,在这种技术中,扫描主机向目标

30、主机的选择端口发送SYN数据段。 如果应答是RST,那么,说明端口是关闭的,按照设定继续探听其他端口; 如果应答中包含SYN和ACK,说明目标端口处于监听状态。 由于SYN扫描时,全连接尚未建立,所以,这种技术通常被称为“半连接”扫描。,2018/10/17,网络入侵与防范讲义,69,TCP SYN扫描过程(成功),2018/10/17,网络入侵与防范讲义,70,TCP SYN扫描过程(未成功),2018/10/17,网络入侵与防范讲义,71,TCP SYN扫描特点,SYN扫描的优点在于即使日志中对于扫描有所记录,但是尝试进行连接的记录也要比全扫描的记录少的多。 SYN扫描缺点是在大部分操作系

31、统中,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者得到授权的用户,才能访问专门的系统调用。,2018/10/17,网络入侵与防范讲义,72,秘密扫描,TCP FIN扫描的原理 TCP FIN扫描的过程 TCP FIN扫描的特点 两个变种 Null扫描 Xmas扫描,2018/10/17,网络入侵与防范讲义,73,TCP FIN扫描原理,TCP FIN扫描技术使用FIN数据包探测端口: 当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,且返回一个RST数据包。 当一个FIN数据包到达一个打开的端口,数据包只是简单丢掉(不返回RST数据包)。 由于这种技

32、术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽的多。 FIN数据包能通过监测SYN包的包过滤器TCP FIN扫描又称作秘密扫描。,2018/10/17,网络入侵与防范讲义,74,TCP FIN扫描过程(成功),扫描主机向目标主机发送FIN数据包来探听端口,若FIN数据包到达的是一个打开的端口,数据包则被简单的丢掉,并不返回任何信息,如图所示:,2018/10/17,网络入侵与防范讲义,75,TCP FIN扫描过程(未成功),当FIN数据包到达一个关闭的端口,TCP会把它判断成是错误,数据包会被丢掉,并且回返回一个RST数据包,如图所示:,2018/10/1

33、7,网络入侵与防范讲义,76,TCP FIN扫描特点,秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。 和SYN扫描类似,秘密扫描也需要构造自己的IP包。,2018/10/17,网络入侵与防范讲义,77,TCP FIN扫描特点(2),TCP FIN扫描通常适用于UNIX目标主机。 在Windows NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。这在区分UNIX和NT时,是十分有用的。,2018/10/17,网络入侵与防范讲义,78,TCP FIN扫描的两个变种,Xmas和Null扫描是秘密扫描的两个变种 Xmas扫描打开FIN、U

34、RG和PSH标记 而Null扫描关闭所有标记 使用这些组合的目的是为了通过所谓的FIN标记监测器的过滤。,2018/10/17,网络入侵与防范讲义,79,TCP FIN扫描的变种Null扫描,扫描主机将TCP数据包中的ACK(确认)、FIN(结束连接)、RST(重新设定连接)、SYN(连接同步化要求)、URG(紧急)、PSH(接收端将数据转由应用处理)标志位置空后发送给目标主机。,2018/10/17,网络入侵与防范讲义,80,TCP FIN扫描的变种Null扫描,若目标端口开放,目标主机将不返回任何信息,如图所示:若目标主机返回RST信息,则表示端口关闭,如图所示:,2018/10/17,网

35、络入侵与防范讲义,81,TCP FIN扫描的变种XMAS扫描,XMAS扫描原理和NULL扫描的类似,将TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发送给目标主机。,2018/10/17,网络入侵与防范讲义,82,TCP FIN扫描的变种XMAS扫描,若目标端口开放,目标主机将不返回任何信息,如图所示: 若目标主机返回RST信息,则表示端口关闭,如图所示:,2018/10/17,网络入侵与防范讲义,83,认证(ident)扫描,认证(ident)协议一般用于网络连接过程中服务器验证客户端身份,因而监听TCP 113端口的ident服务应该是安装在客户端的,并由该TC

36、P连接的服务端向客户端的113号端口发起认证连接。 连接过程:当客户端向服务器发送某个连接请求后,服务器便先向客户端的TCP 113端口发起连接,询问客户端该进程的拥有者名称,也就是问问“现在要连上我的这个家伙,在你那儿是什么身份”。服务器获取这一信息并认证成功后,记录下“某年某月某日谁连到我的机器上”,再建立服务连接进行通信。,认证(ident)扫描,在端口扫描中,利用这一协议,扫描程序先主动尝试与目标主机建立起一个TCP连接(如Http连接等),连接成功之后,它向目标主机的TCP 113端口建立另一连接,并通过该连接向目标主机的ident服务发送第一个TCP连接所对应的两个端口号。如果目标

37、主机安装并运行了ident服务,那么该服务将向扫描程序返回相关联的进程的用户属性等信息。 由于在此过程中,扫描程序先以客户方身份与目标主机建立连接,后又以服务方身份对目标主机进行认证,因此这种扫描方式也被称为反向认证扫描。不过,这种方法只能在和目标端口建立了一个完整的TCP连接后才能发挥作用。,FTP代理扫描,文件传输协议(FTP)允许数据连接与控制连接位于不同的机器上,并支持代理FTP连接。FTP代理扫描正是利用了这个缺陷,使用支持代理的FTP服务器来扫描TCP端口。这种扫描方式又被称为FTP反弹扫描(FTP Bounce Attack)。 扫描程序先在本地与一个支持代理的FTP服务器建立控

38、制连接,然后使用PORT命令向FTP服务器声明欲扫描的目标机器的IP地址和端口号,其中IP地址为代理传输的目的地址,而端口号则为传输时所需的被动端口,并发送LIST命令。这时,FTP服务器会尝试向目标主机指定端口发起数据连接请求。,FTP代理扫描,如果目标主机对应端口确实处于监听状态,FTP服务器就会向扫描程序返回成功信息,返回码为150和226。否则返回类似这样的错误信息:“425 Cant build data connection: Connection refused”。 扫描程序持续使用PORT和LIST命令,直到目标机器上所有的选择端口扫描完毕。 这种方式隐藏性很好,难以跟踪,能轻

39、而易举的绕过防火墙。不过对所有需扫描的端口都要逐一进行上述步骤,速度比较慢。而且,现在许多FTP服务器都禁止了代理这一特性。,2018/10/17,网络入侵与防范讲义,87,远程主机OS指纹识别,基本原理 主动协议栈指纹识别 被动协议栈指纹识别,2018/10/17,网络入侵与防范讲义,88,远程主机OS指纹识别的基本原理,操作系统(Operating System,简称OS)识别是入侵或安全检测需要收集的重要信息,是分析漏洞和各种安全隐患的基础。 只有确定了远程主机的操作系统类型、版本,才能对其安全状况作进一步的评估。 利用TCP/IP堆栈作为特殊的“指纹”,以确定系统的技术远程主机OS指纹

40、识别。 主动协议栈指纹识别 被动协议栈指纹识别,2018/10/17,网络入侵与防范讲义,89,主动协议栈指纹识别,由于TCP/IP协议栈技术只是在RFC文档中描述,各个公司在编写应用于自己的OS的TCP/IP协议栈的时候,对RFC文档做出了不尽相同的诠释。 造成了各个OS在TCP/IP协议的实现上的不同。 通过对不同的OS的TCP/IP协议栈存在的些微差异的鉴别来判定OS类型。,2018/10/17,网络入侵与防范讲义,90,主动协议栈指纹识别(2),主要技术有: FIN探测 ISN采样探测 Dont Fragment位探测 TCP初始窗口的大小检测 ACK值探测 ICMP出错消息抑制 IC

41、MP出错消息回射完整性 TOS服务类型 片断处理,2018/10/17,网络入侵与防范讲义,91,FIN探测,通过向目标主机上的一个打开的端口发送一个FIN分组,然后等待回应;许多系统如:WINNT、CISCO IOS、HP/UX、IRIX的TCP/IP协议栈实现将返回一个Reset。,2018/10/17,网络入侵与防范讲义,92,ISN采样探测,这是寻找初始化序列长度模板与特定的OS匹配的方法,这样可以区分一些OS,如早些的UNIX系统是64 K长度。而一些新的UNIX系统则是随机增加长度,如Solaris、IRIX、FreeBSD、Digital Unix、Cray等。,2018/10/

42、17,网络入侵与防范讲义,93,Dont Fragment位探测,一些操作系统会设置IP头部“Dont Fragment位”(不分片位)以改善性能,监视这个位就可以判定区分远程OS。,2018/10/17,网络入侵与防范讲义,94,TCP初始窗口大小探测,简单检查返回的包里包含的窗口大小。某些OS在TCP/IP协议栈的实现中,这个值是独特的。如AIX是0x3F25,NT和BSD是0x402E,可以增加指纹鉴别的准确度。,2018/10/17,网络入侵与防范讲义,95,ACK值探测,不同的OS对TCP/IP协议栈实现在ACK包的序列号的值的选择上存在差异,有些OS发回所确认的TCP包的序列号,另

43、外一些则发回所确认的TCP包的序列号加1。,2018/10/17,网络入侵与防范讲义,96,ICMP出错信息抑制,有些OS限制ICMP出错消息的速率,通过某个随机选定的高端口发送UDP包,可能统计出在某个给定时间段内接受的不可达出错消息的数目。,2018/10/17,网络入侵与防范讲义,97,ICMP出错消息回射完整性,某些OS对TCP/IP协议栈的实现在返回ICMP出错消息的时候会修改所引用的IP头,检测对IP头的改动的类型可以粗略判断OS。,2018/10/17,网络入侵与防范讲义,98,TOS服务类型,检测ICMP端口不可到达消息的TOS字段,多数OS会是0,而另一些则不是。,2018/

44、10/17,网络入侵与防范讲义,99,片断处理,不同的TCP/IP协议栈实现对重叠的片断处理上有差异。有些在重组时会用到后到达的新数据覆盖旧数据,有些则相反。,2018/10/17,网络入侵与防范讲义,100,被动协议栈指纹识别,主动协议栈指纹识别由于需要主动往目标发送数据包,但这些数据包在网络流量中比较惹人注意,因为正常使用网络不会按这样的顺序出现包,因此比较容易被IDS扑获。 为了隐秘的识别远程OS,需要使用被动协议栈指纹识别。,2018/10/17,网络入侵与防范讲义,101,被动协议栈指纹识别(2),被动协议栈指纹识别在原理上和主动协议栈指纹识别相似,但是它从不主动发送数据包,只是被动

45、的捕获远程主机返回的包来分析其OS类型版本,一般可以从4个反面着手: TTL值:这个数据是操作系统对出站的信息包设置的存活时间。 Windows Size:操作系统设置的TCP窗口大小,这个窗口大小是在发送FIN信息包时包含的选项。 DF:可以查看操作系统是否设置了不准分片位。 TOS:操作系统是否设置了服务类型。,2018/10/17,网络入侵与防范讲义,102,漏洞扫描,漏洞扫描技术的原理 漏洞扫描技术的分类和实现方法 漏洞扫描的问题,2018/10/17,网络入侵与防范讲义,103,漏洞扫描原理,漏洞扫描主要通过以下两种方法来检查目标主机是否存在漏洞: 基于漏洞库的特征匹配:通过端口扫描

46、得知目标主机开启的端口以及端口上的网络服务后,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在; 基于模拟攻击:通过模拟黑客的攻击手段,编写攻击模块,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱势口令等,若模拟攻击成功,则表明目标主机系统存在安全漏洞。,2018/10/17,网络入侵与防范讲义,104,漏洞扫描分类和实现方法,基于网络系统漏洞库,漏洞扫描大体包括CGI漏洞扫描、POP3漏洞扫描、FTP漏洞扫描、SSH漏洞扫描、HTTP漏洞扫描等。这些漏洞扫描是基于漏洞库,将扫描结果与漏洞库相关数据匹配比较得到漏洞信息; 漏洞扫描还包括没有相应漏洞库的各

47、种扫描,比如Unicode遍历目录漏洞探测、FTP弱势密码探测、OPENRelay邮件转发漏洞探测等,这些扫描通过使用插件(功能模块技术)进行模拟攻击,测试出目标主机的漏洞信息。 下面就这两种扫描的实现方法进行讨论。,2018/10/17,网络入侵与防范讲义,105,漏洞扫描分类和实现方法,基于漏洞库的规则匹配 基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。通过采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再在此基础之上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描的工

48、作。 这样,漏洞库信息的完整性和有效性决定了漏洞扫描系统的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时间。因此,漏洞库的编制不仅要对每个存在安全隐患的网络服务建立对应的漏洞库文件,而且应当能满足前面所提出的性能要求。,2018/10/17,网络入侵与防范讲义,106,漏洞扫描分类和实现方法,基于模拟攻击 将模拟攻击的模块做成插件的形式,插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。插件编写规范化后,甚至用户自己都可以用perl、c或自行设计的脚本语言编写的插件来

49、扩充漏洞扫描软件的功能。 这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件具有强的扩展性。,2018/10/17,网络入侵与防范讲义,107,漏洞扫描问题,系统配置规则库问题 如果规则库设计的不准确,预报的准确度就无从谈起; 它是根据已知的安全漏洞进行安排和策划的,而对网络系统的很多危险的威胁却是来自未知的漏洞,这样,如果规则库更新不及时,预报准确度也会逐渐降低。,2018/10/17,网络入侵与防范讲义,108,漏洞扫描问题,漏洞库信息要求 漏洞库信息是基于网络系统漏洞库的漏洞扫描的主要判断依据。如果漏洞库信息不全面或得不到即时的更新,不但不能发挥漏洞扫描的作用,还会给系统管理员以错误的引导,从而对系统的安全隐患不能采取有效措施并及时的消除。,2018/10/17,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报