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