12扫描技术.ppt
《12扫描技术.ppt》由会员分享,可在线阅读,更多相关《12扫描技术.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网络扫描器的原理与分析张铁军2022/12/302022/12/30主要内容扫描器的基本概念扫描器的工作原理网络扫描的主要技术现有扫描器介绍及选择扫描器的实例分析一、扫描器的基本概念什么是网络扫描器为什么需要网络扫描器网络扫描器的主要功能什么是网络扫描器扫描器是一种自动检测远程或本地主机安全性弱点的程序。通过使用扫描器可不留痕迹的发现远程服务器的各种TCP端口的分配、提供的服务、使用的软件版本!这就能间接的或直观的了解到远程主机所存在的安全问题。为什么需要网络扫描器由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导致新的系统漏洞层出不穷由于系统管理员的疏忽或缺乏经验,导致旧有的漏
2、洞依然存在许多人出于好奇或别有用心,不停的窥视网上资源网络扫描器的主要功能扫描目标主机识别其工作状态(开/关机)识别目标主机端口的状态(监听/关闭)识别目标主机系统及服务程序的类型和版本根据已知漏洞信息,分析系统脆弱点生成扫描结果报告二、扫描器的工作原理TCP协议ICMP协议扫描器的基本工作原理TCP协议(一)TCP是一种面向连接的,可靠的传输层协议。一次正常的TCP传输需要通过在客户端和服务器之间建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。TCP通过数据分段中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。TCP协议(二)TCPTC
3、P数据包格式数据包格式TCP协议(三)TCP标志位ACKACK:确认标志确认标志RSTRST:复位标志复位标志URGURG:紧急标志:紧急标志SYNSYN:建立连接标志建立连接标志PSHPSH:推标志推标志FINFIN:结束标志结束标志TCP协议(四)TCPTCP连接建立示意图连接建立示意图TCP通信过程 TCP TCP的通信过程大体分为如下几个步骤,假设的通信过程大体分为如下几个步骤,假设通信双方分别为主机通信双方分别为主机A A和主机和主机B B。主机主机A A首先向主机首先向主机B B发出连接请求报文发出连接请求报文(SYN)SYN),主主机机B B对主机对主机A A的请求发出确认,主机
4、的请求发出确认,主机A A接收到主机接收到主机B B的的确认包后,对接收到的主机确认包后,对接收到的主机B B的数据包,也向主机的数据包,也向主机B B发出确认包。当主机发出确认包。当主机B B收到收到A A再次发送的数据包后,再次发送的数据包后,连接建立完成。连接建立完成。主机主机A A向主机向主机B B发送应用数据。应用数据被分割发送应用数据。应用数据被分割成成TCPTCP认为最适合发送的数据块。这和认为最适合发送的数据块。这和UDPUDP完全不同,完全不同,应用程序产生的数据包长度将保持不变。由应用程序产生的数据包长度将保持不变。由TCPTCP传传递给递给IPIP的信息单位称为报文段或段
5、。的信息单位称为报文段或段。当主机当主机A A发出一个发出一个TCPTCP段后,它启动一个定时器,段后,它启动一个定时器,等待目的端等待目的端(主机主机B B的端口的端口)确认收到这个报文段。确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。如果不能及时收到一个确认,将重发这个报文段。通常称为超时重传。通常称为超时重传。当主机当主机B B收到发自收到发自TCPTCP连接另一端连接另一端(主机主机A)A)的数据,的数据,它将发送一个确认。这个确认不是立即发送,通常它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。这是为了节省带宽,确认常常将推迟几分之一秒。这是为了节省带
6、宽,确认常常会和后面的会和后面的TCPTCP分段一同发送。分段一同发送。TCPTCP报文段保持它的首部和数据的校验和。主机报文段保持它的首部和数据的校验和。主机A A和主机和主机B B会检测到数据在传输过程中的任何变化。会检测到数据在传输过程中的任何变化。如果收到段的校验和有差错,如果收到段的校验和有差错,TCPTCP将丢弃这个报文将丢弃这个报文段并且不确认收到此报文段段并且不确认收到此报文段(希望发送端超时并重希望发送端超时并重发发)。TCPTCP报文段使用报文段使用IPIP数据包来传输,而数据包来传输,而IPIP数据包的数据包的到达可能会失序,因此,到达可能会失序,因此,TCPTCP报文段
7、的到达也可能报文段的到达也可能会失序。如果必要,会失序。如果必要,TCPTCP将对收到的数据进行重新将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。每排序,将收到的数据以正确的顺序交给应用层。每个个TCPTCP报文的首部都有传输数据的序号。报文的首部都有传输数据的序号。如果如果IPIP数据包发生重复,数据包发生重复,TCPTCP的接收端会丢弃重的接收端会丢弃重复的数据。复的数据。TCPTCP还能提供流量控制。还能提供流量控制。TCPTCP连接的每一方都有连接的每一方都有固定大小的缓冲空间。固定大小的缓冲空间。TCPTCP的接收端只允许另一端的接收端只允许另一端发送接收端缓冲区所
8、能接纳的数据。这将防止发送发送接收端缓冲区所能接纳的数据。这将防止发送较快的主机导致接收较慢的主机的缓冲区溢出。接较快的主机导致接收较慢的主机的缓冲区溢出。接收一方会动态通知发送端接收缓冲区内还有多少空收一方会动态通知发送端接收缓冲区内还有多少空闲空间可以接收数据,这个缓冲空间称为滑动窗口。闲空间可以接收数据,这个缓冲空间称为滑动窗口。主机主机A A发送数据完毕后,将发送连接结束报文发送数据完毕后,将发送连接结束报文(FIN)FIN)给主机给主机B B。主机主机B B对收到的对收到的FINFIN报文进行确认,报文进行确认,同时也发送同时也发送FINFIN报文给主机报文给主机A A。当主机当主机
9、A A也对此也对此FINFIN报报文段完成确认后,此文段完成确认后,此TCPTCP连接宣告结束。连接宣告结束。如果在传输中出现某些异常,如果在传输中出现某些异常,TCPTCP连接的一方也连接的一方也可以发送复位报文可以发送复位报文(RST)RST),立刻关闭连接。立刻关闭连接。TCP中建立连接和断开连接过程TCPTCP建立连接过程建立连接过程TCPTCP断开连接过程断开连接过程TCPTCP协议建立连接和断开连接的过程可以用有限状协议建立连接和断开连接的过程可以用有限状态机态机(finite state machinefinite state machine,FSM)FSM)的转换来表示的转换来
10、表示TCPTCP协议状态转换协议状态转换ICMP协议(一)Internet Control Message Protocol,是IP的一部分,在IP协议栈中必须实现。用途:网关或者目标机器利用网关或者目标机器利用ICMPICMP与源通讯与源通讯当出现问题时,提供反馈信息用于报告错误当出现问题时,提供反馈信息用于报告错误特点:其控制能力并不用于保证传输的可靠性其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的它本身也不是可靠传输的并不用来反映并不用来反映ICMPICMP报文的传输情况报文的传输情况ICMP协议(二)ICMPICMP报文类型报文类型0 Echo Reply0 Echo Rep
11、ly3 Destination 3 Destination UnreachableUnreachable4 Source Quench 4 Source Quench 5 Redirect 5 Redirect 8 Echo 8 Echo 11 Time Exceeded11 Time Exceeded12 Parameter Problem12 Parameter Problem13 Timestamp 13 Timestamp 14 Timestamp Reply 14 Timestamp Reply 15 Information Request 15 Information Reques
12、t 16 Information Reply 16 Information Reply 17 Address Mask Request 17 Address Mask Request 18 Address Mask Reply 18 Address Mask Reply 扫描器的基本工作原理三、网络扫描的主要技术主机扫描技术端口扫描技术栈指纹OS识别技术扫描技术扫描技术扫描技术是主要的一种信息收集型攻击。地址扫描:运用ping这样的程序探测目标地址端口扫描:向大范围的主机连接一系列的TCP端口,扫描软件报告它成功的建立了连接的主机所开的端口。反向映射:黑客向主机发送虚假消息,然后根据返回hos
13、t unreachable这一消息特征判断出哪些主机是存在的。慢速扫描:由于一般扫描侦测器的实现是通过监视某个时间里一台特定主机发起的连接的数目(例如每秒10次)来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。主机扫描技术传统技术主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。常用的传统扫描手段有:ICMP EchoICMP Echo扫描扫描ICMP SweepICMP Sweep扫描扫描Broadcast ICMPBroadcast ICMP扫描扫描Non-Echo ICMPNon-Echo ICMP扫描扫描ICM
14、P echo扫描实现原理:实现原理:PingPing的实现机制,在判断在一个网络的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送上主机是否开机时非常有用。向目标主机发送ICMP Echo Request(type 8)ICMP Echo Request(type 8)数据包,等待回复数据包,等待回复的的ICMP Echo Reply ICMP Echo Reply 包包(type 0)(type 0)。如果能收到,。如果能收到,则表明目标系统可达,否则表明目标系统已经不则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。可达或发送的包被对方的设备过滤
15、掉。优点:简单,系统支持优点:简单,系统支持缺点:很容易被防火墙限制缺点:很容易被防火墙限制可以通过并行发送,同时探测多个目标主机,以可以通过并行发送,同时探测多个目标主机,以提高探测效率(提高探测效率(ICMP SweepICMP Sweep扫描)。扫描)。Broadcast ICMP扫描实现原理:将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机。缺点:只适合于只适合于UNIX/LinuxUNIX/Linux系统,系统,Windows Windows 会忽略这会忽略这种请求包;种请求包;这种扫描方式容易引起广播风暴这种扫描方式容易引起广播风暴Non-E
16、cho ICMP扫描一些其它ICMP类型包也可以用于对主机或网络设备的探测,如:Stamp Request(Type 13)Stamp Request(Type 13)Reply(Type 14)Reply(Type 14)Information Request(Type 15)Information Request(Type 15)Reply(Type 16)Reply(Type 16)Address Mask Request(Type 17)Address Mask Request(Type 17)Reply(Type 18)Reply(Type 18)主机扫描技术高级技术防火墙和网络过滤
17、设备常常导致传统的探测手段防火墙和网络过滤设备常常导致传统的探测手段变得无效。为了突破这种限制,必须采用一些非变得无效。为了突破这种限制,必须采用一些非常规的手段,利用常规的手段,利用ICMPICMP协议提供网络间传送错误协议提供网络间传送错误信息的手段,往往可以更有效的达到目的:信息的手段,往往可以更有效的达到目的:异常的异常的IPIP包头包头在在IPIP头中设置无效的字段值头中设置无效的字段值错误的数据分片错误的数据分片通过超长包探测内部路由器通过超长包探测内部路由器反向映射探测反向映射探测异常的IP包头向目标主机发送包头错误的向目标主机发送包头错误的IPIP包,目标主机或过包,目标主机或
18、过滤设备会反馈滤设备会反馈ICMP Parameter Problem ErrorICMP Parameter Problem Error信信息。常见的伪造错误字段为息。常见的伪造错误字段为Header Length Field Header Length Field 和和IP Options FieldIP Options Field。根据根据RFC1122RFC1122的规定,主机应该检测的规定,主机应该检测IPIP包的包的Version NumberVersion Number、ChecksumChecksum字段字段,路由器应该检路由器应该检测测IPIP包的包的ChecksumChec
19、ksum字段。不同厂家的路由器和操字段。不同厂家的路由器和操作系统对这些错误的处理方式不同,返回的结果作系统对这些错误的处理方式不同,返回的结果也各异。如果结合其它手段,可以初步判断目标也各异。如果结合其它手段,可以初步判断目标系统所在网络过滤设备的系统所在网络过滤设备的ACLACL。在IP头中设置无效的字段值向目标主机发送的IP包中填充错误的字段值,目标主机或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同样可以探测目标主机和网络设备以及其ACL。错误的数据分片当目标主机接收到错误的数据分片(如某些分片丢失),并且在规定的时间间隔内得不到更正时,将丢弃这
20、些错误数据包,并向发送主机反馈ICMP Fragment Reassembly Time Exceeded 错误报文。利用这种方法同样可以检测到目标主机和网络过滤设备及其ACL。通过超长包探测内部路由器若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志,该路由器会反馈 Fragmentation Needed and Dont Fragment Bit was Set差错报文,从而获取目标系统的网络拓扑结构。反向映射探测该技术用于探测被过滤设备或防火墙保护的网络该技术用于探测被过滤设备或防火墙保护的网络和主机。通常这些系统无法从外部直接到达,但和主机。通常这些系统无法从外部直
21、接到达,但是我们可以采用反向映射技术,通过目标系统的是我们可以采用反向映射技术,通过目标系统的路由设备进行有效的探测。路由设备进行有效的探测。当我们想探测某个未知网络内部的结构时,可以当我们想探测某个未知网络内部的结构时,可以构造可能的内部构造可能的内部IPIP地址列表,并向这些地址发送地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会数据包。当对方路由器接收到这些数据包时,会进行进行IPIP识别并路由,对不在其服务的范围的识别并路由,对不在其服务的范围的IPIP包包发送发送ICMP Host UnreachableICMP Host Unreachable或或ICMP Ti
22、me ICMP Time Exceeded Exceeded 错误报文,没有接收到相应错误报文错误报文,没有接收到相应错误报文的的IPIP地址会可被认为在该网络中。当然,这种方地址会可被认为在该网络中。当然,这种方法也会受到过滤设备的影响。法也会受到过滤设备的影响。端口扫描技术当确定了目标主机可达后,就可以使用端口扫描技术,发当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用监听的现目标主机的开放端口,包括网络协议和各种应用监听的端口。端口扫描技术主要包括以下三类:端口。端口扫描技术主要包括以下三类:开放扫描开放扫描会产生大量的审计数据,容易被对方发
23、现,但其可靠性高;会产生大量的审计数据,容易被对方发现,但其可靠性高;隐蔽扫描隐蔽扫描能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息;用的数据包在通过网络时容易被丢弃从而产生错误的探测信息;半开放扫描半开放扫描隐蔽性和可靠性介于前两者之间。隐蔽性和可靠性介于前两者之间。开放扫描技术TCP Connect 扫描TCP反向ident扫描TCP Connect 扫描实现原理:通过调用实现原理:通过调用socketsocket函数函数connect()connect()连接到连接到目
24、标计算机上,完成一次完整的三次握手过程。目标计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么如果端口处于侦听状态,那么connect()connect()就能成就能成功返回。否则,这个端口不可用,即没有提供服功返回。否则,这个端口不可用,即没有提供服务。务。优点:稳定可靠,不需要特殊的权限优点:稳定可靠,不需要特殊的权限缺点:扫描方式不隐蔽,服务器日志会记录下大缺点:扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录量密集的连接和错误记录 ,并容易被防火墙发,并容易被防火墙发现和屏蔽现和屏蔽TCP connectTCP connect扫描程序简单流程扫描程序简单流程下面
25、是一个简单的端口扫描器的源代码中的主函数部分,程序清单如下下面是一个简单的端口扫描器的源代码中的主函数部分,程序清单如下所示:所示:intint main(main(intargcintargc,char*char*argvargv)int probeportint probeport=0=0;struct hostentstruct hostent host host;/*/*这里定义这里定义socketsocket主机结构主机结构*/*/intint err,I,net;err,I,net;struct sockaddrstruct sockaddr_in _in sasa;/*socke
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 扫描 技术
限制150内