1、第第 四四 章章 网络扫描技术网络扫描技术内容提纲内容提纲主机扫描主机扫描2端口扫描端口扫描3操作系统识别操作系统识别4网络扫描概述网络扫描概述1漏洞扫描漏洞扫描5网络扫描技术网络扫描技术n什么是网络扫描?什么是网络扫描?n使用网络扫描软件对特定目标进行各种试探使用网络扫描软件对特定目标进行各种试探性通信,以获取目标信息的行为。性通信,以获取目标信息的行为。n网络扫描的目的网络扫描的目的n识别目标主机的工作状态(开识别目标主机的工作状态(开/ /关机)关机)n识别目标主机端口的状态(监听识别目标主机端口的状态(监听/ /关闭)关闭)n识别目标主机的操作系统类型识别目标主机的操作系统类型n识别目
2、标系统可能存在的漏洞识别目标系统可能存在的漏洞主机扫描主机扫描端口扫描端口扫描漏洞扫描漏洞扫描操作系统识别操作系统识别内容提纲内容提纲主机扫描主机扫描2端口扫描端口扫描3操作系统识别操作系统识别4网络扫描概述网络扫描概述1漏洞扫描漏洞扫描5主机扫描主机扫描n向目标主机发送探测数据包,根据是否向目标主机发送探测数据包,根据是否收到响应来判断主机的工作状态。收到响应来判断主机的工作状态。nICMPnICMP EchonICMP Non-EchonIPn异常的异常的IP数据报首部数据报首部n错误的分片错误的分片(一)(一)ICMP扫描扫描nICMPnInternet控制报文协议。控制报文协议。nIC
3、MP的作用:提高的作用:提高IP报文交付成功的机报文交付成功的机会会n网关或者目标机器利用网关或者目标机器利用ICMP与源通信。与源通信。n当出现问题时,提供反馈信息用于报告错误。当出现问题时,提供反馈信息用于报告错误。ICMP报文的结构报文的结构IP 首部首部ICMP 报文报文0IP 数据部分数据部分检验和检验和代码代码(这(这 4 个字节取决于个字节取决于 ICMP 报文的类型)报文的类型)81631IP 数据报数据报ICMP 的数据部分(长度取决于类型)的数据部分(长度取决于类型)类型类型ICMP报文种类报文种类ICMP 报文种类报文种类 类型的值类型的值 ICMP报文的类型报文的类型
4、差错报告报文差错报告报文 3终点不可达终点不可达 4源站抑制源站抑制11时间超过时间超过 12参数问题参数问题 5改变路由改变路由询问报文询问报文 8或或0回送请求或回答回送请求或回答 13或或14 时间戳请求或回答时间戳请求或回答17或或18 地址掩码请求或回答地址掩码请求或回答 10或或9 路由器询问或通告路由器询问或通告 ICMP Echo扫描扫描(1/5)ICMP 回送请求回送请求ICMP 回送响应回送响应黑客黑客目标主机目标主机结论:目标主机在运行结论:目标主机在运行ICMP Echo扫描扫描(2/5)ICMP 回送请求回送请求未收到任何响应未收到任何响应黑客黑客目标主机目标主机结论
5、:目标主机未开机结论:目标主机未开机ICMP Echo扫描扫描(3/5)n示例示例D:ping 10.65.19.8Pinging 10.65.19.8 with 32 bytes of data:Reply from 10.65.19.8: bytes=32 time1ms TTL=128Reply from 10.65.19.8: bytes=32 time1ms TTL=128Reply from 10.65.19.8: bytes=32 time1ms TTL=128Reply from 10.65.19.8: bytes=32 timeping 10.65.19.10Pinging
6、10.65.19.10 with 32 bytes of data:Request timed out.Request timed out.Request timed out.Request timed out.Ping statistics for 10.65.19.10: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),ICMP Echo扫描扫描(5/5)nBroadcast ICMP扫描扫描n将将ICMPICMP请求包的目标地址设为广播地址或网请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围络地址,则可以探
7、测广播域或整个网络范围内的主机。内的主机。n缺点:缺点:n只适合于只适合于UNIX/LinuxUNIX/Linux系统,系统,Windows Windows 会忽略这种会忽略这种请求包;请求包;n这种扫描方式容易引起广播风暴这种扫描方式容易引起广播风暴ICMP Non-Echo扫描扫描n利用其它类型的利用其它类型的ICMP报文进行扫描报文进行扫描ICMP 报文种类报文种类 类型的值类型的值 ICMP报文的类型报文的类型 差错报告报文差错报告报文 3终点不可达终点不可达 4源站抑制源站抑制11时间超过时间超过 12参数问题参数问题 5改变路由改变路由询问报文询问报文 8或或0回送请求或回答回送请
8、求或回答 13或或14 时间戳请求或回答时间戳请求或回答17或或18 地址掩码请求或回答地址掩码请求或回答 10或或9 路由器询问或通告路由器询问或通告 ICMP扫描的问题扫描的问题n很多企业防火墙对很多企业防火墙对ICMP回送请求报文进回送请求报文进行过滤,使其无法到达目标主机。行过滤,使其无法到达目标主机。n主机上安装的个人防火墙往往也对主机上安装的个人防火墙往往也对ICMP报文进行阻断。报文进行阻断。n解决办法:使用解决办法:使用IP数据报数据报进行扫描。进行扫描。(二)基于二)基于IP异常分组的扫描异常分组的扫描04816192431版版 本本标志标志生生 存存 时时 间间协协 议议标
9、标 识识服服 务务 类类 型型总总 长长 度度片片 偏偏 移移填填 充充首首 部部 检检 验验 和和源源 地地 址址目目 的的 地地 址址可可 选选 字字 段段 (长(长 度度 可可 变)变)比特比特首部长度首部长度固定部分固定部分(20 字节字节)可变部分可变部分01234567DTRC未用未用优优 先先 级级数数 据据 部部 分分首首部部比特比特数数 据据 部部 分分首首 部部传送传送IP 数据报数据报异常的异常的IP数据报首部:参数错数据报首部:参数错n主机在收到首部异常(主机在收到首部异常( Header Length FieldHeader Length Field、IP Optio
10、ns FieldIP Options Field 、Version Number)的)的IP数据报时应当返回数据报时应当返回“参数问题参数问题”的的ICMP报文。报文。首部异常的首部异常的IP数据报数据报“参数问题参数问题”ICMP报文报文 黑客黑客目标主机目标主机结论:目标主机在运行结论:目标主机在运行未收到任何响应未收到任何响应结论:目标主机未开机结论:目标主机未开机异常的异常的IP数据报首部:目标不可达数据报首部:目标不可达n向目标主机发送的向目标主机发送的IPIP包中填充错误的字包中填充错误的字段值,目标主机或过滤设备会反馈段值,目标主机或过滤设备会反馈ICMP ICMP Destin
11、ation UnreachableDestination Unreachable信息。信息。IPIP数据报分片数据报分片偏移偏移 = 0/8 = 0偏移偏移 = 0/8= 0偏移偏移 = 1400/8 = 175偏移偏移 = 2800/8 = 350140028003799279913993799需分片的需分片的数据报数据报数据报片数据报片 1首部首部数据部分共数据部分共 3800 字节字节首部首部 1首部首部 2首部首部 3字节字节 0数据报片数据报片 2数据报片数据报片 314002800字节字节 0错误的错误的IP数据报分片数据报分片n由于缺少分片而无法完成由于缺少分片而无法完成IP数据
12、报重组(超数据报重组(超时)时,主机应当回应时)时,主机应当回应“分片重组超时分片重组超时”的的ICMP报文。报文。分片分片1和分片和分片3“分片重组超时分片重组超时”ICMP报文报文 黑客黑客目标主机目标主机结论:目标主机在运行结论:目标主机在运行未收到任何响应未收到任何响应结论:目标主机未开机结论:目标主机未开机超长包探测内部路由器超长包探测内部路由器n若构造的数据包长度超过目标系统所在若构造的数据包长度超过目标系统所在路由器的路由器的PMTUPMTU且设置禁止分段标志且设置禁止分段标志, , 该该路由器会反馈路由器会反馈 Fragmentation Needed Fragmentatio
13、n Needed and Donand Dont Fragment Bit was Set t Fragment Bit was Set 差错差错报文。报文。(三)反向映射探测(三)反向映射探测n目标主机无法从外部直接到达,采用反向映射技目标主机无法从外部直接到达,采用反向映射技术,通过目标系统的路由设备术,通过目标系统的路由设备探测被过滤设备或探测被过滤设备或防火墙保护的网络和主机防火墙保护的网络和主机。n想探测某个未知网络内部的结构时,可以推测想探测某个未知网络内部的结构时,可以推测可能的内部可能的内部IPIP地址(列表),并向这些地址发地址(列表),并向这些地址发送数据包。目标网络的路由
14、器收到这些数据包送数据包。目标网络的路由器收到这些数据包时,会进行时,会进行IPIP识别并转发,对不在其服务范围识别并转发,对不在其服务范围的的IPIP包发送包发送ICMP Host UnreachableICMP Host Unreachable或或ICMP ICMP Time Exceeded Time Exceeded 错误报文。错误报文。n没有收到错误报文的没有收到错误报文的IPIP地址可认为在该网络中。地址可认为在该网络中。n这种方法也会受过滤设备的影响。这种方法也会受过滤设备的影响。内容提纲内容提纲主机扫描主机扫描2端口扫描端口扫描3操作系统识别操作系统识别4网络扫描概述网络扫描概
15、述1漏洞扫描漏洞扫描5端口扫描:概述端口扫描:概述n什么是端口?为什么可以进行端口扫描?什么是端口?为什么可以进行端口扫描?n一个端口就是一个潜在的通信信道,也就是一个端口就是一个潜在的通信信道,也就是入侵通道入侵通道!n当确定了目标主机可达后,就可以使用端口扫描技术,当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用发现目标主机的开放端口,包括网络协议和各种应用监听的端口。监听的端口。n向目标端口发送探测数据包,根据收到的响应来判断向目标端口发送探测数据包,根据收到的响应来判断端口的状态。端口的状态。nTCP 扫描扫描nUDP扫描扫描端口扫描:方法
16、端口扫描:方法n向目标端口发送探测数据包,根据收到向目标端口发送探测数据包,根据收到的响应来判断端口的状态。的响应来判断端口的状态。nTCP 扫描扫描nFTP代理扫描代理扫描nUDP扫描扫描一、一、TCP扫描扫描TCP报文段的结构报文段的结构目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINTCP首部首部20 字节的字节的固定首部固定首部SYNRSTPSHACKURG填填 充充TCP 数据部分数据部分TCP 首部首部TCP 报文段报文段IP 数据部分数据部分I
17、P 首部首部发送在前发送在前TCP连接请求报文及响应连接请求报文及响应TCP连接的建立过程连接的建立过程SYN主机主机 BSYN, ACKACK主机主机 A目标端口目标端口(一)(一)TCP Connect扫描扫描(1/2)n尝试同目标端口建立正常的尝试同目标端口建立正常的TCP连接连接(直接直接调用系统提供的调用系统提供的connect()函数函数)。n连接建立成功连接建立成功n结论:目标端口开放结论:目标端口开放n连接建立失败连接建立失败n结论:目标端口关闭结论:目标端口关闭TCP Connect扫描的特点扫描的特点(2/2)n优点优点n稳定可靠,不需要特殊的权限。稳定可靠,不需要特殊的权
18、限。n缺点缺点n扫描方式不隐蔽,服务器会记录下客户机的扫描方式不隐蔽,服务器会记录下客户机的连接行为。连接行为。n如何隐藏扫描行为?如何隐藏扫描行为?(二)(二)SYN扫描扫描(1/3)SYN主机主机 BSYN, ACKRST主机主机 A结论:端口开放结论:端口开放目标端口目标端口SYN扫描扫描(2/3)SYN主机主机 BRST主机主机 A结论:端口关闭结论:端口关闭目标端口目标端口SYN扫描的特点扫描的特点(3/3)n优点优点n很少有系统会记录这样的行为。很少有系统会记录这样的行为。n缺点缺点n需要管理员权限才可以构造这样的需要管理员权限才可以构造这样的SYN数据数据包。包。(三)(三)FI
19、N扫描扫描(1/3)FIN主机主机 B主机主机 A结论:端口开放结论:端口开放未收到任何响应未收到任何响应目标端口目标端口FIN扫描扫描(2/3)FIN主机主机 BRST主机主机 A结论:端口关闭结论:端口关闭目标端口目标端口FIN扫描的特点扫描的特点(3/3)n优点优点n不是不是TCP建立连接的过程,比较隐蔽。建立连接的过程,比较隐蔽。n缺点缺点n与与SYN扫描类似,也需要构造专门的数据包。扫描类似,也需要构造专门的数据包。n只适用于只适用于Unix系统的目标主机,系统的目标主机,Windows系系统总是发送统总是发送RST报文段。报文段。(四四)Xmas扫描和扫描和Null扫描扫描nXma
20、s扫描和扫描和Null扫描是扫描是FIN扫描的两个扫描的两个变种。变种。nXmas扫描打开扫描打开FIN、URG、ACK、PSH、RST、SYN标记,既全部置标记,既全部置1。nNull扫描关闭所有标记,既全部置扫描关闭所有标记,既全部置0。n扫描过程同扫描过程同FIN扫描一样。扫描一样。二、二、FTP代理扫描代理扫描FTP proxy扫描扫描(1/4)nFTP代理选项允许客户端控制一个代理选项允许客户端控制一个FTP服务器向另一个服务器传输数据。服务器向另一个服务器传输数据。n利用这一特点可以实现端口扫描的功能。利用这一特点可以实现端口扫描的功能。FTP proxy扫描扫描(2/4)建立建立
21、FTP会话会话使用使用PORT命令命令指定一个端口指定一个端口P黑客黑客FTP服务器服务器目标主机目标主机使用使用LIST命令启动命令启动一个到一个到P的数据传输的数据传输传输成功传输成功结论:目标端口开放结论:目标端口开放无法打开数据连接无法打开数据连接结论:目标端口关闭结论:目标端口关闭FTP proxy扫描的特点扫描的特点(3/4)n优点优点n不但难以跟踪,而且可以穿越防火墙。不但难以跟踪,而且可以穿越防火墙。n缺点缺点n一些一些FTP服务器禁止这种特性。服务器禁止这种特性。示例示例(4/4)D:Program FilesNmapnmap -sS 192.168.1.2Starting
22、Nmap 4.01 ( http:/www.insecure.org/nmap ) at 2006-04-20 20:53 中国标中国标准时间准时间Interesting ports on 192.168.1.2:(The 1666 ports scanned but not shown below are in state: closed)PORT STATE SERVICE21/tcp open ftp135/tcp open msrpc139/tcp open netbios-ssn445/tcp open microsoft-ds1025/tcp open NFS-or-IIS5000
23、/tcp open UPnPMAC Address: 52:54:AB:33:E7:71 (Unknown)Nmap finished: 1 IP address (1 host up) scanned in 5.829 seconds三、三、UDP扫描扫描UDP扫描扫描nUDP没有连接建立过程,该如何判断一个没有连接建立过程,该如何判断一个UDP端口打开了呢?端口打开了呢?n依据:扫描主机向目标主机的依据:扫描主机向目标主机的UDP端口发送端口发送UDP数据包,如果目标端口处于监听状态,将数据包,如果目标端口处于监听状态,将不会做出任何响应;而如果目标端口处于关闭不会做出任何响应;而如果目标
24、端口处于关闭状态,将会返回状态,将会返回ICMP_PORT_UNREACH错错误。误。UDP扫描扫描n从表面上看,目标端口工作状态不同对从表面上看,目标端口工作状态不同对扫描数据包将做出不同响应,区分度很扫描数据包将做出不同响应,区分度很好。但实际应用中必须考虑到好。但实际应用中必须考虑到UDP数据数据包和包和ICMP错误消息在通信中都可能丢失错误消息在通信中都可能丢失,不能保证到达,这将使得判断出现偏,不能保证到达,这将使得判断出现偏差。差。四、扫描策略四、扫描策略扫描策略扫描策略n扫描过程中一般要连续向目标发送大量扫描过程中一般要连续向目标发送大量的探测报文,有什么问题吗?的探测报文,有什
25、么问题吗?n很容易被防火墙、入侵检测系统发现。很容易被防火墙、入侵检测系统发现。n怎么办?怎么办?扫描策略扫描策略n随机端口扫描(随机端口扫描(Random Port Scan)n慢扫描(慢扫描(Slow Scan)n分片扫描(分片扫描(Fragmentation Scanning)n将将TCPTCP连接控制报文分成多个短连接控制报文分成多个短IPIP报文段传送报文段传送n隐蔽性好,可穿越防火墙,躲避安全检测隐蔽性好,可穿越防火墙,躲避安全检测n缺点:缺点:n可能被进行可能被进行排队过滤排队过滤的防火墙丢弃;的防火墙丢弃;n某些程序在处理这些小数据包时会出现异常。某些程序在处理这些小数据包时会
26、出现异常。n诱骗(诱骗(Decoy):伪造源地址,目标主机分不清):伪造源地址,目标主机分不清n分布式协调扫描(分布式协调扫描(Coordinated Scans)四、扫描工具四、扫描工具51端口扫描小结端口扫描小结内容提纲内容提纲主机扫描主机扫描2端口扫描端口扫描3操作系统识别操作系统识别4网络扫描概述网络扫描概述1漏洞扫描漏洞扫描5操作系统识别操作系统识别n根据使用的信息可分为三类:通过获取根据使用的信息可分为三类:通过获取旗标旗标信息,利用信息,利用端口端口信息,通过信息,通过TCP/IP协议栈指纹协议栈指纹一、旗标信息一、旗标信息旗标旗标n旗标(旗标(banner):客户端向服务器端提
27、出):客户端向服务器端提出连接请求时服务器端所返回的欢迎信息连接请求时服务器端所返回的欢迎信息旗标旗标n旗标(旗标(banner):客户端向服务器端提出):客户端向服务器端提出连接请求时服务器端所返回的欢迎信息连接请求时服务器端所返回的欢迎信息二、端口信息二、端口信息端口信息端口信息n端口扫描的结果在操作系统检测阶段也可以加端口扫描的结果在操作系统检测阶段也可以加以利用。不同操作系统通常会有一些默认开放以利用。不同操作系统通常会有一些默认开放的服务,这些服务使用特定的端口进行网络监的服务,这些服务使用特定的端口进行网络监听。例如,听。例如,Windows XP、Windows 2003等系等系
28、统默认开放了统默认开放了TCP 135端口、端口、TCP 139端口以端口以及及TCP 445端口,而端口,而Linux系统通常不会使用系统通常不会使用这些端口。端口工作状态的差异能够为操作系这些端口。端口工作状态的差异能够为操作系统检测提供一定的依据统检测提供一定的依据三、三、TCP/IP协议栈指纹协议栈指纹n根据根据OSOS在在TCP/IPTCP/IP协议栈实现上的不同特点,通过其对各种协议栈实现上的不同特点,通过其对各种探测的响应规律形成识别指纹,进而识别目标主机运行的探测的响应规律形成识别指纹,进而识别目标主机运行的操作系统操作系统TCP/IP协议栈指纹协议栈指纹(一)主动扫描一)主动
29、扫描(1/4)n采用向目标系统发送构造的特殊包并监采用向目标系统发送构造的特殊包并监控其应答的方式来识别操作系统类型。控其应答的方式来识别操作系统类型。n主动扫描具有速度快、可靠性高等优点,主动扫描具有速度快、可靠性高等优点,但同样严重依赖于目标系统网络拓扑结但同样严重依赖于目标系统网络拓扑结构和过滤规则。构和过滤规则。(一)主动扫描一)主动扫描(2/4)nFINFIN探测:发送一个探测:发送一个FINFIN包给一个打开的端口,一般的行为是不响应,包给一个打开的端口,一般的行为是不响应,但某些实现例如但某些实现例如 MS Windows, BSDI, CISCO,HP/UX,MVS,MS Wi
30、ndows, BSDI, CISCO,HP/UX,MVS,和和IRIX IRIX 发回发回一个一个RESETRESET。nBOGUSBOGUS标记探测:设置一个未定义的标记探测:设置一个未定义的TCP TCP 标记标记 (6464或或128128)在)在SYNSYN包包的的TCPTCP头里。头里。LinuxLinux机器到机器到2.0.352.0.35之前在回应中保持这个标记。之前在回应中保持这个标记。nTCP ISN TCP ISN 取样:找出当响应一个连接请求时由取样:找出当响应一个连接请求时由TCP TCP 实现所选择的初始实现所选择的初始化序列数式样。这可分为许多组例如传统的化序列数式
31、样。这可分为许多组例如传统的64K64K(许多老(许多老UNIXUNIX机器),机器),随机增量(新版本的随机增量(新版本的SolarisSolaris,IRIXIRIX,FreeBSDFreeBSD,Digital UNIXDigital UNIX,CrayCray,等),真等),真“随机随机”(Linux 2.0.Linux 2.0.* *,OpenVMS,OpenVMS,新的新的AIX,AIX,等),等),Windows Windows 机器(和一些其他的)用一个机器(和一些其他的)用一个“时间相关时间相关”模型,每过一段时间模型,每过一段时间ISNISN就被加上一个小的固定数。就被加上
32、一个小的固定数。(一)主动扫描一)主动扫描(3/4)n不分段指示位:许多操作系统开始在送出的一些包中设置不分段指示位:许多操作系统开始在送出的一些包中设置IPIP的的Dont Dont FragmentFragment位。位。nTCPTCP初始化窗口值:检查返回包的窗口大小。如初始化窗口值:检查返回包的窗口大小。如quesoqueso和和nmapnmap保持对窗保持对窗口的精确跟踪因为它对于特定口的精确跟踪因为它对于特定OSOS基本是常数。基本是常数。nACKACK值:不同实现中一些情况下值:不同实现中一些情况下ACKACK域的值是不同的。例如,如果你送域的值是不同的。例如,如果你送了一个了一
33、个FIN|PSH|URG FIN|PSH|URG 到一个关闭的到一个关闭的TCP TCP 端口。大多数实现会设置端口。大多数实现会设置ACK ACK 为你的初始序列数,而为你的初始序列数,而Windows Windows 会送给你序列数加会送给你序列数加1 1 。nICMPICMP错误信息终结:一些操作系统限制各种错误信息的发送率。例如,错误信息终结:一些操作系统限制各种错误信息的发送率。例如,Linux Linux 内核限制目的不可达消息的生成每内核限制目的不可达消息的生成每4 4 秒钟最多秒钟最多8080个。测试的一个。测试的一种办法是发一串包到一些随机的高种办法是发一串包到一些随机的高U
34、DPUDP端口并计数收到的不可达消息。端口并计数收到的不可达消息。(一)主动扫描一)主动扫描(4/4)nICMPICMP消息引用:消息引用:ICMPICMP错误消息中可以引用一部分错误消息中可以引用一部分引起错误的源消息。对一个端口不可达消息,几引起错误的源消息。对一个端口不可达消息,几乎所有实现只送回乎所有实现只送回IPIP请求头外加请求头外加8 8个字节。然而,个字节。然而,Solaris Solaris 送回的稍多,而送回的稍多,而Linux Linux 更多。更多。nSYNSYN洪泛限度:如果收到过多的伪造洪泛限度:如果收到过多的伪造SYNSYN数据包,数据包,一些操作系统会停止新的连
35、接尝试。许多操作系一些操作系统会停止新的连接尝试。许多操作系统只能处理统只能处理 8 8 个包。个包。TCP选项选项TCP选项探测选项探测n(1)构造)构造6 个不同的数据包作为探针来获取目标主机的个不同的数据包作为探针来获取目标主机的响应数据包,分别设置了不同的可选项值响应数据包,分别设置了不同的可选项值TCP选项探测选项探测n分别向分别向Windows、Linux、Solaris 和和Mac 等操作系统发送这六个数据等操作系统发送这六个数据包,分析响应数据包,并从中提取这些操作系统对包,分析响应数据包,并从中提取这些操作系统对6 个数据包可选项个数据包可选项的不同响应,所得结果下。的不同响
36、应,所得结果下。TCP选项探测选项探测n分析发现分析发现Windows 对对TCP 可选项的响应顺序可选项的响应顺序为为MSS、WS、TS、S,ST 的值为的值为(0, 0);Linux 对对TCP 可选项的响应顺序为可选项的响应顺序为MSS、S、TS、WS,内核版本为,内核版本为2.4 的的Linux 和内核版本和内核版本为为2.6 的的Linux 的差别在于对的差别在于对WS 的响应值是不的响应值是不同的:前者是同的:前者是0,后者是,后者是2;Sun Solaris 对对TCP 可选项的响应顺序为可选项的响应顺序为TS、MSS、WS、S;Mac 对对TCP 可选项的响应顺序为可选项的响应
37、顺序为MSS、WS、TS、S,ST 的值为的值为(1, 1)。TCP选项探测选项探测n不同操作系统对于含有相同不同操作系统对于含有相同TCP 可选项可选项数据包的响应是不同的,差异主要表现数据包的响应是不同的,差异主要表现在以下三个方面:响应值不同,响应顺在以下三个方面:响应值不同,响应顺序不同,响应值和响应顺序都不同。这序不同,响应值和响应顺序都不同。这些差异可以用作操作系统识别的依据。些差异可以用作操作系统识别的依据。(二)被动扫描二)被动扫描n通过监听工具收集数据包,再对数据包通过监听工具收集数据包,再对数据包的不同特征(的不同特征(TCP Window-sizeTCP Window-s
38、ize、 IP IP TTLTTL、IP TOSIP TOS、DFDF位等参数)进行分析,位等参数)进行分析,来识别操作系统。来识别操作系统。n被动扫描基本不具备攻击特征,具有很被动扫描基本不具备攻击特征,具有很好的隐蔽性,但其实现严格依赖扫描主好的隐蔽性,但其实现严格依赖扫描主机所处的网络拓扑结构;和主动探测相机所处的网络拓扑结构;和主动探测相比较,具有速度慢、可靠性不高等缺点。比较,具有速度慢、可靠性不高等缺点。常见操作系统的常见操作系统的TTL值值操作系统类型操作系统类型TTL返回值返回值Windows 2000128Windows NT107Windows 9X128或或107Sola
39、ris252IRIX240AIX247Linux241或或240四、操作系统识别工具四、操作系统识别工具内容提纲内容提纲主机扫描主机扫描2端口扫描端口扫描3操作系统识别操作系统识别4网络扫描概述网络扫描概述1漏洞扫描漏洞扫描5漏洞扫描漏洞扫描n目的目的n发现服务程序或系统可能存在的漏洞。发现服务程序或系统可能存在的漏洞。n漏洞存在的原因漏洞存在的原因n实现缺陷、配置不当等。实现缺陷、配置不当等。n扫描方法扫描方法n向探测目标发送特定报文,根据响应判断是否向探测目标发送特定报文,根据响应判断是否存在漏洞。存在漏洞。实例:实例:CGI漏洞扫描漏洞扫描n漏洞扫描流程漏洞扫描流程n连接目标连接目标WE
40、B SERVERWEB SERVERn发送一个特殊的请求发送一个特殊的请求n接收目标服务器返回数据接收目标服务器返回数据n根据返回数据判断目标服务器是否有此根据返回数据判断目标服务器是否有此CGICGI漏洞。漏洞。CGI漏洞扫描漏洞扫描n比如识别出比如识别出Web Web 服务器为服务器为IISIIS,则向其发出,则向其发出HttpHttp请求:请求:nGET GET / /iissamplesiissamples/ /exairexair/ /howitworkshowitworks/codebrws.asp,/codebrws.asp,nGET /GET /iissamplesiissam
41、ples/ /sdksdk/asp/docs/codebrws.asp,/asp/docs/codebrws.asp,nGET /GET /iissamplesiissamples/ /exairexair/ /howitworkshowitworks/code.asp, /code.asp, nGET /GET /msadcmsadc/samples/selector/showcode.asp,/samples/selector/showcode.asp,nGET /scripts/tools/newdsn.exeGET /scripts/tools/newdsn.exe”如果返回如果返回“
42、200 OK200 OK”的的HttpHttp应答,则表明存在应答,则表明存在”http http IIS samplesIIS samples“漏洞,需要提示用户进行修改。漏洞,需要提示用户进行修改。CGI漏洞扫描漏洞扫描n如果向如果向IISIIS服务器发服务器发HttpHttp请求,请求,n “GET /NULL.printerGET /NULL.printer“其返回信息为其返回信息为n500 13rnServer: Microsoft-IIS/5.0500 13rnServer: Microsoft-IIS/5.0则目标系统存在则目标系统存在”IIS5 NULL.printerIIS5
43、 NULL.printer”漏洞漏洞。常见扫描软件常见扫描软件n免费免费nNmapn支持多种扫描模式以及指纹识别技术支持多种扫描模式以及指纹识别技术nNessus n安全评估软件安全评估软件nX-Scann漏洞扫描功能强漏洞扫描功能强n流光流光n支持自定义字典进行暴力破解支持自定义字典进行暴力破解n集成工具:集成工具:Metasploit,BackTrack NessusnNessus是一种用来自动检测和发现已知是一种用来自动检测和发现已知安全问题的强大工具。安全问题的强大工具。NessusNessusNessus小结小结n主机扫描主机扫描n目的:判断目标主机是否正在运行目的:判断目标主机是否
44、正在运行n手段:利用手段:利用ICMP报文、报文、IP数据报数据报n端口扫描端口扫描n目的:判断目标端口是否开放目的:判断目标端口是否开放n手段:利用手段:利用TCP连接、连接、FTP proxyn操作系统识别操作系统识别n目的:判断目标操作系统的类型目的:判断目标操作系统的类型n手段:主动扫描、被动扫描手段:主动扫描、被动扫描n漏洞扫描漏洞扫描n目的:判断目标系统是否存在特定漏洞目的:判断目标系统是否存在特定漏洞n手段:利用特殊报文手段:利用特殊报文作业作业n4-1 简要说明简要说明ICMP协议的哪些报文常被用来进协议的哪些报文常被用来进行网络扫描?行网络扫描?n4-2 简述有几种常见的端口扫描策略。简述有几种常见的端口扫描策略。n4-3 TCP/IP协议中哪些特征可以用来识别操作协议中哪些特征可以用来识别操作系统?系统?n4-4 列出几种利用列出几种利用TCP的三次握手过程进行网的三次握手过程进行网络扫描的技术。络扫描的技术。