1、第六章 网络攻击和入侵检测 l了解黑客与网络攻击的基础知识;了解黑客与网络攻击的基础知识;l掌握口令攻击、端口扫描、缓冲区溢出、网络监掌握口令攻击、端口扫描、缓冲区溢出、网络监听、特洛伊木马等攻击方式的原理、方法及危害;听、特洛伊木马等攻击方式的原理、方法及危害;l掌握入侵检测技术和入侵检测系统原理掌握入侵检测技术和入侵检测系统原理6.1 网络攻击概述l6.1.1 关于黑客l6.1.2 黑客攻击的步骤l6.1.3 网络入侵的对象l6.1.4 主要的攻击方法l6.1.5 攻击的新趋势 6.1.1 关于黑客黑客(hacker)l源于20世纪50年代麻省理工学院l独立思考、奉公守法的计算机迷骇客(C
2、racker)l怀不良企图,l非法侵入他人系统进行偷窥、破坏活动的人 6.1.2 黑客攻击的步骤1收集信息lPing程序:可以测试一个主机是否处于活动状态、到达主机的时间等。lTracert程序:可以用该程序来获取到达某一主机经过的网络及路由器的列表。lFinger协议:可以用来取得某一主机上所有用户的详细信息。lDNS服务器:该服务器提供了系统中可以访问的主机的IP地址和主机名列表。lSNMP协议:可以查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其它内部细节。lWhois协议:该协议的服务信息能提供所有有关的DNS域和相关的管理参数。6.1.2 黑客攻击的步骤2探测系统安
3、全弱点l利用“补丁”找到突破口 用户没有及时地使用“补丁”程序,这就给了攻击者可趁之机。l利用扫描器发现安全漏洞 扫描器可以对整个网络或子网进行扫描,寻找安全漏洞。l比较流行的扫描器:x-san 6.1.2 黑客攻击的步骤3实施攻击(1)掩盖行迹,预留后门。攻击者潜入系统后,会尽量销毁可能留下的痕迹,并在受损害系统中找到新的漏洞或留下后门,以备下次光顾时使用。(2)安装探测程序。攻击者退出去以后,探测软件仍可以窥探所在系统的活动,收集攻击者感兴趣的信息,如:用户名、账号、口令等,并源源不断地把这些秘密传给幕后的攻击者。(3)取得特权,扩大攻击范围。如果攻击者获得根用户或管理员的权限 6.1.3
4、 网络入侵的对象网络入侵对象(1)固有的安全漏洞 协议的安全漏洞、弱口令、缓冲区溢出等(2)系统维护措施不完善的系统。系统维护;软件更新或升级;路由器及防火墙的过滤规则。(3)缺乏良好安全体系的系统 建立有效的、多层次的防御体系 6.1.4 主要的攻击方法l1.扫描技术l2口令攻击l3欺骗技术l4放置特洛伊木马l5DoS6.3 扫描器6.3.1 端口与服务6.3.2 扫描技术6.3.1 端口与服务l(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。l(2)注册端口(Reg
5、istered Ports):从1024到49151。它们松散地绑定于一些服务。l(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口6.3.2 扫描技术l1.端口扫描l端口扫描技术是向目标主机的TCP/IP服务端口发送探测数据包,并记录目标主机的响应的技术。6.3.2 扫描技术l对218.109.78.185的计算机进行端口扫描,在Scan文本框中输入IP地址,点击按钮“START”6.3.2 扫描技术l2.共享目录扫描6.3.2 扫描技术l该软件可以扫描一个IP地址段的共享信息。在起始IP框输入218
6、.109.76.1和终止IP框中输入218.109.77.255,点击按钮“开始查找”就可以得到对方的共享目录了6.3.2 扫描技术l3.系统用户扫描l目前计算机系统一般都支持多用户操作。这些帐号的存在都是黑客扫描的重点。系统用户扫描软件NTscan。6.3.2 扫描技术l对IP为218.109.76.54的计算机进行扫描,首先将该IP段添加到扫描配置中(软件的左上角),输入需要扫描的IP段6.3.2 扫描技术l4.漏洞扫描l漏洞即任何会引起系统的安全性受到破坏的事物,包括不恰当的操作指导、病毒、没有被正确配置的系统、弱密码或者写在纸条上的密码等。6.3.2 扫描技术l可以利用该软件对系统存在
7、的一些漏洞进行扫描,选择菜单栏设置下的菜单项“设置-扫描参数”,接着需要确定要扫描主机的IP地址或者IP地址段,选择菜单栏设置下的菜单项“扫描参数”,扫描一台主机,在指定IP范围框中输入:218.109.77.1-218.109.78.2556.3.2 扫描技术l选中你需要检测的漏洞,点击按钮“确定”。6.3.2 扫描技术l设置完毕后,进行漏洞扫描,点击工具栏上的图标“开始”,开始对目标主机进行扫描攻击实施技术l6.4 口令攻击l6.5 欺骗攻击l6.6 拒绝服务攻击6.4 口令攻击l6.4.1 获取口令的一些方法l6.4.2 设置安全的口令l6.4.3 一次性口令6.4.1 获取口令的一些方
8、法l穷举穷举(暴力暴力)攻击攻击l如果字典攻击仍然不能够成功,入侵者会采取穷举攻击,即如果字典攻击仍然不能够成功,入侵者会采取穷举攻击,即暴力攻击。暴力攻击。l(1)(1)暴力破解操作系统密码暴力破解操作系统密码6.4.1 获取口令的一些方法l进入“设置-扫描参数”,输入需要检测的主机IP。6.4.1 获取口令的一些方法l然后点击“全局设置扫描模块”,将“NT-Server弱口令”选项勾选上,点击确定完成6.4.1 获取口令的一些方法l点击开始扫描,一段时间后会显示结果和一份扫描报告。6.4.1 获取口令的一些方法l(2)暴力破解应用程序密码l暴力破解邮箱密码,可以用工具软件:流光Fluxay
9、6.4.1 获取口令的一些方法l只破解用户dnizoy1的邮箱密码为例,用鼠标右击POP3主机并选择“编辑”“添加”命令,进入“添加用户”对话框;在对话框中输入用户名dnizoy1,然后单击“确定”按钮,把用户dnizoy1列在主机下的用户列表6.4.1 获取口令的一些方法l用同样的方法,在”解码字典或方案”下添加一个密码字典文件,该文件里的密码可以选用流光默认给出的密码,也可以使用自己设置的密码,比如社工得到的特殊字符。最后,只要再次选择“探测”“标准模式”命令,“流光”就可以开始进行密码破解了。6.4.2 设置安全的口令l(1)口令的选择:)口令的选择:字母数字及标点的组合,如:字母数字及
10、标点的组合,如:Ha,Ppy!和和w/(X,y)*;使用一句话的开头字母做口令,使用一句话的开头字母做口令,如:由如:由A fox jumps over a lazy dog!产生口令:产生口令:AfJoAld!。l(2)口令的保存:)口令的保存:记住、放到安全的地方,加记住、放到安全的地方,加密最好密最好。l(3)口令的使用:)口令的使用:输入口令不要让别人看到;输入口令不要让别人看到;不要在不同的系统上使用同一口令;定期改变口令。不要在不同的系统上使用同一口令;定期改变口令。6.4.3一次性口令(OTP,One-Time Password)lOTP的主要思路是:在登录过程中加入不确在登录过
11、程中加入不确定因素,使每次登录过程中的生成的口令不相定因素,使每次登录过程中的生成的口令不相同。同。l口令列表,每次登录使用完一个口令后就将它口令列表,每次登录使用完一个口令后就将它从列表明中删除;从列表明中删除;l用户也可以使用用户也可以使用IC卡或其他的硬件卡来存储用卡或其他的硬件卡来存储用户的秘密信息,这些信息再随机数、系统时间户的秘密信息,这些信息再随机数、系统时间等参数一起通过散列得到一个一次性口令。等参数一起通过散列得到一个一次性口令。6.5 欺骗攻击1.ARP欺骗攻击 ARP是地址解析协议,负责将IP地址转换为MAC地址。为了减少网络流量,当一台主机的ARP处理机制中接收到一个A
12、RP应答的时候,该主机不进行验证,即使该主机从未发出任何的ARP请求,仍然会把接收的MAC地址(网卡地址)映射信息放人ARP缓冲,也就是说,一台主机从网上接收到的任何ARP应答都会更新自己的地址映射表,而不管其是否真实。2.IP欺骗攻击IP欺骗攻击的原理是:假设主机A和主机B是相互信任的,攻击者C冒充主机B的IP,就可以使用命令远程登录到主机A,而不需任何口令验证,从而达到攻击的目的。6.5.1 IP欺骗的工作原理(1)使被信任主机丧失工作能力)使被信任主机丧失工作能力 TCP SYN-Flood:lt1:Z(X)SYN Bl Z(X)SYN Bl Z(X)SYN Bl lt2:X SYN/A
13、CK-Bl X SYN/ACK-Bl lt3:X RST B6.5.1 IP欺骗的工作原理(2)序列号猜测方法序列号猜测方法 攻击者先与被攻击主机的一个端口建立起正常的连接。攻击者先与被攻击主机的一个端口建立起正常的连接。通常,这个过程被重复若干次,并将目标主机最后所发送的通常,这个过程被重复若干次,并将目标主机最后所发送的ISN(初始序列号)存储起来。攻击者还需要估计他的主机(初始序列号)存储起来。攻击者还需要估计他的主机与被信任主机之间的与被信任主机之间的RTT时间(往返时间),这个时间(往返时间),这个RTT时间时间是通过多次统计平均求出的。是通过多次统计平均求出的。6.5.1 IP欺骗
14、的工作原理(3)实施欺骗实施欺骗Z伪装成伪装成A信任的主机信任的主机B攻击目标攻击目标A的过程如的过程如下:下:lt1:Z(B)SYN Alt2:B SYN/ACK Alt3:Z(B)ACK Alt4:Z(B)PSH A6.5.2 IP欺骗的防止(1)抛弃基于地址的信任策略)抛弃基于地址的信任策略(2)进行包过滤)进行包过滤(3)使用加密方法)使用加密方法(4)使用随机化的初始序列号)使用随机化的初始序列号补充:ARP安全 lARP(Address Resolution Protocol,地址解析协议)用来将IP地址映射到MAC地址,以便设备能够在共享介质的网络(如以太网)中通信。在ARP协议
15、的实现中还有一些应该注意的事项:(1)每台计算机上都有一个ARP缓冲,它保存了一定数量的从IP地址到MAC地址的映射。当一个ARP广播到来时,虽然这个ARP广播可能与它无关,但ARP协议软件也会把其中的物理地址与IP地址的映射记录下来,这样做的好处是能够减少ARP报文在局域网上发送的次数。2023年1月18日网络实验室(2)按照缺省设置,ARP高速缓存中的项目是动态的。ARP缓冲中IP地址与物理地址之间的映射并不是一旦生成就永久有效的,每一个ARP映射表项都有自己的寿命,如果在一段时间内没有使用,那么这个ARP映射就会从缓冲中被删除,这一点和交换机MAC地址表的原理一样。这种老化机制,大大减少
16、了ARP缓存表的长度,加快了查询速度。2023年1月18日网络实验室l在以太网中,当主机要确定某个IP地址的MAC地址时,它会先检查自己的ARP缓冲表,如果目标地址不包含在该缓冲表中,主机就会发送一个ARP请求(广播形式),网段上的任何主机都可以接收到该广播,但是只有目标主机才会响应此ARP请求。由于目标主机在收到ARP请求时可以学习到发送方的IP地址到MAC地址的映射,因此它采用一个单播消息来回应请求。图 ARP请求的过程 2023年1月18日网络实验室l主机B、主机D收到主机A发来的ARP请求时,它们发现这个请求不是发给自己的,因此它们忽略这个请求,但是它们还是将主机A的IP地址到MAC地
17、址的映射记录到自己的ARP表中。当主机C收到主机A发来的ARP请求时,它发现这个ARP请求是发给自己的,于是它用单播消息回应ARP请求,同时记录下其IP地址到MAC地址的映射。图 ARP回应的过程 2023年1月18日网络实验室ARP欺骗1 ARP欺骗的概念和现状l由于ARP协议在设计中存在的主动发送ARP报文的漏洞,使得主机可以发送虚假的ARP请求报文或响应报文,报文中的源IP地址和源MAC地址均可以进行伪造。l在局域网中,即可以伪造成某一台主机(如服务器)的IP地址和MAC地址的组合,也可以伪造成网关的IP地址和MAC地址的组合,等等。2023年1月18日网络实验室2针对计算机的ARP欺骗
18、l假设主机A向主机B发送数据。l在主机A中,主机A在ARP缓存表中查找是否有主机B的MAC地址(其实是主机B的IP地址与MAC地址的对应关系),如果有,则直接将该MAC地址(22-22-22-22-22-22)作为目的MAC地址添加到数据单元的网络首部(位于网络接口层),成为数据帧。l在局域网(同一IP网段,如本例的192.168.1.x)中,主机利用MAC地址作为寻址的依据,所以主机A根据主机B的MAC地址,将数据帧发送给主机B。2023年1月18日网络实验室图5-8 主机中IP地址与MAC地址的对应关系示意图 2023年1月18日网络实验室l如果主机A在ARP缓存表中没有找到目标主机B的I
19、P地址对应的MAC地址,主机A就会在网络上发送一个广播帧,该广播帧的目的MAC地址是“FF.FF.FF.FF.FF.FF”,表示向局域网内的所有主机发出这样的询问:IP地址为192.168.1.2的MAC地址是什么?l在局域网中所有的主机都会接收到该广播帧,但在正常情况下因为只有主机B的IP地址是192.168.1.2,所以主机B会对该广播帧进行ARP响应,即向主机A发送一个ARP响应帧:我(IP地址是192.168.1.2)的MAC地址是22-22-22-22-22-22。2023年1月18日网络实验室l如果现在主机D要对主机A进行ARP欺骗,冒充自己是主机C。l具体实施中,当主机A要与主机
20、C进行通信时,主机D主动告诉主机A自己的IP地址和MAC地址的组合是“192.168.1.3+44-44-44-44-44-44”,这样当主机A要发送给主机C数据时,会将主机D的MAC地址44-44-44-44-44-44添加到数据帧的目的MAC地址中,从而将本来要发给主机C的数据发给了主机D,实现了ARP欺骗。l在整个ARP欺骗过程中,主机D称为“中间人”(man in the middle),对这一中间人的存在主机A根本没有意识到。2023年1月18日网络实验室l通过以上的ARP欺骗,使主机A与主机C之间断开了联系。l现在假设主机C是局域网中的网关,而主机D为ARP欺骗者。l当局域网中的计
21、算机要与其他网络进行通信(如访问Internet)时,所有发往其他网络的数据全部发给了主机D,而主机D并非真正的网关,这样整个网络将无法与其他网络进行通信。2023年1月18日网络实验室图 ARP欺骗的实现过程 2023年1月18日网络实验室6.6 拒绝服务拒绝服务 10.6.1 什么是拒绝服务什么是拒绝服务10.6.2 分布式拒绝服务分布式拒绝服务6.6.1 6.6.1 什么是拒绝服务什么是拒绝服务lDoS是是Denial of Service的简称,即拒绝服务。的简称,即拒绝服务。l拒绝服务攻击是指一个用户占据了大量的共享资源,使拒绝服务攻击是指一个用户占据了大量的共享资源,使系统没有剩余
22、的资源给其它用户提供服务的一种攻击方系统没有剩余的资源给其它用户提供服务的一种攻击方式。式。l拒绝服务攻击的结果可以降低系统资源的可用性,这些拒绝服务攻击的结果可以降低系统资源的可用性,这些资源可以是网络带宽、资源可以是网络带宽、CPU时间、磁盘空间、打印机、时间、磁盘空间、打印机、甚至是系统管理员的时间。甚至是系统管理员的时间。l最常见的最常见的DoS攻击有攻击有:带宽攻击带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。被消耗殆尽,最后导致合法的用户请求就无法通过。连通性攻击连通性攻击指用大
23、量的连接请求冲击计算机,使得所有可用的操指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。求。l 6.6.1 6.6.1 什么是拒绝服务什么是拒绝服务 虚假地址 攻击者 被攻击目标 带有虚假地址的请求 回复请求 等待响应 DoS攻击的基本过程6.6.2 分布式拒绝服务lDDoS(分布式拒绝服务)是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,l一个比较完善的DDoS攻击体系分成三层 攻击者 主控端 代理 攻击目标(1)攻击者)攻击者:攻击者所用的计算机是攻
24、击主控台,可以攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。攻击者操纵整个攻击过程,它向主控端发送攻击命令。(2)主控端:)主控端:主控端是攻击者非法侵入并控制的一些主主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。特殊指令,并且可以把这些命令发送到代理主机上。(3)代理端)代理端:代理端同样也是攻击者侵入并控制的一批代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,由它向受害者主机的命令。代理端主机是攻击的执行者,由它向受害者主机实际发起攻击。实际发起攻击。6.6.2 分布式拒绝服务lSmurf攻击示意图 6.6.3 DDoS的主要攻击方式