您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 4-信息收集与漏洞扫描-2
2020/2/211扫描攻击目标主机运行的操作系统是否有的安全保护措施运行那些服务服务器软件的版本存在那些漏洞目标网络的网络拓扑结构2020/2/212扫描类型网络(地址)扫描端口扫描漏洞扫描调制解调器(modem)扫描操作系统的协议栈指纹识别(OSFingerPrinting)旗标(banner)信息获取2020/2/213网络扫描目的黑客首先希望了解你的网络中的详细情况,比如网络拓扑结构,活动主机IP地址,主要服务器,路由器和防火墙。黑客使用扫描工具一般先扫描你的网关、DMZ系统,各种服务器等Internet周边环境,在控制了你的网络周边环境后,再继续攻击你的内部网络。种类发现活跃主机跟踪路由2020/2/214发现活跃主机Ping:发送一个ICMP回显请求(echorequest)数据包,如果目标主机响应一个ICMP回显应答响应(echoreplay)数据包,则表示这是一个活跃主机。TCP扫描:许多网络防火墙都阻塞ICMP消息,因此,发送一个TCPack包到80端口,如果获得了RST返回,机器是活跃的。2020/2/215TTL&Hop基本概念跳(Hop):IP数据包经过一个路由器就叫做一个跳。TTL在路由器中如何工作?当路由器收到一个IP数据包时,它首先将这个IP数据包的TTL字段减1,如果TTL为0则路由器抛弃这个数据包,并向源IP地址发送一个连接超时的ICMP数据包。如果不为0则根据路由表将这个数据包发送到下一个路由器或目的网络。2020/2/216跟踪路由(tracerouting)黑客可以利用TTL值来确定网络中数据包的路由路径,通过发送一系列TTL值递增的数据包来发现到达目的主机的路由路径。Unix下的跟踪路由工具是Traceroute,发送有递增的TTL值的UDP数据包,同时寻找返回的ICMP超时消息。windows下的跟踪路由工具是tracert。黑客使用跟踪路由(tracerouting)技术来确定目标网络的路由器和网关的拓扑结构。2020/2/217如何防御网络扫描利用防火墙和路由器的数据包过滤功能来阻塞这些消息,还应该阻塞所有流入的ICMP消息,另外,也可以过滤从你的网络流出的ICMP超时信息,从而完全拒绝traceroute的访问。2020/2/218端口扫描技术Portlist2020/2/219端口扫描结果$portscan128.3X.XX.XXXPort21(ftpservice)connection...open.Port23(telnetservice)connection...open.Port25(smtpservice)connection...open.Port53(domainservice)connection...open.Port79(fingerservice)connection...open.Port111(sunrpcservice)connection...open.Port513(loginservice)connection...open.Port514(shellservice)connection...open.Port515(printerservice)connection...open.Port664connection...open....端口扫描的分类2020/2/2111TCPconnect扫描最基本的扫描方式,实际上是利用linux提供的系统调用函数connect与目标主机建立TCP连接,完成三次握手。这种扫描方式会被防火墙记录到访问日志中。因此,会留下扫描痕迹。但是,这种扫描不需要有特殊权限。TCPconnect端口扫描服务端与客户端建立连接成功(目标端口开放)的过程:①Client端发送SYN;②Server端返回SYN/ACK,表明端口开放;③Client端返回ACK,表明连接已建立;④Client端主动断开连接。建立连接成功(目标端口开放)如图所示。TCPconnect端口扫描服务端与客户端未建立连接成功(目标端口关闭)过程:①Client端发送SYN;②Server端返回RST/ACK,表明端口未开放。未建立连接成功(目标端口关闭)如图所示。这种扫描方法的优点是实现简单,对操作者的权限没有严格要求(有些类型的端口扫描需要操作者具有root权限),系统中的任何用户都有权力使用这个调用,而且如果想要得到从目标端口返回banners信息,也只能采用这一方法。另一优点是扫描速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,可以通过同时打开多个套接字,从而加速扫描。这种扫描方法的缺点是会在目标主机的日志记录中留下痕迹,易被发现,并且数据包会被过滤掉。目标主机的logs文件会显示一连串的连接和连接出错的服务信息,并且能很快地使它关闭。2020/2/2116半开放(halfopen/SYN)扫描扫描器向目标主机的一个端口发送请求连接的SYN包,扫描器在收到SYN/ACK后,不是发送的ACK应答而是发送RST包请求断开连接。这样,三次握手就没有完成,无法建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志中。这种扫描技术一般不会在目标主机上留下扫描痕迹。但是,这种扫描需要有root权限。TCPSYN扫描建立连接成功TCPSYN扫描建立连接未成功秘密扫描是一种不被审计工具所检测的扫描技术。它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己。秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含TCP3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽。但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包。现有的秘密扫描有TCPFIN扫描、TCPACK扫描、NULL扫描、XMAS扫描和SYN/ACK扫描等。秘密扫描2020/2/2120FIN扫描SYN扫描现在已经不是一种秘密了,许多防火墙和路由器都有相应的措施,它们会对一些指定的端口进行监视,对这些端口的连接请求全部进行记录。但是许多过滤设备允许FIN数据包通过。因此FIN是中断连接的数据报文,所以许多日志系统不记录这样的数据报文。FIN扫描的原理就是向目标主机的某个端口发送一个FIN数据包。如果收到RST应答表示这个端口没有开放,反之则端口开放。但是有些操作系统不管端口是否开放,都应答RST。TCPFIN扫描建立连接成功TCPFIN扫描建立连接未成功这种方法与系统的TCP/IP实现有一定的关系,并不是可以应用在所有的系统上,有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。但这种方法可以用来区别操作系统是UNIX还是Windows。TCPACK扫描扫描主机向目标主机发送ACK数据包。根据返回的RST数据包有两种方法可以得到端口的信息。方法一是:若返回的RST数据包的TTL值小于或等于64,则端口开放,反之端口关闭,如图所示。方法二是:若返回的RST数据包的WINDOW值非零,则端口开放,反之端口关闭,如图3-16所示。扫描主机将TCP数据包中的ACK(确认)、FIN(结束连接)、RST(重新设定连接)、SYN(连接同步化要求)、URG(紧急)、PSH(接收端将数据转由应用处理)标志位置空后(保留的RES1和RES2对扫描的结果没有任何影响)发送给目标主机。若目标端口开放,目标主机将不返回任何信息,若目标主机返回RST信息,则表示端口关闭。NULL扫描NULL扫描建立连接成功NULL扫描建立连接未成功XMAS扫描原理和NULL扫描的类似,将TCP数据包中的ACK、FIN、RST、SYN、URG、PSH标志位置1后发送给目标主机。在目标端口开放的情况下,目标主机将不返回任何信息。XMAS扫描若目标端口关闭,则目标主机将返回RST信息。这里要说明的是,MSWindows、Cisco、BSDI、HP/UX、MVS以及IRIX等操作系统如果通过TCPFIN、XMAS以及NULL扫描等方式进行扫描的话,对于打开的端口也会发送RST数据包,即使所有端口都关闭,也可以进行应答。根据制作Nmap的Fyodor的方案,使用FIN、XMAS或者NULL方式进行扫描的话,如果所有端口都关闭,那么就可以进行TCPSYN扫描。如果出现打开的端口,操作系统就会知道是属于MSWindows、Cisco、BSDI、HP/UX、MVS以及IRIX中的哪类了。这种扫描故意忽略TCP的3次握手。原来正常的TCP连接可以简化为SYN-SYN/ACK-ACK形式的3次握手来进行。这里,扫描主机不向目标主机发送SYN数据包,而先发送SYN/ACK数据包。目标主机将报错,并判断为一次错误的连接。若目标端口开放,目标主机将返回RST信息。SYN/ACK扫描若目标端口关闭,目标主机将不返回任何信息,数据包会被丢掉2020/2/2132IP碎片扫描以细小的IP碎片包实现SYN,FIN,XMAS或NULL扫描攻击。即将TCP包头分别放在几个不同的数据包中,从而躲过包过滤防火墙的检测。扫描主机并不是直接发送TCP探测数据包,而是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到,扫描就可以在不被发现的情况下进行。但是需要注意的是,一些程序在处理这些小数据包时会有些麻烦,并且不同的操作系统在处理这个数据包的时候,通常会出现问题。2020/2/2133UDP扫描这种扫描攻击用来确定目标主机上哪个UDP端口开放。通常是通过发送零字节的UDP数据包到目标机器的各个UDP端口,如果我们收到一个ICMP端口无法到达的回应,那么该端口是关闭的,否则我们可以认为它是敞开大门的。UDP扫描的意义:确定目标主机是否存在那些基于UDP协议的服务如snmp,tftp,NFS,DNS。ICMP数据包的发送速度有限制。而UDP扫描速度更快。2020/2/2134被扫描主机的响应TCP扫描的响应:目标主机响应SYN/ACK,则表示这个端口开放。目标主机发送RST,则表示这个端口没有开放。目标主机没有响应,则可能是有防火墙或主机未运行。UDP扫描的响应:目标主机响应端口不可达的ICMP报文则表示这个端口关闭。目标主机没有响应,并且目标主机响应了ping,则这个端口被打开,如果防火墙阻塞了ICMP消息,则这个端口可能是关闭的。随着防火墙的广泛应用,普通的扫描很难穿过防火墙去扫描受防火墙保护的网络。即使扫描能穿过防火墙,扫描的行为仍然有可能会被防火墙记录下来。如果扫描是对非连续性端口、源地址不一致、时间间隔很长且没有规律的扫描的话,这些扫描的记录就会淹没在其他众多杂乱的日志内容中。使用慢速扫描的目的也就是这样,骗过防火墙和入侵检测系统而收集信息。虽然扫描所用的时间较长,但这是一种比较难以被发现的扫描。慢速扫描乱序扫描也是一种常见的扫描技术,扫描器扫描的时候不是进行有序的扫描,扫描端口号的顺序是随机产生的,每次进行扫描的顺序都完全不一样,这种方式能有效地欺骗某些入侵检测系统而不会被发觉。乱序扫描2020/2/2137RPC扫描用SunRPC程序的NULL命令来确定是否有RPC端口开放,如果有,运行什么程序,何种版本。这种扫描相当于执行‘rpcinfo-p’命令。2020/2/2138源端口扫描•不使用操作系统分配的大于1024的任意端口,而是扫描器指定一个的源端口,对目标主机进行扫描,这样可以逃避路由器或防火墙的访问控制过滤规则。2020/2/2139扫描器(scanner)•扫描器是一种自动检测远程或本地主机安全性弱点的软件。主要有端口扫描器和漏洞扫描器两种。扫描器通常集成了多种功能。端口扫描器的作用是进行端口探测,检查远程主机上开启的端口。漏洞扫描器则是把各种安全漏洞集成在一起,自动利用这些安全漏洞对远程主机尝试攻击,从而确定目标主机是否存在这些安全漏洞。因此,扫描器是一把双刃剑,系统管理
本文标题:4-信息收集与漏洞扫描-2
链接地址:https://www.777doc.com/doc-3870407 .html