您好,欢迎访问三七文档
网络侦察技术分析(一)[本文原创,禁止任何形式的转载]一名严谨的黑客在入侵之前会先进行网络侦察及分析,以判断可行性及应采取的入侵方法。我们今天就讲一下一名黑客是如何进行网络侦察的。首先,我们介绍一下安全管理的规范。一名好的网络安全人员,应该从两个不同的角度来分析网络进行安全评估:1、从黑客角度进行思考,寻找现有的网络漏洞,对网络资源加以保护;2、从安全管理者的角度进行思考,寻找最佳途径既可保障安全又不影响商业运作效率。从安全管理者角度考虑,安全管理者知道网络是如何配置的,更多从防火墙内部发起探测,关注内部网络的服务器和主机是否有异常情况,但黑客是不知道目标网络的配置情况,他们是从防火墙外部进行攻击/渗透的,所以一名合格的安全管理者还要从防火墙外部进行渗透看是否能穿透防火墙而控制网络主机。如图:从安全顾问角度考虑,首先要从不知情者的角度加以定位,然后以内部知情人的角度来评估网络安全如图:下面我们看一下不同基点的安全管理结构:首先我们介绍一下基于网络的安全管理结构。如图:由图可知,基于网络的管理产品将软件安装在一台服务器上,由它来向网络提出查询,提出查询的要求,其中主机往往是管理者,扫描网络上所有可疑的活动。在这种结构下每台计算机被动的响应查询,优点是主机并不知道被监视,缺点是监视端口会对交换机的性能产生影响我们再介绍一下基于主机级的安全管理结构。如图:由图可知,这是一种分层管理体系,一层是图形界面,二层是管理者,通过代理发出查询请求,从代理收集信息进行显示,三层是安装在每台主机上的代理。可安装SNMP辅助管理。安全审计的三个阶段:对于安全管理的几个概念我们介绍完了,我们看一下网络攻击的动机。随着木马/病毒及黑客技术的商业化,网络攻击行为越来越多的是为了名利目的。现在所存在的主要动机为:偷取国家机密、商业竞争行为、内部员工对单位的不满、对企业核心机密的企望、网络接入帐号/信用卡号等金钱利益的诱惑、利用攻击网络站点而出名、对网络安全技术的挑战、对网络的好奇心。攻击的一般步骤分为三步:预攻击、攻击和后攻击。如图:预攻击阶段的行为及目的:端口扫描、漏洞扫描、操作系统类型鉴别、网络拓扑分析攻击阶段的主要攻击行为:缓冲区溢出攻击、操作系统漏洞、应用服务缺陷、脚本程序漏洞攻击、口令攻击、错误及弱配置攻击、网络欺骗与劫持攻击后攻击阶段:安装后门木马、痕迹擦除另外还有一些其它攻击种类如:拒绝服务攻击、嗅探攻击、恶意网页攻击、社会工程攻击等。下面,我们就进入正题,看一下黑客是如何进行有效的信息收集的——信息收集技术也就是网络侦察技术。1、Whois。Whois是一种internet的目录服务,它提供了在internet上的一台主机或某个域所有者的信息,比如管理员姓名、通信地址、电话号码、Email信息、Primary和Secondary域名服务器信息。常用的Whois命令是[root@redhat-6/root]#whoisuniwis.net。现在一些网站也提供了Whois功能,效果是一样的,以本站为例,查询结果如下:DomainName:CNFAN.NETRegistrar:XINNETTECHNOLOGYCORPORATIONWhoisServer:whois.paycenter.com.cnReferralURL::NS.XINNETDNS.COMStatus:clientDeleteProhibitedStatus:clientTransferProhibitedStatus:clientUpdateProhibitedUpdatedDate:25-sep-2007CreationDate:29-jul-2003ExpirationDate:29-jul-2008Lastupdateofwhoisdatabase:Sun,06Jan200817:13:44UTC2、nslookup(我最喜欢的信息收集方法)。它是Windows操作系统自带的DNS排错工具,使用此DNS服务器做域名解析到所有主机名和IP地址的映射情况,可测试正向区域及反向区域。(区域传送指的是在多个DNS服务器之间复制区域数据库文件的过程。)因为nslookup命令不是死命令,而是一种固定模式+测试者习惯的命令,我们在此不做介绍。相关基础命令可在网上查询。3、Host命令。它是一种UNIX提供的有关Internet域名查询的命令,可以实现区域传送、、获得名称解析信息、得知域中邮件服务器的信息等功能。常用的三个参数:参数–v显示更多信息参数–l实现区域传送参数–t查询特定的DNS记录例:[root@redhat-6/root]#host-l-vtest.comrcode=0(Success),ancount=2Found1addressesforCQ.testCOMFound1addressesforNS1.test.comTrying61.128.193.25test.Com3600INNSCQ.test.Comtest.Com3600INNSNS1.test.Comtest.Com3600INA210.77.xxx.xxxsmtp.test.Com3600INA210.77.xxx.xxx、Traceroute命令。可用于路由跟踪,判断从你的主机到目标主机经过哪些路由器、跳计数、响应时间等等。根据反馈数据可以推测出网络物理布局、判断出响应较慢的节点和数据包在路由过程中的跳数。Traceroute或者使用极少被其它程序使用的高端UDP端口,或者使用PING数据包。我们以图示Traceroute路由跟踪原理:网络侦察技术分析网络侦察技术分析(二)[本文原创,禁止任何形式的转载]扫描与侦察:按照获得结果分类,分为存活性扫描、端口扫描及系统堆栈扫描。按照攻击者角色分类,分为主动扫描和被动扫描。安全扫描的检测技术分类:基于应用的检测技术,它采用被动的,非破坏性的办法检查应用软件包的设置,发现安全漏洞。基于主机的检测技术,它采用被动的,非破坏性的办法对系统进行检测。基于目标的漏洞检测技术,它采用被动的,非破坏性的办法检查系统属性和文件属性,如数据库,注册号等。基于网络的检测技术,它采用积极的,非破坏性的办法来检验系统是否有可能被攻击崩溃安全扫描系统具有的功能:协调了其它的安全设备、使枯燥的系统安全信息易于理解,告诉了你系统发生的事情、跟踪用户进入,在系统中的行为和离开的信息、可以报告和识别文件的改动、纠正系统的错误设置、识别正在受到的攻击、减轻系统管理员搜索最近黑客行为的负担、使得安全管理可由普通用户来负责、为制定安全规则提供依据。通常的检测项目:已知的服务漏洞、缺省安装、不安全的网络管理、弱口令、不正确的服务器配置、网络拓扑的缺陷、信息泄漏、信息缺陷、未授权的设备和服务、可管理的设备、加密机制、额外的用户权限、已知的软件版本漏洞、防火墙自身的安全性和、稳定性。下面,我们根据扫描分类介绍以下各种扫描技术。1、存活性扫描。己方发送扫描数据包,等待对方的回应数据包,其最终结果并不一定准确,依赖于网络边界设备的过滤策略。最常用的探测包是ICMP数据包。例如发送方发送ICMPEchoRequest,期待对方返回ICMPEchoReply。2、端口扫描。这是最流行的扫描方法,众多的初学安全的朋友常用此方法抓肉鸡。我们着重讲解。先看一下扫描图。一个端口就是一个潜在的通信通道,即入侵通道。黑客就是对目标计算机进行端口扫描,得到有用的信息。扫描的方法分为手工扫描和软件扫描两种。如果是用软件扫描,那没什么可讲的了,软件可以帮你自动挂马并告诉你什么样的漏洞等等。如果是手工扫描呢?返回的是数据包,因此,我们必须要会一些常识性的数据包分析了。以下给出几种类型的数据包头结构图:IP协议包头:ICMP协议包头:TCP协议包头:UDP协议包头:TCP三次握手机制图:TCP连接的终止:一个TCP头包含6个标志位。SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接;FIN:表示发送端已经没有数据要求传输了,希望释放连接;RST:用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包;URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效;ACK:为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效;PSH:如果置位,接收端应尽快把数据传送给应用层。给大家介绍一款能穿透网络边缘安全设备的扫描程序:NMAP。Nmap被称为“扫描器之王”,有forUnix和forWin的两种版本,需要Libpcap库和Winpcap库的支持,能够进行普通扫描、各种高级扫描和操作系统类型鉴别等。它对网络的侦查十分有效,具有非常灵活的TCP/IP堆栈指纹引擎并可以穿透网络边缘的安全设备。(NMAP穿透防火墙的一种方法是利用碎片扫描技术(fragmentscans),你可以发送隐秘的FIN包(-sF),Xmastree包(-sX)或NULL包(-sN)。这些选项允许你将TCP查询分割成片断从而绕过防火墙规则。这种策略对很多流行的防火墙产品都很有效)。使用命令:使用-sS:半开式扫描-sT:普通connect()扫描-sP存活扫描-sU:udp端口扫描-O:操作系统鉴别-P0:强行扫描(无论是否能够ping通目标)-p:指定端口范围-v:详细模式举例namp–sT192.168.50.11–p80namp–sX192.168.50.11–p80,23namp–sP192.168.50.1/24讲到这里,我们不得不讲一下TCP/IP所遵循的选择,也是端口扫描的原则:3、堆栈指纹扫描。它是利用TCP/IP来识别不同的操作系统和服务向系统发送各种特殊的包,根据系统对包回应的差别,推断出操作系统的种类。堆栈指纹程序利用的部分特征:ICMP错误信息抑制、服务类型值(TOS)、TCP/IP选项、对SYNFLOOD的抵抗力、TCP初始窗口。堆栈指纹的应用:利用FIN探测、利用TCPISN采样、使用TCP的初始化窗口、ICMP消息抑制机制、ICMP错误引用机制、ToS字段的设置、DF位的设置、ICMP错误信息回显完整性、TCP选项、ACK值。详细讲解:利用FIN探测:利用BOGUS标记探测:利用TCPISN采样:这是利用寻找初始化序列长度模板与特定的操作系统相匹配的方法。利用它可以对许多系统分类,如较早的UNIX系统是64K长度。一些新的UNIX系统则是随机增长的长度(Solaris,IRIX,FreeBSD,DigitalUnix,Cray等)或者可以使用DontFragment位:许多操作系统在发送的包里使用这个位,由此可以确定操作系统的类型。使用TCP的初始化窗口:简单地检查返回包里包含的窗口长度。根据各个操作系统的不同的初始化窗口大小来唯一确定操作系统类型(TCP使用滑动窗口为两台主机间传送缓冲数据。每台TCP/IP主机支持两个滑动窗口,一个用于接收数据,另一个用于发送数据。窗口尺寸表示计算机可以缓冲的数据量大小。)ToS字段的设置:IP首部的ToS字段用来指示可靠性、预延迟、通过量参数现在大多数的TCP/IP实现都不支持TOS特性,但是自4.3BSDReno以后的新版系统都对它进行了设置。另外,新的路由协议如OSPF和IS-IS都能根据这些字段的值进行路由决策。对于ICMP的“端口不可到达”信息,经过对返回包的服务类型(TOS)值的检查,几乎所有的操作系统使用的是ICMP
本文标题:网络侦察技术分析
链接地址:https://www.777doc.com/doc-6242667 .html