2020/2/221第四章网络攻击技术本章学习重点掌握内容:端口扫描技术网络嗅探技术缓冲区溢出DoS攻击2020/2/222第四章网络攻击技术4.1网络攻击概述4.2网络扫描技术4.3网络嗅探技术4.4缓冲区溢出技术4.5DoS攻击技术2020/2/2234.1网络攻击概述4.1.1关于黑客黑客(Hacker),源于英语动词“hack”,意为“劈,砍”,引申为“干了—件漂亮的工作”。那些怀着不良企图,非法侵入他人系统进行偷窥、破坏活动的人被称为“Cracker(骇客)”、“Intruder(入侵者)”。他们也具备广泛的计算机知识,但与黑客不同的是他们以破坏为目的.据统计,全球每20秒就有一起系统入侵事件发生,仅美国一年所造成的经济损失就超过100亿美元。由于在大多数人眼里的黑客就是指入侵者,因而这里也将黑客理解为“入侵者”或“攻击者”。2020/2/2244.1网络攻击概述4.1.2系统脆弱性表现1、固有的安全漏洞任何软件系统,包括系统软件和应用软件都无法避免地存在安全漏洞。这些漏洞主要来源于程序设计等方面的错误和疏忽,如:协议的安全漏洞、弱口令、缓冲区溢出等。这些漏洞给入侵者提供了可乘之机。2、系统维护措施不完善当发现漏洞时,管理人员需要仔细分析危险程序,并采取补救措施。有时虽然对系统进行了维护,对软件进行了更新或升级,但出于路由器及防火墙的过滤规则复杂等问题,系统可能又会出现新的漏洞。3、缺乏良好的安全体系一些系统忽视信息的安全,在设计和部署时没有建立有效的、多层次防御体系,以及良好的安全性检测与监控平台,这样的系统不能防御复杂的攻击。2020/2/2254.1网络攻击概述4.1.3黑客攻击的步骤1、收集信息和系统扫描1)收集要攻击目标系统的相关信息这些信息包括目标系统的位置、路由、目标系统的结构及技术细节等。可以用以下的工具或协议来完成信息收集。Ping程序、Tracert程序、Finger协议、DNS服务器、SNMP协议、whois协议。2)系统扫描为进一步获取系统及网络信息,使用以下工具进行有针对性地窥探。Nmap:判断OS类型及版本,嗅探系统开放的Service。Cheops:图形化的网络嗅探工具,能够管理Linux异构网络,获取系统漏洞信息。2020/2/2264.1.3黑客攻击的步骤2、探测系统安全弱点入侵者根据收集到的目标网络的有关信息,对目标网络上的主机进行探测,以发现系统的弱点和安全漏洞。发现系统弱点和漏洞的主要方法有:1)利用“补丁”找到突破口攻击者通过分析“补丁”程序的接口,自己编写程序通过该接口入侵目标系统。2)利用扫描器发现安全漏洞可以对整个网络或子网进行扫描,寻找安全漏洞。系统管理员使用扫描器可以及时发现系统存在的安全隐患,从而完善系统的安全防御体系;而攻击者使用此类工具,用于发现系统漏洞。目前比较流行的扫描器有因特网安全扫描程序ISS(InternetSecurityScanner),安全管理员网络分析工具SATAN(SecurityAdministratorToolforAnalyzingNetworks)、NSS、Nessus等。2020/2/2274.1.3黑客攻击的步骤3、实施攻击攻击者通过上述方法找到系统的弱点后,就可以对系统实施攻击。攻击者的攻击行为一般可以分为以下3种表现形式:1)掩盖行迹,预留后门攻击者潜入系统后,会尽量销毁可能留下的痕迹,并在受损害系统中找到新的漏洞或留下后门,以备下次光顾时使用。2)安装探测程序攻击者可能在系统中安装探测软件,即使攻击者退出去以后,探测软件仍可以窥探所在系统的活动,收集攻击者感兴趣的信息,如:用户名、账号、口令等,并源源不断地把这些秘密传给幕后的攻击者。3)取得特权,扩大攻击范围攻击者可能进一步发现受损害系统在网络中的信任等级,然后利用该信任等级所具有的权限,对整个系统展开攻击。如果攻击者获得根用户或管理员的权限,后果将不堪设想。2020/2/2284.1.4主要攻击方法1、获取口令获取口令一般有3种方法:1)通过网络监听非法得到用户口令。监听者往往能够获得其所在网段的所有用户账号和口令;2)知道用户的账号后,利用一些专门软件暴力破解用户口令。3)在获得一个服务器上的用户口令文件(在Unix中此文件称为Shadow文件)后,用暴力破解程序破解用户口令。是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱口令(如:123456,666666,hello,admin等),在极短的时间内就会被破解。2020/2/2294.1.4主要攻击方法2、欺骗技术用户可以利用IE浏览器进行各种各样的Web站点的访问,正在访问的网页可能被黑客篡改,网页上的信息是虚假的。例如,攻击者将用户要浏览的网页的URL改写为指向攻击者自己的服务器,当用户浏览目标网页的时候,实际上是向攻击者的服务器发出请求,那么黑客就可以达到欺骗的目的。2020/2/22104.1.4主要攻击方法3、电子邮件攻击电子邮件攻击上要表现为两种方式:1)邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;2)攻击者佯称作系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在看似正常的附件中加载病毒或其他木马程序,这类欺骗只要用户提高警惕,一般危害性不大。2020/2/22114.1.4主要攻击方法4、网络嗅探网络嗅探是将网卡置于一种混杂模式(Promiscuous)的工作模式,在这种模式下,主机可以接收到本网段同一条物理通道上传输的所有信息,而不管这些信息的接受方是谁。此时,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具(例如Sniffer、NetXray等工具)就可以轻而易举地截取包括口令和账号在内的信息资料。5、寻找系统漏洞现有的操作系统或应用软件,大多会存在一些设计上的Bug,这些Bug通常也被看作是系统的漏洞,在补丁程序没有被开发和公开之前,这样的系统一般很难防御黑客的破坏。此外,还有一些漏洞是出于系统管理员配置错误引起的,这也会给攻击者带来可乘之机,因此系统在有效使用前,应正确配置和初始化,遇到问题及时加以修正。2020/2/22124.1.4主要攻击方法6、DoS(DenialofService)攻击DoS攻击,即拒绝服务攻击,是指一个用户占据了大量的共享资源,使系统没有剩余的资源给其他用户提供服务的一种攻击力式。拒绝服务攻击的结果可以降低系统资源的可用性,这些资源可以是网络带宽、CPU时间、磁盘空间、打印机,甚至是系统管理员的时间。7、缓冲区溢出攻击利用缓冲区溢出攻击可以导致程序运行失败、系统崩溃等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。缓冲区溢出攻击之所以成为一种常见安全攻击手段,攻击者可以植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。2020/2/22134.1.5攻击的新趋势1、攻击过程的自动化与攻击工具的快速更新攻击工具的自动化程度继续不断地增强,其中涉及的四个阶段都发生了明显的变化。1)扫描潜在的受害者从1997年起开始出现大量的扫描活动,目前,新的扫描工具利用更先进的扫描技术,变得更加有威力,并且提高了速度。2)入侵具有漏洞的系统早期对具有漏洞的系统的攻击是发生在大范围的扫描之后。目前,攻击工具已经将对漏洞的入侵设计成为扫描活动的一部分,这样大大加快了入侵的速度。2020/2/22144.1.5攻击的新趋势3)攻击扩散2000年之前,攻击工具需要一个人来发起新的攻击。现在,攻击工具能够自动发起新的攻击过程。例如红色代码和Nimda病毒这些工具就在18个小时之内传遍了全球。4)攻击工具的协同管理攻击者能够利用大量分布在Internet之上的攻击工具发起攻击。现在,攻击者能够更加有效地发起一个分布式拒绝服务攻击。2、攻击工具复杂化攻攻击工具的特征码越来越难以通过分析来发现,并且越来越难以通过基于特征码的检测系统发现,2020/2/22154.1.5攻击的新趋势1)反检测攻击者采用了能够隐藏攻击工具的技术。这使得要通过各种分析方法来判断新的攻击的过程变得更加困难。2)动态行为自动攻击工具能够按照不同的方法更改它们的特征,如通过随机选择预定的决策路径或者通过入侵者直接的控制来进行攻击。3)攻击工具的模块化和标准化新的攻击工具能够通过升级或者对部分模块的替换完成快速更改。而且,攻击工具能够在越来越多的平台上运行。2020/2/22164.1.5攻击的新趋势3、渗透防火墙通常,一个计算机系统依赖防火墙提供安全的主要边界保护。但是目前已经存在一些绕过典型防火墙配置的技术,如IPP(theInternetPrintingProtocol)和WebDAV(WebDistributedAuthoringandVersioning);计算机之间存在很强的依存性。一旦某些计算机遭到了入侵,它就有可能成为入侵者的栖息地和跳板,作为进一步攻击的工具。对网络基础架构(如DNS系统、路由器)的攻击也越来越成为严重的安全威胁。2020/2/22174.2网络扫描技术4.2.1端口与服务分为物理端口和逻辑端口,下面主要介绍逻辑端口及其分类:(1)标准端口这类端口的范围是0~1023,一般固定分配给一些应用服务,比如FTP的21端口、SMTP的25端口、HTTP的80端口和RPC(远程过程调用)的135端口等等。(2)非标准端口这类端口的范围是1024~65535,一般不固定分配给某个应用服务,即许多服务都可以使用这些端口。只要某个进程向系统提出访问网络的请求,那么系统就可以从这些端口号中分配一个给该进程。例如1024端口,它是分配给第一个向系统发出请求的进程,当进程结束时,该端口号将被释放,可供其他进程再次使用。2020/2/22184.2.1端口与服务端口的第二种分类方式是按照协议类型来划分,具体可以分为TCP、UDP、IP和ICMP端口等。这里主要介绍前两类。(1)TCP端口这类端口主要面向TCP协议,通常在客户机和服务器之间建立连接,提高了数据传输的可靠性。常见有的FTP服务的21端口、TELNET服务的23端口、SMTP的25端口,以及HTTP服务的80端口等。(2)UDP端口这类端口面向UDP协议,无须在客户机和服务器之间建立连接,数据传输的可靠性和安全性无法得到保障。常见的有,DNS服务的53端口、SNMP(简单网络管理协议)服务的161端口,以及QQ使用的8000和4000端口。2020/2/22194.2.2端口扫描端口扫描是获取主机信息的一种常用方法。利用端口扫描程序可以了解远程服务器提供的各种服务及其TCP端口分配,了解服务器的操作系统及目标网络结构等信息。端口扫描也广泛被入侵者用来寻找攻击线索和攻击入口。扫描器是检测远程或本地系统安全脆弱性的软件。通过与目标主机TCP/IP端口建立连接并请求某些服务(如Telnet、FTP等),记录目标主机的应答,搜集目标主机相关信息(如匿名用户是否可以登录等),从而发现目标主机某些内在的安全弱点。一般把扫描器分为三类:数据库安全扫描器、操作系统安全扫描器和网络安全扫描器。2020/2/22204.2.3漏洞扫描漏洞是指硬件、软件或策略上存在的安全缺陷,从而使得攻击者能够在未授权的情况下访问、控制系统。漏洞对系统的威胁体现在恶意攻击行为对系统的威胁,。操作系统和应用软件的漏洞被黑客大量利用,从而进行木马、病毒等恶意代码攻击,并造成了严重后果。2020/2/22214.2.3漏洞扫描漏洞扫描工具比较多,这里重