1、2023-2-11Page 1 黑客及攻击黑客及攻击8.1 IP IP欺骗欺骗8.2 拒绝服务攻击拒绝服务攻击8.3侦察与工具侦察与工具8.4 攻击与渗透攻击与渗透8.5 入侵监测系统入侵监测系统IDSIDS8.6审审 计计 结结 果果8.72023-2-11Page 28.1 黑客及攻击1黑客概述黑客概述 在各种媒体上有许多关于在各种媒体上有许多关于Hacker这个名词的这个名词的定义,一般是指计算机技术的行家或热衷于解决定义,一般是指计算机技术的行家或热衷于解决问题、克服限制的人。这可以追溯到几十年前第问题、克服限制的人。这可以追溯到几十年前第一台微型计算机刚刚诞生的时代。那时有一个由一台
2、微型计算机刚刚诞生的时代。那时有一个由程序设计专家和网络名人所组成的具有分享特质程序设计专家和网络名人所组成的具有分享特质的文化族群。这一文化族群的成员创造了的文化族群。这一文化族群的成员创造了Hacker这个名词。他们建立了这个名词。他们建立了Internet,创造出现在使,创造出现在使用的用的UNIX操作系统,并且让操作系统,并且让World Wide Web传传播开来,这就是最早的播开来,这就是最早的Hacker。2023-2-11Page 3 也存在另外一个团体,其成员也称自也存在另外一个团体,其成员也称自己为己为Hacker。这些人专门闯入计算机或入。这些人专门闯入计算机或入侵电话系
3、统,真正的侵电话系统,真正的Hacker称他们为入侵称他们为入侵者(者(Cracker),并且不愿意和他们在一起),并且不愿意和他们在一起做任何事。做任何事。Hacker们认为这些人懒惰,不们认为这些人懒惰,不负责任,并且不够光明正大。他们认为,负责任,并且不够光明正大。他们认为,能破解安全系统并不能使你成为一位能破解安全系统并不能使你成为一位Hacker。基本上,。基本上,Hacker和和Cracker之间之间最主要的不同是,最主要的不同是,Hacker创造新东西,创造新东西,Cracker破坏东西。破坏东西。现在,人们所说的黑客是指现在,人们所说的黑客是指Cracker。2023-2-11
4、Page 42黑客常用的攻击方法黑客常用的攻击方法(1)获取口令)获取口令通过网络监听,非法得到用户口令通过网络监听,非法得到用户口令知道用户的账号后利用一些专门软件强知道用户的账号后利用一些专门软件强行破解用户口令行破解用户口令获得一个服务器上的用户口令文件后,获得一个服务器上的用户口令文件后,用暴力破解程序破解用户口令用暴力破解程序破解用户口令(2)放置特洛伊木马程序)放置特洛伊木马程序2023-2-11Page 5(3)WWW的欺骗技术的欺骗技术访问的网页被黑客篡改过,当用户浏览目标网页访问的网页被黑客篡改过,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么的时候,实际上是向
5、黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。黑客就可以达到欺骗的目的了。(4)电子邮件攻击)电子邮件攻击 电子邮件轰炸和电子邮件电子邮件轰炸和电子邮件“滚雪球滚雪球”电子邮件欺骗电子邮件欺骗(5)通过一个节点来攻击其他节点)通过一个节点来攻击其他节点黑客在突破一台主机后,以此主机作为根据地,黑客在突破一台主机后,以此主机作为根据地,攻击其他主机,从而隐藏其入侵路径攻击其他主机,从而隐藏其入侵路径2023-2-11Page 6(6)网络监听)网络监听在网络监听这种模式下,主机可以接收到本网段在网络监听这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这在同一条物理通
6、道上传输的所有信息,而不管这些信息的发送发和接收方是谁。些信息的发送发和接收方是谁。(7)寻找系统漏洞)寻找系统漏洞(8)利用账号进行攻击)利用账号进行攻击利用操作系统提供的缺省账户和密码进行攻击利用操作系统提供的缺省账户和密码进行攻击(9)偷取特权)偷取特权黑客通过非法手段获得对用户机器的完全控制权,黑客通过非法手段获得对用户机器的完全控制权,甚至是整个网络的绝对控制权。甚至是整个网络的绝对控制权。2023-2-11Page 7 IP电子欺骗攻击是指利用电子欺骗攻击是指利用TCP/IP本身的本身的缺陷进行的入侵,即用一台主机设备冒充另缺陷进行的入侵,即用一台主机设备冒充另外一台主机的外一台主
7、机的IP地址,与其它设备通信,从地址,与其它设备通信,从而达到某种目的的过程。它不是进攻的结果而达到某种目的的过程。它不是进攻的结果而是进攻的手段。而是进攻的手段。2023-2-11Page 88.2.1 IP欺骗原理欺骗原理所谓所谓IP欺骗,就是伪造某台主机的欺骗,就是伪造某台主机的IP地址地址的技术。其实质就是让一台机器来扮演另的技术。其实质就是让一台机器来扮演另一台机器,以达到蒙混过关的目的。被伪一台机器,以达到蒙混过关的目的。被伪造的主机往往具有某种特权或者被另外的造的主机往往具有某种特权或者被另外的主机所信任。主机所信任。2023-2-11Page 9在在IP欺骗的状态下,三次握手的
8、情况如下:欺骗的状态下,三次握手的情况如下:第一步:黑客假冒第一步:黑客假冒A主机主机IP向服务方向服务方B主机发送主机发送SYN,告诉,告诉B主机是他所信任的主机是他所信任的A主机想发起一次主机想发起一次TCP连接,序列号为数值连接,序列号为数值X,这一步实现比较简单,黑客将这一步实现比较简单,黑客将IP包的源地址包的源地址伪造为伪造为A主机主机IP地址即可。地址即可。第二步:服务方第二步:服务方B产生产生SYN ACK响应,响应,并向请求方并向请求方A主机(注意主机(注意:是是A,不是黑客,不是黑客,因为因为B收到的收到的IP包的源地址是包的源地址是A)发送)发送ACK,2023-2-11
9、Page 10ACK的值为的值为X+1,表示数据成功接收到,且,表示数据成功接收到,且告知下一次希望接收到字节的告知下一次希望接收到字节的SEQ是是X+1。同。同时,时,B向请求方向请求方A发送自己的发送自己的SEQ,注意,这,注意,这个数值对黑客是不可见的。个数值对黑客是不可见的。第三步:黑客再次向服务方发送第三步:黑客再次向服务方发送ACK,表示接收到服务方的回应表示接收到服务方的回应虽然实际上他虽然实际上他并没有收到服务方并没有收到服务方B的的SYN ACK响应。这次响应。这次它的它的SEQ值为值为X+1,同时它必须猜出,同时它必须猜出ACK的的值,并加值,并加1后回馈给后回馈给B主机。
10、主机。2023-2-11Page 11IP欺骗技术有如下三个特征:欺骗技术有如下三个特征:(1)只有少数平台能够被这种技术)只有少数平台能够被这种技术攻击,也就是说很多平台都不具有这方面攻击,也就是说很多平台都不具有这方面缺陷。缺陷。(2)这种技术出现的可能性比较小,)这种技术出现的可能性比较小,因为这种技术不好理解,也不好操作,只因为这种技术不好理解,也不好操作,只有一些真正的网络高手才能做到这点。有一些真正的网络高手才能做到这点。(3)很容易防备这种攻击方法,如)很容易防备这种攻击方法,如使用防火墙等。使用防火墙等。2023-2-11Page 12IP欺骗的对象欺骗的对象 IP欺骗只能攻击
11、那些完全实现了欺骗只能攻击那些完全实现了TCP/IP协议,包括所有的端口和服务。协议,包括所有的端口和服务。IP欺骗的实施欺骗的实施 几乎所有的欺骗都是基于某些机器之间几乎所有的欺骗都是基于某些机器之间的相互信任的。的相互信任的。黑客可以通过很多命令或端口扫描技术、黑客可以通过很多命令或端口扫描技术、监听技术确定机器之间的信任关系,例如一监听技术确定机器之间的信任关系,例如一台提供服务的机器很容易被端口扫描出来,台提供服务的机器很容易被端口扫描出来,使用端口扫描技术同样可以非常方便地确定使用端口扫描技术同样可以非常方便地确定一个局部网络内机器之间的相互关系。一个局部网络内机器之间的相互关系。2
12、023-2-11Page 13假定一个局域网内部存在某些信任关系。例假定一个局域网内部存在某些信任关系。例如,主机如,主机A信任主机信任主机B、主机、主机B信任主机信任主机C,则为了侵入该网络,黑客可以采用下面两种则为了侵入该网络,黑客可以采用下面两种方式。方式。(1)通过假冒机器)通过假冒机器B来欺骗机器来欺骗机器A和和C。(2)通过假冒机器)通过假冒机器A或或C来欺骗机器来欺骗机器B。为了假冒机器为了假冒机器C去欺骗机器去欺骗机器B,首要的,首要的任务是攻击原来的任务是攻击原来的C,使得,使得C发生瘫痪。这是发生瘫痪。这是一种拒绝服务的攻击方式。一种拒绝服务的攻击方式。2023-2-11P
13、age 148.2.2 IP欺骗的防止欺骗的防止1抛弃基于地址的信任策略抛弃基于地址的信任策略2进行包过滤进行包过滤3使用加密方法使用加密方法4使用随机化的初始序列号使用随机化的初始序列号2023-2-11Page 15 对于来自网络外部的欺骗来说,阻止这对于来自网络外部的欺骗来说,阻止这种攻击的方法是很简单的,在局部网络的对种攻击的方法是很简单的,在局部网络的对外路由器上加一个限制条件,只要在路由器外路由器上加一个限制条件,只要在路由器里面设置不允许声称来自于内部网络的外来里面设置不允许声称来自于内部网络的外来包通过就行了。如果网络存在外部的可信任包通过就行了。如果网络存在外部的可信任主机,
14、那么路由器就无法防止别人冒充这些主机,那么路由器就无法防止别人冒充这些主机而进行的主机而进行的IP欺骗。欺骗。当实施欺骗的主机在同一网络内时,攻当实施欺骗的主机在同一网络内时,攻击往往容易得手,并且不容易防范。击往往容易得手,并且不容易防范。2023-2-11Page 16 应该注意与外部网络相连的路由器,看它是应该注意与外部网络相连的路由器,看它是否支持内部接口。如果路由器有支持内部网络子否支持内部接口。如果路由器有支持内部网络子网的两个接口,则须警惕,因为很容易受到网的两个接口,则须警惕,因为很容易受到IP欺欺骗。这也是为什么说将骗。这也是为什么说将Web服务器放在防火墙外服务器放在防火墙
15、外面有时会更安全的原因。面有时会更安全的原因。检测和保护站点免受检测和保护站点免受IP欺骗的最好办法就是欺骗的最好办法就是安装一个过滤路由器,来限制对外部接口的访问,安装一个过滤路由器,来限制对外部接口的访问,禁止带有内部网资源地址包通过。当然也应禁止禁止带有内部网资源地址包通过。当然也应禁止(过滤)带有不同内部资源地址的内部包通过路(过滤)带有不同内部资源地址的内部包通过路由器到别的网上去,这就防止内部的用户对别的由器到别的网上去,这就防止内部的用户对别的站点进行站点进行IP欺骗。欺骗。2023-2-11Page 178.3.1 概述概述DoS-Denial of ServiceDoS-De
16、nial of Service:现在一般指导:现在一般指导致服务器不能正常提供服务的攻击。致服务器不能正常提供服务的攻击。图8-1 拒绝服务攻击示意图2023-2-11Page 18 拒绝服务是一种简单的破坏性攻击,拒绝服务是一种简单的破坏性攻击,通常攻击者利用通常攻击者利用TCP/IP中的某个漏洞,或中的某个漏洞,或者系统存在的某些漏洞,对目标系统发起者系统存在的某些漏洞,对目标系统发起大规模的攻击,使得攻击目标失去工作能大规模的攻击,使得攻击目标失去工作能力,使得系统不可访问,合法用户不能及力,使得系统不可访问,合法用户不能及时得到应得的服务或系统资源,它最本质时得到应得的服务或系统资源,
17、它最本质的特征是延长正常的应用服务的等待时间。的特征是延长正常的应用服务的等待时间。2023-2-11Page 19DoS攻击的事件攻击的事件 :20002000年年2 2月份的月份的YahooYahoo、亚马逊、亚马逊、CNNCNN被被DoSDoS攻击。攻击。20022002年年1010月全世界月全世界1313台台DNSDNS服务器同时服务器同时受到了受到了DDoSDDoS(分布式拒绝服务)攻击。(分布式拒绝服务)攻击。20032003年年1 1月月2525日的日的“20032003蠕虫王蠕虫王”病毒。病毒。20042004年年8 8月,月,共同社报道:日本近期共共同社报道:日本近期共有上百
18、网站遭到黑客袭击。有上百网站遭到黑客袭击。2023-2-11Page 208.3.2 拒绝服务攻击的原理拒绝服务攻击的原理1拒绝服务的模式拒绝服务的模式 按照入侵方式,拒绝服务可以分为资按照入侵方式,拒绝服务可以分为资源消耗型,配置修改型,物理破坏型以及源消耗型,配置修改型,物理破坏型以及服务利用型。服务利用型。2023-2-11Page 21(1)资源消耗型:指入侵者试图消耗目标)资源消耗型:指入侵者试图消耗目标的合法资源,如网络带宽、内存和磁盘空的合法资源,如网络带宽、内存和磁盘空间等,从而达到拒绝服务的目的。间等,从而达到拒绝服务的目的。(2)配置修改型:入侵者通过改变或者破)配置修改型
19、:入侵者通过改变或者破坏系统的配置信息,来阻止其他合法用户坏系统的配置信息,来阻止其他合法用户使用计算机和网络提供的服务。使用计算机和网络提供的服务。2023-2-11Page 22(3)物理破坏型:它主要针对物理设备的)物理破坏型:它主要针对物理设备的安全。入侵者可以通过破坏或者改变网络安全。入侵者可以通过破坏或者改变网络部件以实现拒绝服务。部件以实现拒绝服务。(4)服务利用型:入侵者常用的是)服务利用型:入侵者常用的是TCP/IP以及目标系统自身应用软件中的一以及目标系统自身应用软件中的一些漏洞和弱点,来达到拒绝服务的目的。些漏洞和弱点,来达到拒绝服务的目的。2023-2-11Page 2
20、3以消耗目标主机的可用资源为目的(例如:以消耗目标主机的可用资源为目的(例如:死亡之死亡之ping、SYN攻击、攻击、Land攻击、攻击、泪珠攻击泪珠攻击(TeardropTeardrop)、)、SmurfSmurf攻击攻击等)等)以消耗服务器链路的有效带宽为目的(例以消耗服务器链路的有效带宽为目的(例如:蠕虫)如:蠕虫)2023-2-11Page 24攻击者 目标主机目标主机SYNSYN/ACKACK等待应答等待应答SYN:同步SYN/ACK:同步/确认ACK:确认2023-2-11Page 25.SYN/ACKSYN/ACKSYN/ACKSYNSYNSYN攻击者目标主机目标主机SYNSYN
21、/ACK1nSYN/ACKSYN/ACKSYN/ACKSYN/ACK.等待等待ACK应答应答.不应答不应答不应答不应答重新发送重新发送2023-2-11Page 261)1)攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。攻击者攻击者各种客户主机各种客户主机目标系统目标系统2)攻击者进入其已经发现的最弱的客户主机之内攻击者进入其已经发现的最弱的客户主机之内(“肉鸡肉鸡”),并且秘密地,并且秘密地安置一个其可远程控制的代理程序安置一个其可远程控制的代理程序(端口监督程序端口监督程序demon)demon)。攻击准备:攻击准备:安置代理代理程
22、序代理程序2023-2-11Page 27 3)3)攻击者使他的全部代理程序同时发送由残缺的数字包构成的连接请攻击者使他的全部代理程序同时发送由残缺的数字包构成的连接请求送至目标系统。求送至目标系统。攻击者目标系统目标系统发起攻击:发起攻击:指令指令攻击的代理程序4)4)包括虚假的连接请求在内的大量残缺的数字包攻击目标系统,最终将包括虚假的连接请求在内的大量残缺的数字包攻击目标系统,最终将导致它因通信淤塞而崩溃。导致它因通信淤塞而崩溃。虚假的连接请求虚假的连接请求2023-2-11Page 288.4.1 安全扫描安全扫描 安全扫描以各种各样的方式进行。可安全扫描以各种各样的方式进行。可以利用
23、以利用Ping和端口扫描程序来侦查网络,和端口扫描程序来侦查网络,也可以使用客户端也可以使用客户端/服务器程序,如服务器程序,如Telnet和和SNMP等来侦查网络泄漏的有用信息。等来侦查网络泄漏的有用信息。应当利用一些工具来了解网络。有些工具应当利用一些工具来了解网络。有些工具很简单,便于安装和使用。有时,审计人很简单,便于安装和使用。有时,审计人员和黑客会利用程序语言如员和黑客会利用程序语言如Perl,C,C+和和Java自己编制一些工具,因为他们找不到自己编制一些工具,因为他们找不到现成的针对某种漏洞的工具。现成的针对某种漏洞的工具。2023-2-11Page 29 另外一些工具功能更全
24、面,但是在使另外一些工具功能更全面,但是在使用前需要认真地配置。有专门从事网络管用前需要认真地配置。有专门从事网络管理和安全的公司出售这些工具。好的网络理和安全的公司出售这些工具。好的网络级和主机级扫描器会监听和隔离进出网络级和主机级扫描器会监听和隔离进出网络和主机的所有会话包。在学习这些和主机的所有会话包。在学习这些“Hacker-in-a-box”的解决方案前,应当先的解决方案前,应当先接触一些当前黑客常常使用的技巧。接触一些当前黑客常常使用的技巧。2023-2-11Page 301Whois命令命令 Whois(类似于(类似于finger)是一种)是一种Internet的目的目录服务,录
25、服务,whois提供了在提供了在Internet上一台主机或某上一台主机或某个域的所有者的信息,如管理员的姓名、通信地个域的所有者的信息,如管理员的姓名、通信地址、电话号码和址、电话号码和E-mail地址等信息,这些信息是地址等信息,这些信息是在官方网站在官方网站whois server上注册的,如保存在上注册的,如保存在InterNIC的数据库内。的数据库内。Whois命令通常是安全审命令通常是安全审计人员了解网络情况的开始。一旦得到了计人员了解网络情况的开始。一旦得到了Whois记录,从查询的结果还可得知记录,从查询的结果还可得知primary和和secondary域名服务器的信息。域名服
26、务器的信息。2023-2-11Page 312nslookup 使用使用DNS的排错工具的排错工具nslookup,可以利用从,可以利用从whois查询到的信息侦查更多的网络情况。例如,查询到的信息侦查更多的网络情况。例如,使用使用nslookup命令把主机伪装成命令把主机伪装成secondary DNS服务器,如果成功便可以要求从主服务器,如果成功便可以要求从主DNS服务器进服务器进行区域传送。要是传送成功的话,将获得大量有行区域传送。要是传送成功的话,将获得大量有用信息,包括:用信息,包括:使用此使用此DNS服务器做域名解析到所有主机名和服务器做域名解析到所有主机名和IP地址的映射情况;地
27、址的映射情况;公司使用的网络和子网情况;公司使用的网络和子网情况;主机在网络中的用途,许多公司使用带有描述主机在网络中的用途,许多公司使用带有描述性的主机名。性的主机名。2023-2-11Page 32 使用使用nslookup实现区域传送的过程有如下几实现区域传送的过程有如下几步。步。第第1步,使用步,使用whois命令查询目标网络,例如命令查询目标网络,例如在在Linux提示符下输入提示符下输入whois 。第第2步,得到目标网络的步,得到目标网络的primary和和slave DNS服务器的信息。例如,假设主服务器的信息。例如,假设主DNS服务器的服务器的名字是名字是。第第3步,使用交互
28、查询方式,缺省情况下步,使用交互查询方式,缺省情况下nslookup会使用缺省的会使用缺省的DNS服务器作域名解析。服务器作域名解析。键入命令键入命令server 定位目标定位目标网络的网络的DNS服务器。服务器。2023-2-11Page 33 第第4步,列出目标网络步,列出目标网络DNS服务器的内容,服务器的内容,如如ls 。此时。此时DNS服务器会把数服务器会把数据传送过来。当然,管理员可以禁止据传送过来。当然,管理员可以禁止DNS服务器服务器进行区域传送,目前很多公司将进行区域传送,目前很多公司将DNS服务器至于服务器至于防火墙的保护之下并严格设定了只能向某些主机防火墙的保护之下并严格
29、设定了只能向某些主机进行区域传送。进行区域传送。一旦从区域传送中获得了有用信息,便可以一旦从区域传送中获得了有用信息,便可以对每台主机实施端口扫描以确定它们提供了哪些对每台主机实施端口扫描以确定它们提供了哪些服务。如果不能实现区域传送,用户还可以借助服务。如果不能实现区域传送,用户还可以借助ping和端口扫描工具,当然还有和端口扫描工具,当然还有traceroute。2023-2-11Page 343host Host命令是命令是UNIX提供的有关提供的有关Internet域名查域名查询的命令,可实现主机名到询的命令,可实现主机名到IP地址的映射,反之地址的映射,反之亦然。用亦然。用host命
30、令可实现以下功能:命令可实现以下功能:实现区域传送;实现区域传送;获得名称解析信息;获得名称解析信息;得知域中邮件服务器的信息。得知域中邮件服务器的信息。参数参数-v可显示更多的信息,参数可显示更多的信息,参数-l实现区域传送,实现区域传送,参数参数-t允许查询特定的允许查询特定的DNS记录。记录。2023-2-11Page 35 例如,要查询例如,要查询域的邮件服务器的记录,域的邮件服务器的记录,需要键入命令:需要键入命令:host t mx (你可以参考(你可以参考UNIX命令帮助命令帮助获得更多信息)获得更多信息)Traceroute(tracert)Traceroute 用于路由追踪,
31、如判断从主机到目标主机经过用于路由追踪,如判断从主机到目标主机经过哪些路由器、跳计数、响应时间如何等。大多数操作系统哪些路由器、跳计数、响应时间如何等。大多数操作系统(包括(包括UNIX、Novell和和Windows NT)若配置了)若配置了TCP/IP协协议的话,都会有自己版本的议的话,都会有自己版本的traceroute程序。当然也可以使程序。当然也可以使用其他一些第三方的路由追踪软件,在后面我们会接触到用其他一些第三方的路由追踪软件,在后面我们会接触到这些工具。这些工具。使用使用traceroute,你可以推测出网络的物理布局,包括,你可以推测出网络的物理布局,包括该网络连接该网络连接
32、Internet所使用的路由器。所使用的路由器。traceroute还可以判还可以判断出响应较慢的节点和数据包在路由过程中的跳计数。断出响应较慢的节点和数据包在路由过程中的跳计数。2023-2-11Page 364Ping扫描作用及工具扫描作用及工具 Ping一个公司的一个公司的Web服务器可帮助获得该公服务器可帮助获得该公司所使用的司所使用的IP地址范围。一旦得知了地址范围。一旦得知了HTTP服务服务器的器的IP地址,就可以使用地址,就可以使用Ping扫描工具扫描工具Ping该子该子网的所有网的所有IP地址,这可以帮助得到该网络的地址地址,这可以帮助得到该网络的地址图。图。Ping扫描程序将
33、自动扫描所指定的扫描程序将自动扫描所指定的IP地址范地址范围,围,WS_Ping ProPack工具包中集成有工具包中集成有Ping扫描扫描程序。单独的程序。单独的Ping工具有许多,工具有许多,Rhino9 Pinger是是比较流行的程序。比较流行的程序。2023-2-11Page 371端口扫描端口扫描 端口扫描与端口扫描与ping扫描相似,不同的是端口扫扫描相似,不同的是端口扫描不仅可以返回描不仅可以返回IP地址,还可以发现目标系统上地址,还可以发现目标系统上活动的活动的UDP和和TCP端口。端口。例如,地址例如,地址192.168.1.10正在运行正在运行SMTP和和Telnet服务,
34、地址服务,地址192.168.1.12正在运行正在运行FTP服务,服务,主机主机192.168.1.14未运行任何可辨别的服务,而主未运行任何可辨别的服务,而主机机192.168.1.16运行着运行着SMTP服务。最后一台主机服务。最后一台主机属于属于Microsoft网络,因为该网络使用网络,因为该网络使用UDP137和和TCP138、139端口。端口。2023-2-11Page 38(1)端口扫描软件)端口扫描软件 端口扫描器是黑客最常使用的工具。端口扫描器是黑客最常使用的工具。一些单独使用的端口扫描工具像一些单独使用的端口扫描工具像Port Scanner1.1,定义好,定义好IP地址范
35、围和端口后地址范围和端口后便可开始实施扫描。还有许多单独使用的便可开始实施扫描。还有许多单独使用的端口扫描器,如端口扫描器,如UltraScan等。如同等。如同Ping扫扫描器,许多工具也集成了端口扫描器。描器,许多工具也集成了端口扫描器。NetScan、Ping Pro和其他一些程序包集成和其他一些程序包集成了尽可能多的相关程序。许多企业级的网了尽可能多的相关程序。许多企业级的网络产品也将络产品也将ping和端口扫描集成起来。和端口扫描集成起来。2023-2-11Page 39(2)网络侦查和服务器侦查程序)网络侦查和服务器侦查程序 使用简单的程序如使用简单的程序如Ping Pro,可以侦查
36、出,可以侦查出Microsoft的网络上开启的端口。的网络上开启的端口。Ping Pro的工作是通过监测远程过的工作是通过监测远程过程调用服务所使用的程调用服务所使用的TCP、UDP135端口,和端口,和Microsoft 网络会话所使用的网络会话所使用的UDP137,138,和,和139端口来实现的。端口来实现的。其他的网络扫描工具允许你监测其他的网络扫描工具允许你监测UNIX、Novell、AppleTalk的网络。虽然的网络。虽然Ping Pro只能工作在其安装的特只能工作在其安装的特定子网,但还有更多更复杂的工具,这些工具的设计者定子网,但还有更多更复杂的工具,这些工具的设计者把它们设
37、计成为可以识别更多的网络和服务类型的程序。把它们设计成为可以识别更多的网络和服务类型的程序。例如,例如,NMAP是是UNIX下的扫描工具,它可以识别不同操下的扫描工具,它可以识别不同操作系统在处理作系统在处理TCP/IP协议上细微的差别。其他类似的程协议上细微的差别。其他类似的程序还包括序还包括checkos,queso和和SATAN。2023-2-11Page 402堆栈指纹堆栈指纹 许多程序都利用堆栈指纹技术,这种许多程序都利用堆栈指纹技术,这种技术允许利用技术允许利用TCP/IP来识别不同的操作系来识别不同的操作系统和服务。因为大多数的系统管理员注意统和服务。因为大多数的系统管理员注意到
38、信息的泄露而且屏蔽了系统标志,所以到信息的泄露而且屏蔽了系统标志,所以应用堆栈指纹的技术十分必要。但是,各应用堆栈指纹的技术十分必要。但是,各个厂商和系统处理个厂商和系统处理TCP/IP的特征是管理员的特征是管理员所难以更改的。许多审计人员和黑客记录所难以更改的。许多审计人员和黑客记录下这些下这些TCP/IP应用的细微差别,并针对各应用的细微差别,并针对各种系统构建了堆栈指纹表。种系统构建了堆栈指纹表。2023-2-11Page 41 要想了解操作系统间处理要想了解操作系统间处理TCP/IP的差异,需的差异,需要向这些系统的要向这些系统的IP和端口发送各种特殊的包。根和端口发送各种特殊的包。根
39、据这些系统对包的回应的差别,可以推断出操作据这些系统对包的回应的差别,可以推断出操作系统的种类。例如,可以向主机发送系统的种类。例如,可以向主机发送FIN包(或包(或任何不含有任何不含有ACK或或SYN标志的包),从下列操作标志的包),从下列操作系统将获得回应:系统将获得回应:Microsoft Windows NT,98,95,和和3.11 FreeBSD CISCO HP/UX 2023-2-11Page 42 大多数其他系统不会回应。虽然只不大多数其他系统不会回应。虽然只不过缩小了一点范围,但这至少开始了对目过缩小了一点范围,但这至少开始了对目标系统的了解。如果向目标系统发送的报标系统的
40、了解。如果向目标系统发送的报文头有未定义标志的文头有未定义标志的TCP包的话,包的话,2.0.35版版本以前的本以前的LINUX系统会在回应中加入这个系统会在回应中加入这个未定义的标志。这种特定的行为可以判断未定义的标志。这种特定的行为可以判断出目标主机上是否运行该种出目标主机上是否运行该种LINUX操作系操作系统。统。2023-2-11Page 43 下面是堆栈指纹程序利用的部分特征,许多下面是堆栈指纹程序利用的部分特征,许多操作系统对它们的处理方式不同:操作系统对它们的处理方式不同:ICMP错误信息抑制错误信息抑制 服务类型值服务类型值(TOS)TCP/IP选项选项 对对SYN FLOOD
41、的抵抗力的抵抗力 TCP初始窗口初始窗口 只要只要TCP开始进行三次握手,总是先发出一开始进行三次握手,总是先发出一个个SYN包。像包。像NMAP这样的程序会发出一个这样的程序会发出一个SYN包欺骗操作系统作回应。堆栈指纹程序可以从回包欺骗操作系统作回应。堆栈指纹程序可以从回应报文的格式,推论出目标操作系统的一些情况。应报文的格式,推论出目标操作系统的一些情况。2023-2-11Page 44 NMAP由于功能强大、不断升级和免由于功能强大、不断升级和免费的原因,使之十分流行。它对网络的侦费的原因,使之十分流行。它对网络的侦查十分有效是基于两个原因。首先,它具查十分有效是基于两个原因。首先,它
42、具有非常灵活的有非常灵活的TCP/IP堆栈指纹引擎。堆栈指纹引擎。NMAP的制作人的制作人FYODOR不断升级该引擎,不断升级该引擎,使它能够尽可能多的进行猜测。使它能够尽可能多的进行猜测。NMAP可可以准确地扫描服务器操作系统(包括以准确地扫描服务器操作系统(包括Novell、UNIX、Linux、NT),路由器),路由器(包括(包括CISCO、3COM和和HP),还有一些),还有一些拨号设备。其次,它可以穿透网络边缘的拨号设备。其次,它可以穿透网络边缘的安全设备,例如防火墙。安全设备,例如防火墙。2023-2-11Page 45 NMAP穿透防火墙的一种方法是利用碎片扫穿透防火墙的一种方法
43、是利用碎片扫描技术(描技术(fragment scans),可以发送隐秘的),可以发送隐秘的FIN包(包(-sF)、)、Xmas tree包(包(-sX)或)或NULL包(包(-sN)。这些选项允许将)。这些选项允许将TCP查询分割成片断,从查询分割成片断,从而绕过防火墙规则。这种策略对很多流行的防火而绕过防火墙规则。这种策略对很多流行的防火墙产品都很有效。墙产品都很有效。当前当前NMAP只能运行在只能运行在Linux操作系统上,操作系统上,包括包括Free BSD 2.2.6-30、HP/UX和和Solaris等等Linux的所有版本。在的所有版本。在Linux的的X-Windows上还提上
44、还提供图形界面。最好的掌握供图形界面。最好的掌握NMAP的方法是学习使的方法是学习使用它。使用用它。使用nmaph命令可以显示帮助信息,当命令可以显示帮助信息,当然,也可以用然,也可以用man nmap命令查看它的使用手册。命令查看它的使用手册。2023-2-11Page 463共享扫描共享扫描 共享扫描指可以扫描网络中绝大多数共享扫描指可以扫描网络中绝大多数的内容,包括正在使用的共享。这种扫描的内容,包括正在使用的共享。这种扫描过程提供了重要的侦查和利用各种资源和过程提供了重要的侦查和利用各种资源和文件的方法。文件的方法。2023-2-11Page 47 Ping Pro提供了允许审计人员扫
45、描提供了允许审计人员扫描Windows网络共享的功能。它能侦查出共享名称,但不会网络共享的功能。它能侦查出共享名称,但不会入侵共享。例如,入侵共享。例如,Microsoft网络利用网络利用TCP139端端口建立共享。更具侵略性的侦查软件有知名的口建立共享。更具侵略性的侦查软件有知名的RedButton,许多,许多Internet站点都免费提供下载。站点都免费提供下载。RedButton是一个很古老的程序,大多数的系统是一个很古老的程序,大多数的系统管理员和安全管理员都找到了防范它的方法。这管理员和安全管理员都找到了防范它的方法。这个程序不仅可以侦查出共享名称还可以发现相应个程序不仅可以侦查出共
46、享名称还可以发现相应的密码。它还可以获得管理员的账号名称。的密码。它还可以获得管理员的账号名称。2023-2-11Page 48 黑客和审计人员对系统的缺省配置很黑客和审计人员对系统的缺省配置很了解,可以编制工具查找这些弱点。实际了解,可以编制工具查找这些弱点。实际上,许多企业级的侦查工具都是针对这些上,许多企业级的侦查工具都是针对这些弱点进行工作的。安全专家还知道操作系弱点进行工作的。安全专家还知道操作系统工作的细节,根据服务补丁和统工作的细节,根据服务补丁和hot fix的的数量进行升级。数量进行升级。2023-2-11Page 49(3)使用)使用Telnet Telnet是远程登录系统
47、进行管理的程序,缺省情况下是远程登录系统进行管理的程序,缺省情况下telnet使用使用23端口。当然,也可以利用端口。当然,也可以利用Telnet客户端程序客户端程序连接到其他端口。连接到其他端口。例如,可以远程连接至例如,可以远程连接至HTTP端口。在连接一段时间端口。在连接一段时间内若没有任何动作,服务器会因为无法识别这次连接而内若没有任何动作,服务器会因为无法识别这次连接而自动切断。但是通常可以从自动切断。但是通常可以从HTTP服务器上得到一些信息。服务器上得到一些信息。例如,可以得知服务厂商的信息、版本(如例如,可以得知服务厂商的信息、版本(如Apache Web Server 1.3
48、6或或IIS 4.0)等。)等。虽然信息不是很多,但至少能从报错信息中推断出虽然信息不是很多,但至少能从报错信息中推断出服务器类型,在服务器类型,在Web服务器报错信息中可以看出服务器报错信息中可以看出HTTP服服务器版本,还可以用务器版本,还可以用Telnet连接上系统再使用连接上系统再使用SYST命令,命令,许多许多TCP/IP堆栈会泄漏一些重要的信息堆栈会泄漏一些重要的信息2023-2-11Page 504扫描等级扫描等级 大多数的企业级扫描器允许选择安全扫描的等级。大多数的企业级扫描器允许选择安全扫描的等级。一次轻级别的扫描通常会扫描众所周知的端口(从一次轻级别的扫描通常会扫描众所周知
49、的端口(从0到到1023)和常见的安全漏洞,包括弱口令,低的补丁等级)和常见的安全漏洞,包括弱口令,低的补丁等级和额外的服务。如果扫描一个小型的子网大概需要花费和额外的服务。如果扫描一个小型的子网大概需要花费30分钟。中级和严格级别的扫描根据网络的速度和运行分钟。中级和严格级别的扫描根据网络的速度和运行扫描程序的主机扫描程序的主机CPU的时钟速度快慢等因素,通常会花的时钟速度快慢等因素,通常会花费几天的时间。费几天的时间。定义严格级别的扫描策略会让扫描器对目标网络发定义严格级别的扫描策略会让扫描器对目标网络发起连续的攻击。如果设置了规则让扫描器扫描所有的起连续的攻击。如果设置了规则让扫描器扫描
50、所有的65,535个端口,还要检测口令强度以及细致地分析从管理个端口,还要检测口令强度以及细致地分析从管理账户到账户到UNIX子系统的每项服务的话,工作量是相当大的。子系统的每项服务的话,工作量是相当大的。这种扫描不仅费时,而且会极大地加重网络的负担。个这种扫描不仅费时,而且会极大地加重网络的负担。个别主机将无法承受这种扫描。别主机将无法承受这种扫描。2023-2-11Page 515配置文件和策略配置文件和策略 在使用任何扫描器前,必须首先定义在使用任何扫描器前,必须首先定义配置文件,然后再实施策略。绝大多数的配置文件,然后再实施策略。绝大多数的扫描程序事先都定义了一些配置和策略,扫描程序事