1、第2章 扫描与防御技术主讲:李曙红主讲:李曙红2022-7-29网络入侵与防范讲义2本章内容安排本章内容安排o 2.1 扫描技术概述扫描技术概述o 2.2 常见的扫描技术常见的扫描技术o 2.3 扫描工具赏析扫描工具赏析o 2.4 扫描的防御扫描的防御o 2.5 小结小结2022-7-29网络入侵与防范讲义32.1 扫描技术概述扫描技术概述o 什么是扫描器什么是扫描器o 网络扫描器是一把双刃剑网络扫描器是一把双刃剑o 为什么需要网络扫描器为什么需要网络扫描器o 扫描的重要性扫描的重要性o 网络扫描器的主要功能网络扫描器的主要功能o 网络扫描器与漏洞的关系网络扫描器与漏洞的关系o 扫描三步曲扫描
2、三步曲o 一个典型的扫描案例一个典型的扫描案例2022-7-29网络入侵与防范讲义4什么是扫描器什么是扫描器o 扫描器是一种自动检测远程或本地主机安全性扫描器是一种自动检测远程或本地主机安全性弱点的程序。它集成了常用的各种扫描技术,弱点的程序。它集成了常用的各种扫描技术,能自动发送数据包去探测和攻击远端或本地的能自动发送数据包去探测和攻击远端或本地的端口和服务,并自动收集和记录目标主机的反端口和服务,并自动收集和记录目标主机的反馈信息,从而发现目标主机是否存活、目标网馈信息,从而发现目标主机是否存活、目标网络内所使用的设备类型与软件版本、服务器或络内所使用的设备类型与软件版本、服务器或主机上各
3、主机上各TCP/UDP端口的分配、所开放的服端口的分配、所开放的服务、所存在的可能被利用的安全漏洞。据此提务、所存在的可能被利用的安全漏洞。据此提供一份可靠的安全性分析报告,报告可能存在供一份可靠的安全性分析报告,报告可能存在的脆弱性。的脆弱性。2022-7-29网络入侵与防范讲义5网络扫描器是一把双刃剑网络扫描器是一把双刃剑o 安全评估工具安全评估工具系统管理员系统管理员保障系统安全的有效工具保障系统安全的有效工具o 网络漏洞扫描器网络漏洞扫描器网络入侵者网络入侵者收集信息的重要手段收集信息的重要手段o 扫描器是一把扫描器是一把“双刃剑双刃剑”。2022-7-29网络入侵与防范讲义6为什么需
4、要网络扫描器为什么需要网络扫描器o 由于网络技术的飞速发展,网络规模迅猛增由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导致新的系统漏长和计算机系统日益复杂,导致新的系统漏洞层出不穷洞层出不穷o 由于系统管理员的疏忽或缺乏经验,导致旧由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在有的漏洞依然存在o 许多人出于好奇或别有用心,不停的窥视网许多人出于好奇或别有用心,不停的窥视网上资源上资源2022-7-29网络入侵与防范讲义7扫描的重要性扫描的重要性o 扫描的重要性扫描的重要性在于把繁琐的安全检测,通过在于把繁琐的安全检测,通过程序来自动完成,这不仅减轻了网络管理员程序来自
5、动完成,这不仅减轻了网络管理员的工作,而且也缩短了检测时间。的工作,而且也缩短了检测时间。o 同时,也可以认为扫描器是一种同时,也可以认为扫描器是一种网络安全性网络安全性评估软件评估软件,利用扫描器可以快速、深入地对,利用扫描器可以快速、深入地对目标网络进行安全评估。目标网络进行安全评估。o 网络安全扫描技术与防火墙、安全监控系统网络安全扫描技术与防火墙、安全监控系统互相配合能够为网络提供很高的安全性。互相配合能够为网络提供很高的安全性。2022-7-29网络入侵与防范讲义8网络扫描器的主要功能网络扫描器的主要功能o 扫描目标主机识别其工作状态(开扫描目标主机识别其工作状态(开/关机)关机)o
6、 识别目标主机端口的状态(监听识别目标主机端口的状态(监听/关闭)关闭)o 识别目标主机操作系统的类型和版本识别目标主机操作系统的类型和版本o 识别目标主机服务程序的类型和版本识别目标主机服务程序的类型和版本o 分析目标主机、目标网络的漏洞(脆弱点)分析目标主机、目标网络的漏洞(脆弱点)o 生成扫描结果报告生成扫描结果报告2022-7-29网络入侵与防范讲义9网络扫描器与漏洞的关系网络扫描器与漏洞的关系o 网络漏洞网络漏洞是系统软、硬件存在安全方面的是系统软、硬件存在安全方面的脆弱性,安全漏洞的存在导致非法用户入脆弱性,安全漏洞的存在导致非法用户入侵系统或未经授权获得访问权限,造成信侵系统或未
7、经授权获得访问权限,造成信息篡改、拒绝服务或系统崩溃等问题。息篡改、拒绝服务或系统崩溃等问题。o 网络扫描网络扫描可以对计算机网络系统或网络设可以对计算机网络系统或网络设备进行安全相关的检测,以找出安全隐患备进行安全相关的检测,以找出安全隐患和可能被黑客利用的漏洞。和可能被黑客利用的漏洞。2022-7-29网络入侵与防范讲义10扫描三步曲扫描三步曲o 一个完整的网络安全扫描分为三个阶段:一个完整的网络安全扫描分为三个阶段:n 第一阶段:发现目标主机或网络n 第二阶段:发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑
8、结构、路由设备以及各主机的信息n 第三阶段:根据收集到的信息判断或者进一步测试系统是否存在安全漏洞2022-7-29网络入侵与防范讲义11扫描三步曲(续)扫描三步曲(续)o 网络安全扫描技术包括网络安全扫描技术包括PING扫描、操作系统探测、扫描、操作系统探测、穿透防火墙探测、端口扫描、漏洞扫描等穿透防火墙探测、端口扫描、漏洞扫描等o PING扫描扫描用于扫描用于扫描第一阶段第一阶段,识别系统是否活动,识别系统是否活动o OS探测、穿透防火墙探测、端口扫描探测、穿透防火墙探测、端口扫描用于扫描用于扫描第二第二阶段阶段n OS探测是对目标主机运行的OS进行识别n 穿透防火墙探测用于获取被防火墙保
9、护的网络资料n 端口扫描是通过与目标系统的TCP/IP端口连接,并查看该系统处于监听或运行状态的服务o 漏洞扫描漏洞扫描用于安全扫描用于安全扫描第三阶段第三阶段,通常是在端口扫,通常是在端口扫描的基础上,进而检测出目标系统存在的安全漏洞描的基础上,进而检测出目标系统存在的安全漏洞2022-7-29网络入侵与防范讲义12一个典型的扫描案例一个典型的扫描案例2022-7-29网络入侵与防范讲义131.Find targetso 选定目标为:选定目标为:192.168.1.18o 测试此主机是否处于活动状态,工具是用操测试此主机是否处于活动状态,工具是用操作系统自带的作系统自带的ping,使用命令:
10、,使用命令:ping 192.168.1.18o 结果见下页图。结果见下页图。2022-7-29网络入侵与防范讲义14说明该主机处于活动状态说明该主机处于活动状态2022-7-29网络入侵与防范讲义152.Port Scano 运用扫描工具,检查目标主机开放的端口,运用扫描工具,检查目标主机开放的端口,判断它运行了哪些服务判断它运行了哪些服务o 使用的工具是使用的工具是Nmap 4.20(此工具将在后(此工具将在后面进行介绍)面进行介绍)o 扫描命令:扫描命令:nmap 192.168.1.18o 扫描结果见下面图扫描结果见下面图2022-7-29网络入侵与防范讲义162022-7-29网络入
11、侵与防范讲义172.Port Scan(2)o 端口开放信息如下:端口开放信息如下:n 21/tcp open ftpn 25/tcp open smtpn 42/tcp open nameservern 53/tcp open domainn 80/tcp open httpn o 我们将重点关注我们将重点关注SMTP端口端口2022-7-29网络入侵与防范讲义183.Vulnerability Checko 检测检测SMTP服务是否存在漏洞服务是否存在漏洞o 使用漏洞扫描工具使用漏洞扫描工具Nessus 3(此工具在后(此工具在后面将会介绍)面将会介绍)o 扫描过程见下页图扫描过程见下页图
12、2022-7-29网络入侵与防范讲义19扫描目标是扫描目标是192.168.1.182022-7-29网络入侵与防范讲义20Nessus正在进行漏洞扫描正在进行漏洞扫描2022-7-29网络入侵与防范讲义214.Reporto Nessus发现了目标主机的发现了目标主机的SMTP服务存在服务存在漏洞。漏洞。o 扫描报告中与扫描报告中与SMTP漏洞相关的部分见下页漏洞相关的部分见下页图。图。2022-7-29网络入侵与防范讲义22漏洞编号:漏洞编号:CVE-2003-08182022-7-29网络入侵与防范讲义232.2 常见的扫描技术常见的扫描技术o TCP/IP相关知识相关知识o 常用网络命
13、令常用网络命令o 主机扫描主机扫描o 端口扫描端口扫描n全扫描n半扫描n秘密扫描n认证(ident)扫描nFTP代理扫描o 远程主机远程主机OS指纹识别指纹识别o 漏洞扫描漏洞扫描不可不学的扫描技术不可不学的扫描技术巧妙奇特的天才构思巧妙奇特的天才构思2022-7-29网络入侵与防范讲义24TCP/IP相关知识相关知识o TCP报文格式报文格式 o TCP通信过程通信过程o ICMP协议协议2022-7-29网络入侵与防范讲义25TCP报文格式报文格式 2022-7-29网络入侵与防范讲义26TCP控制位控制位o URG:为紧急数据标志。如果它为为紧急数据标志。如果它为1,表示本,表示本数据包
14、中包含紧急数据。此时紧急数据指针有数据包中包含紧急数据。此时紧急数据指针有效。效。o ACK:为确认标志位。如果为为确认标志位。如果为1,表示包中的,表示包中的确认号是有效的。否则,包中的确认号无效。确认号是有效的。否则,包中的确认号无效。o PSH:如果置位,接收端应尽快把数据传送给如果置位,接收端应尽快把数据传送给应用层。应用层。2022-7-29网络入侵与防范讲义27TCP控制位控制位o RST:用来复位一个连接。用来复位一个连接。RST标志置位的数标志置位的数据包称为复位包。一般情况下,如果据包称为复位包。一般情况下,如果TCP收到收到的一个分段明显不是属于该主机上的任何一个的一个分段
15、明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。连接,则向远端发送一个复位包。o SYN:标志位用来建立连接,让连接双方同步标志位用来建立连接,让连接双方同步序列号。如果序列号。如果SYN1而而ACK=0,则表示该,则表示该数据包为连接请求,如果数据包为连接请求,如果SYN=1而而ACK=1则表示接受连接。则表示接受连接。o FIN:表示发送端已经没有数据要求传输了,表示发送端已经没有数据要求传输了,希望释放连接。希望释放连接。2022-7-29网络入侵与防范讲义28TCP通信过程通信过程o正常正常TCP通信过程通信过程:n 建立连接n(数据传输)n 断开连接2022-7-29网络
16、入侵与防范讲义29建立建立TCP连接连接ClientServer SYN JSYN,ACK,J+1 ACK K+1SYN_SENT(主动打开)ESTABLISHED LISTEN(被动监听)SYN RCVDESTABLISHED2022-7-29网络入侵与防范讲义30断开断开TCP连接连接2022-7-29网络入侵与防范讲义31ICMP协议(协议(1)o Internet Control Message Protocol,是是IP的一部分,在的一部分,在IP协议栈中必须实现。协议栈中必须实现。o 用途:用途:n 网关或者目标机器利用ICMP与源通讯n 当出现问题时,提供反馈信息用于报告错误o
17、特点:特点:n 其控制能力并不用于保证传输的可靠性n 它本身也不是可靠传输的n 并不用来反映ICMP报文的传输情况2022-7-29网络入侵与防范讲义32ICMP协议(协议(2)ICMP报文类型报文类型n 0 Echo Replyn 3 Destination Unreachablen 4 Source Quench n 5 Redirect n 8 Echo n 11 Time Exceededn 12 Parameter Problemn 13 Timestamp n 14 Timestamp Reply n 15 Information Request n 16 Information
18、Reply n 17 Address Mask Request n 18 Address Mask Reply 2022-7-29网络入侵与防范讲义33常用网络命令常用网络命令o Pingo Traceroute、Tracert、x-firewalko Net命令系列命令系列2022-7-29网络入侵与防范讲义34常用网络命令常用网络命令-pingo Ping是最基本的扫描技术。是最基本的扫描技术。o ping命令命令主要目的是检测目标主机是不主要目的是检测目标主机是不是可连通,继而探测一个是可连通,继而探测一个IP范围内的主机是范围内的主机是否处于激活状态。否处于激活状态。不要小瞧不要小瞧p
19、ingping黑客的攻击往往都是从黑客的攻击往往都是从pingping开始的开始的2022-7-29网络入侵与防范讲义35常用网络命令常用网络命令-ping的原理的原理o ping是一个基本的网络命令,用来确定网是一个基本的网络命令,用来确定网络上具有某个特定络上具有某个特定IP地址的主机是否存在地址的主机是否存在以及是否能接收请求。以及是否能接收请求。o Ping命令通过向计算机发送命令通过向计算机发送ICMP回应报回应报文并且监听回应报文的返回,以校验与远程文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。计算机或本地计算机的连接。2022-7-29网络入侵与防范讲义36常用
20、网络命令常用网络命令-ping参数说明参数说明o ping在安装了在安装了TCP/IP协议后可以使用。协议后可以使用。2022-7-29网络入侵与防范讲义37常用网络命令常用网络命令ping命令使用命令使用l-n:发送发送ICMP回应报文的个数回应报文的个数2022-7-29网络入侵与防范讲义38常用网络命令常用网络命令-Tracerouteo Traceroute跟踪两台机器之间的路径,显示中跟踪两台机器之间的路径,显示中间的每一个节点的信息。这个工具可以用来确定某个间的每一个节点的信息。这个工具可以用来确定某个主机的位置。主机的位置。o traceroute 命令旨在用于网络测试、评估和管
21、理。命令旨在用于网络测试、评估和管理。它应主要用于手动故障隔离。它应主要用于手动故障隔离。o 语法语法:2022-7-29网络入侵与防范讲义39常用网络命令常用网络命令 Traceroute说明说明o-f-f后指定一个初始后指定一个初始TTL,它的范围是大于,它的范围是大于0小于小于最大最大TTL,缺省为,缺省为1。o-m-m后指定一个最大后指定一个最大TTL,它的范围是大于初始,它的范围是大于初始TTL,缺省为,缺省为30。o-p-p后可以指定一个整数,该整数是目的主机的端后可以指定一个整数,该整数是目的主机的端口号,它的缺省为口号,它的缺省为33434,用户一般无须更改此选,用户一般无须更
22、改此选项。项。o-q-q后可以指定一个整数后可以指定一个整数,该整数是每次发送的探该整数是每次发送的探测数据包的个数,它的范围是大于测数据包的个数,它的范围是大于0,缺省为,缺省为3。o-w-w后可以指定一个整数,该整数指明后可以指定一个整数,该整数指明IP包的超包的超时时间,它的范围是大于时时间,它的范围是大于0,缺省为,缺省为5秒。秒。o host 目的主机的目的主机的IP地址地址2022-7-29网络入侵与防范讲义40常用网络命令常用网络命令 Traceroute示例示例Quid#traceroute 35.1.1.48 traceroute to (35.1.1.48),30 hops
23、 max,56byte packet1 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 ms3 ccngw-ner-cc.Berkeley.EDU(128.32.136.23)39ms 40ms 39ms4 ccn-nerif22.Berkeley.EDU(128.32.168.22)39 ms 39 ms 39 ms5 128.32.197.4(128.32.197.4)40 ms 59 ms 59 ms6 131.119.2.5(131.1
24、19.2.5)59 ms 59 ms 59 ms7 129.140.70.13(129.140.70.13)99 ms 99 ms 80 ms8 129.140.71.6(129.140.71.6)139 ms 239 ms 319 ms9 129.140.81.7(129.140.81.7)220 ms 199 ms 199 ms10 nic.merit.edu(35.1.1.48)239 ms 239 ms 239 ms可以看出从源主机到目的地都经过了哪些网关,这对于网络分析是非常有用的。可以看出从源主机到目的地都经过了哪些网关,这对于网络分析是非常有用的。2022-7-29网络入侵与防范
25、讲义41常用的网络命令常用的网络命令Tracert、x-firewalko Windows下用下用tracert命令可以查看路由信命令可以查看路由信息,但是如今的路由器大部分都对息,但是如今的路由器大部分都对tracert命命令做了限制,此命令已经没有效果。令做了限制,此命令已经没有效果。o 有黑客开发出有黑客开发出x-firewalk.exe可用于在可用于在Windows环境下查看路由信息,非常实用,环境下查看路由信息,非常实用,下载地址是下载地址是http:/ 命令:命令:x-firewalk o 可以看到本地到达可以看到本地到达都经过了哪些路由器都经过了哪些路由器2022-7-29网络入
26、侵与防范讲义43常用网络命令常用网络命令-neto Net命令系列命令系列很多的很多的Windows的网络命令的网络命令都是都是net开头的。利用开头的。利用net开头的命令,可以实现开头的命令,可以实现很多的网络管理功能很多的网络管理功能比如用比如用net start server,可以启动服务器;,可以启动服务器;NET USE 用于将计用于将计算机与共享的资源相连接,或者切断计算机与共算机与共享的资源相连接,或者切断计算机与共享资源的连接,当不带选项使用本命令时,它会享资源的连接,当不带选项使用本命令时,它会列出计算机的连接。列出计算机的连接。o 以下以以下以Windows NT下的下的
27、Net USE命令为例。命令为例。2022-7-29网络入侵与防范讲义44常用网络命令常用网络命令net use示例示例net use命令及参数使用命令及参数使用2022-7-29网络入侵与防范讲义45常用网络命令常用网络命令net use示例示例(1)用户名为用户名为Administrator,密码为,密码为longmang与远程计与远程计算机算机192.168.1.34进行进行IPC$连接,如图所示。连接,如图所示。(2)查看与远程计算机建立的连接,如图所示。查看与远程计算机建立的连接,如图所示。2022-7-29网络入侵与防范讲义46常用网络命令常用网络命令net use示例示例(3)将
28、远程计算机的将远程计算机的c盘映射到本地盘映射到本地o盘,如图所示。盘,如图所示。2022-7-29网络入侵与防范讲义47常用网络命令常用网络命令net use示例示例(4)删除一个删除一个IPC$连接连接(5)删除共享映射删除共享映射2022-7-29网络入侵与防范讲义48主机扫描技术主机扫描技术o 传统技术传统技术o 高级技术高级技术2022-7-29网络入侵与防范讲义49主机扫描技术传统技术主机扫描技术传统技术o 主机扫描的目的是确定在目标网络上的主机主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。
29、果直接影响到后续的扫描。o 常用的传统扫描手段有:常用的传统扫描手段有:n ICMP Echo扫描n ICMP Sweep扫描n Broadcast ICMP扫描n Non-Echo ICMP扫描2022-7-29网络入侵与防范讲义50ICMP echo扫描扫描o 实现原理:实现原理:Ping的实现机制,在判断在一个网络的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送上主机是否开机时非常有用。向目标主机发送ICMP Echo Request(type 8)数据包,等待数据包,等待回复的回复的ICMP Echo Reply 包包(type 0)。如果。如果能收到,则表明目标系
30、统可达,否则表明目标系统能收到,则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。已经不可达或发送的包被对方的设备过滤掉。o 优点:简单,系统支持优点:简单,系统支持o 缺点:很容易被防火墙限制缺点:很容易被防火墙限制o 可以通过并行发送,同时探测多个目标主机,以提可以通过并行发送,同时探测多个目标主机,以提高探测效率(高探测效率(ICMP Sweep扫描)。扫描)。2022-7-29网络入侵与防范讲义51ICMP sweep扫描扫描o 使用使用ICMP ECHO轮询多个主机称为轮询多个主机称为ICMP SWEEP(或者或者Ping Sweep)。o 对于小的或者中等
31、网络使用这种方法来探测对于小的或者中等网络使用这种方法来探测主机是一种比较可接受的行为,但对于一些主机是一种比较可接受的行为,但对于一些大的网络如大的网络如CLASS A,B,这种方法就显,这种方法就显的比较慢,原因是的比较慢,原因是Ping在处理下一个之前在处理下一个之前将会等待正在探测主机的回应。将会等待正在探测主机的回应。o 扫描工具扫描工具Nmap实现了实现了ICMP sweep的功的功能。能。2022-7-29网络入侵与防范讲义52Broadcast ICMP扫描扫描o 实现原理:将实现原理:将ICMP请求包的目标地址设为广请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整
32、个播地址或网络地址,则可以探测广播域或整个网络范围内的主机。网络范围内的主机。o 缺点:缺点:n 只适合于UNIX/Linux系统,Windows 会忽略这种请求包;n 这种扫描方式容易引起广播风暴Broadcast ICMP扫描扫描o 实例实例2022-7-29网络入侵与防范讲义532022-7-29网络入侵与防范讲义54Non-Echo ICMP扫描扫描o 在在ICMP协议中不光光只有协议中不光光只有ICMP ECHO的的ICMP查询信息类型,在查询信息类型,在ICMP扫描扫描 技术中也技术中也用到用到Non-ECHO ICMP技术(不仅仅能探测技术(不仅仅能探测主机,也可以探测网络设备如
33、路由)如:主机,也可以探测网络设备如路由)如:n Stamp Request(Type 13)n Reply(Type 14)n Information Request(Type 15)n Reply(Type 16)n Address Mask Request(Type 17)n Reply(Type 18)2022-7-29网络入侵与防范讲义55主机扫描技术高级技术主机扫描技术高级技术o 防火墙和网络过滤设备常常导致传统的探测手段变防火墙和网络过滤设备常常导致传统的探测手段变得无效。为了突破这种限制,必须采用一些非常规得无效。为了突破这种限制,必须采用一些非常规的手段,利用的手段,利用IC
34、MP协议提供网络间传送错误信息协议提供网络间传送错误信息的手段,往往可以更有效的达到目的:的手段,往往可以更有效的达到目的:n 异常的IP包头(伪造错误字段Header Length和IP Options)n 在IP头中设置无效的字段值n 错误的数据分片n 通过超长包探测内部路由器(探测目标网络中的内部路由器)n 反向映射探测(探测被过滤设备或防火墙保护的主机和网络)端口扫描技术端口扫描技术o TCP/IP协议提出的端口是网络通信进程与协议提出的端口是网络通信进程与外界通讯交流的出口,可被命名和寻址,可外界通讯交流的出口,可被命名和寻址,可以认为是网络通信进程的一种标识符。以认为是网络通信进程
35、的一种标识符。o 进程通过系统调用与某端口建立连接绑定后进程通过系统调用与某端口建立连接绑定后,便会监听这个端口,传输层传给该端口的,便会监听这个端口,传输层传给该端口的数据都被相应进程所接收,而相应进程发给数据都被相应进程所接收,而相应进程发给传输层的数据都从该端口输出。传输层的数据都从该端口输出。o 互联网上的通信双方不仅需要知道对方的互联网上的通信双方不仅需要知道对方的IP地址,也需要知道通信程序的端口号。地址,也需要知道通信程序的端口号。端口扫描技术端口扫描技术o 目前目前IPv4协议支持协议支持16位的端口,端口号范围是位的端口,端口号范围是065535。其中,。其中,01023号端
36、口称为熟知端口号端口称为熟知端口,被提供给特定的服务使用;,被提供给特定的服务使用;102449151号号端口称为注册端口,由端口称为注册端口,由IANA记录和追踪;记录和追踪;4915265535号端口称为动态端口或专用端口号端口称为动态端口或专用端口,提供给专用应用程序。,提供给专用应用程序。o 许多常用的服务使用的是标准的端口,只要扫描到许多常用的服务使用的是标准的端口,只要扫描到相应的端口,就能知道目标主机上运行着什么服务相应的端口,就能知道目标主机上运行着什么服务。端口扫描技术就是利用这一点向目标系统的。端口扫描技术就是利用这一点向目标系统的TCP/UDP端口发送探测数据包,记录目标
37、系统端口发送探测数据包,记录目标系统的响应,通过分析响应来查看该系统处于监听或运的响应,通过分析响应来查看该系统处于监听或运行状态的服务。行状态的服务。2022-7-29网络入侵与防范讲义58端口扫描技术端口扫描技术o当确定了目标主机可达后,就可以使用端口扫描技术,发现目当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用监听的端口。端标主机的开放端口,包括网络协议和各种应用监听的端口。端口扫描技术包括以下几种:口扫描技术包括以下几种:o全扫描全扫描n会产生大量的审计数据,容易被对方发现,但其可靠性高。o半扫描半扫描n隐蔽性和可靠性介于全扫描和秘密扫描
38、之间。o秘密扫描秘密扫描n能有效的避免对方入侵检测系统和防火墙的检测,但使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息。o认证认证(ident)扫描扫描n需要先建立一个完整的TCP连接。oFTP代理扫描代理扫描n隐蔽性好,难以追踪。但受到服务器设置的限制。2022-7-29网络入侵与防范讲义59全扫描全扫描o 全扫描原理全扫描原理o 全扫描过程全扫描过程o 全扫描特点全扫描特点2022-7-29网络入侵与防范讲义60全扫描全扫描原理全扫描全扫描原理o 全全TCP连接是连接是TCP端口扫描的基础。端口扫描的基础。o 扫描主机尝试(使用三次握手)与目标主扫描主机尝试(使用三次握手)与目标
39、主机的某个端口建立正规的连接。机的某个端口建立正规的连接。o 连接由系统调用连接由系统调用connect()开始。如果开始。如果端口端口开放开放,则连接将建立成功;否则,返,则连接将建立成功;否则,返回回-1,则表示端口,则表示端口关闭关闭。2022-7-29网络入侵与防范讲义61全扫描全扫描过程(流程图)全扫描全扫描过程(流程图)initial(获取主机地址,填写主机地址列表)对目标主机的端口依次进行连接socket()建立新套接字connect()尝试建立连接连接成功,输出端口号Shutdown(),禁止数据的收和发尝试下一个端口号连接失败,尝试下一个端口号测试完毕,close(net)2
40、022-7-29网络入侵与防范讲义62全扫描全扫描过程(成功)全扫描全扫描过程(成功)o TCP Connect端口扫描服务端与客户端建端口扫描服务端与客户端建立连接成功(目标端口开放)的过程:立连接成功(目标端口开放)的过程:(1)Client端发送端发送SYN;(2)Server端返回端返回SYN/ACK,表明端口,表明端口开放;开放;(3)Client端返回端返回ACK,表明连接已建立;,表明连接已建立;(4)Client端主动断开连接。端主动断开连接。2022-7-29网络入侵与防范讲义63全扫描全扫描过程(成功)全扫描全扫描过程(成功)o 建立连接成功(目标端口开放)如图所示建立连接
41、成功(目标端口开放)如图所示:ACKSYN/ACKSYNClient端Server端2022-7-29网络入侵与防范讲义64全扫描全扫描过程(未成功)全扫描全扫描过程(未成功)o TCP Connect端口扫描服务端与客户端口扫描服务端与客户端未建立连接成功(目标端口关闭)过端未建立连接成功(目标端口关闭)过程:程:(1)Client端发送端发送SYN;(2)Server端返回端返回RST/ACK,表,表明端口未开放。明端口未开放。2022-7-29网络入侵与防范讲义65全扫描全扫描过程(未成功)全扫描全扫描过程(未成功)o 未建立连接成功未建立连接成功(目标端口关闭目标端口关闭)如图所示如图
42、所示:RSTRST/ACKSYNClient端Server端2022-7-29网络入侵与防范讲义66全扫描全扫描特点(优点)全扫描全扫描特点(优点)o 优点是实现简单,对操作者的权限没有严格优点是实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有要求(有些类型的端口扫描需要操作者具有root权限),系统中的任何用户都有权力权限),系统中的任何用户都有权力使用这个调用。使用这个调用。o 另一优点是扫描速度快。如果对每个目标端另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而调用,可
43、以通过同时打开多个套接字,从而加速扫描。加速扫描。2022-7-29网络入侵与防范讲义67全扫描全扫描特点(缺点)全扫描全扫描特点(缺点)o 扫描方式不隐蔽扫描方式不隐蔽o 这种扫描方法很容易被检测出来,在日志文这种扫描方法很容易被检测出来,在日志文件中会有大量密集的连接和错误记录件中会有大量密集的连接和错误记录o 并容易被防火墙发现和屏蔽并容易被防火墙发现和屏蔽2022-7-29网络入侵与防范讲义68半扫描半扫描o TCP SYN扫描的原理扫描的原理o TCP SYN扫描的过程扫描的过程o TCP SYN扫描的特点扫描的特点2022-7-29网络入侵与防范讲义69TCP SYN扫描原理扫描原
44、理o 在这种技术中,扫描主机向目标主机的选择在这种技术中,扫描主机向目标主机的选择端口发送端口发送SYN数据段。数据段。n 如果应答是RST,那么,说明端口是关闭的,按照设定继续探听其他端口;n 如果应答中包含SYN和ACK,说明目标端口处于监听状态。o 由于由于SYN扫描时,全连接尚未建立,所以,扫描时,全连接尚未建立,所以,这种技术通常被称为这种技术通常被称为“半连接半连接”扫描。扫描。2022-7-29网络入侵与防范讲义70TCP SYN扫描过程(成功)扫描过程(成功)RSTSYN/ACKSYNClient端Server端2022-7-29网络入侵与防范讲义71TCP SYN扫描过程(未
45、成功)扫描过程(未成功)RST/ACKClient端Server端SYN2022-7-29网络入侵与防范讲义72TCP SYN扫描特点扫描特点o SYN扫描的优点扫描的优点在于即使日志中对于扫描在于即使日志中对于扫描有所记录,但是尝试进行连接的记录也要比有所记录,但是尝试进行连接的记录也要比全扫描的记录少的多。全扫描的记录少的多。o SYN扫描缺点扫描缺点是在大部分操作系统中,发是在大部分操作系统中,发送主机需要构造适用于这种扫描的送主机需要构造适用于这种扫描的IP包,包,通常情况下,构造通常情况下,构造SYN数据包需要超级用数据包需要超级用户或者得到授权的用户,才能访问专门的系户或者得到授权
46、的用户,才能访问专门的系统调用。统调用。2022-7-29网络入侵与防范讲义73秘密扫描秘密扫描o TCP FIN扫描的原理扫描的原理o TCP FIN扫描的过程扫描的过程o TCP FIN扫描的特点扫描的特点o 两个变种两个变种n Null扫描n Xmas扫描 2022-7-29网络入侵与防范讲义74TCP FIN扫描原理扫描原理o TCP FIN扫描技术使用扫描技术使用FIN数据包探测端口:数据包探测端口:n 当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,且返回一个RST数据包。n 当一个FIN数据包到达一个打开的端口,数据包只是简单丢掉(不返回RST数据包)。o 由于这种技术不包
47、含标准的由于这种技术不包含标准的TCP三次握手协议的三次握手协议的任何部分,所以无法被记录下来,从而比任何部分,所以无法被记录下来,从而比SYN扫扫描隐蔽的多。描隐蔽的多。o FIN数据包能通过监测数据包能通过监测SYN包的包过滤器包的包过滤器TCP FIN扫描又称作扫描又称作秘密扫描秘密扫描。2022-7-29网络入侵与防范讲义75TCP FIN扫描过程(成功)扫描过程(成功)o 扫描主机向目标主机发送扫描主机向目标主机发送FIN数据包来探数据包来探听端口,若听端口,若FIN数据包到达的是一个打开数据包到达的是一个打开的端口,数据包则被简单的丢掉,并不返的端口,数据包则被简单的丢掉,并不返回
48、任何信息,如图所示:回任何信息,如图所示:Client端Server端FIN2022-7-29网络入侵与防范讲义76TCP FIN扫描过程(未成功)扫描过程(未成功)o 当当FIN数据包到达一个关闭的端口,数据包到达一个关闭的端口,TCP会把它判断成是错误,数据包会被丢掉,会把它判断成是错误,数据包会被丢掉,并且回返回一个并且回返回一个RST数据包,如图所示:数据包,如图所示:RSTClient端Server端FIN2022-7-29网络入侵与防范讲义77TCP FIN扫描特点扫描特点p 秘密扫描能躲避秘密扫描能躲避IDS、防火墙、包过、防火墙、包过滤器和日志审计,从而获取目标端口滤器和日志审
49、计,从而获取目标端口的开放或关闭的信息。的开放或关闭的信息。p 和和SYN扫描类似,秘密扫描也需要构扫描类似,秘密扫描也需要构造自己的造自己的IP包。包。2022-7-29网络入侵与防范讲义78TCP FIN扫描特点(扫描特点(2)o TCP FIN扫描通常适用于扫描通常适用于UNIX目标主目标主机。机。o 在在Windows NT环境下,该方法无效,环境下,该方法无效,因为不论目标端口是否打开,操作系统因为不论目标端口是否打开,操作系统都发送都发送RST。这在区分。这在区分UNIX和和NT时,时,是十分有用的。是十分有用的。2022-7-29网络入侵与防范讲义79TCP FIN扫描的两个变种
50、扫描的两个变种o Xmas和和Null扫描是秘密扫描的两个变种扫描是秘密扫描的两个变种n Xmas扫描打开FIN、URG和PSH标记n 而Null扫描关闭所有标记o 使用这些组合的目的是为了通过所谓的使用这些组合的目的是为了通过所谓的FIN标记监测器的过滤。标记监测器的过滤。2022-7-29网络入侵与防范讲义80TCP FIN扫描的变种扫描的变种Null扫描扫描o 扫描主机将扫描主机将TCP数据包中的数据包中的ACK(确认)、(确认)、FIN(结束连接)、(结束连接)、RST(重新设定连(重新设定连接)、接)、SYN(连接同步化要求)、(连接同步化要求)、URG(紧急)、(紧急)、PSH(接