网络攻击技术.ppt
,第2章 网络攻击技术,指导教师:杨建国,2013年8月10日,2.1 信息收集技术2.2 口令攻击2.3 缓冲区溢出攻击2.4 拒绝服务攻击2.5 web应用安全攻击2.6 恶意代码攻击2.7 病毒蠕虫与木马攻击,第2章 网络攻击技术,2.8 网络欺骗攻击2.9 网络钓鱼攻击2.10 假消息攻击2.11 网络协议攻击2.12 操作系统攻击2.13 远程控制攻击,5.1 TCP/IP协议栈5.2 链路层协议攻击5.3 网络层协议攻击5.4 传输层协议攻击5.5 应用层协议攻击,2.11 网络协议攻击,TCP/IP协议:包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。系统采用四层结构:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中。互联网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。,5.1 TCP/IP协议栈,应用层(产生|利用数据)协议:FTP、HTTP、SNMP(网管)、SMTP(Email)等常用协议;职责:利用应用层协议发送用户的应用数据,比如利用FTP发送文件,利用SMTP发送Email;由系统调用交给运输层处理。传输层(发送|接收数据)协议:TCP(有连接)、UDP(无连接);职责:负责建立连接、将数据分割发送;释放连接、数据重组或错误处理。互联网络层(分组|路由数据)协议:网际协议IP、地址解析协议ARP、ICMP(控制报文协议)、IGMP(组管理协议);职责:处理分组在网络中的活动。负责数据的路由,即数据往哪个路由器发送。网络接口层(按位发送|接收数据)协议:以太网卡设备驱动、令牌网卡驱动程序、ARP、RARP等;职责:处理与电缆或其他传输媒介的物理接口细节与数据帧的组装。负责传输校验二进制用户数据。,各层区别:应用层可对数据进行加密处理,增强传输数据的安全性,如https。运输层的TCP协议提供有连接的、可校验的数据传输服务。UDP协议不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询-应答的服务。网络层IP协议是不可靠的协议。网络接口层可对数据进行校验。,从运行进程态看各层区别:应用层运行在用户程序进程中,属于用户态;其他层则在系统内核进程运行,属于核心态;从通信方式上看各层区别:传输层是端对端的通信,进程与进程之间的通信,如两个TCP进程;网络层是点对点的通信,机器之间的逻辑连接。,从传输数据单元上看区别:传输层上形成的是TCP或UDP报文段;网络层形成的是IP数据报;数据链路层形成的是帧(Frame)。从寻址方式上看各层区别:网络层通过IP寻址;链路层通过MAC寻址。,文件上传TCP/IP内部分解图,应用层调用Windows API通知传输层TCP建立连接,TCP包头附加应用层协议的标识符端口 21。,网络层接收传输层的TCP包,IP包头附加一个标识协议数据域。,数据链路层接收网络层来的数据,解析成MAC地址往外发送。,ARP利用目标IP找到最近的路由器MAC地址,将数据包送到右边机器的网卡中。,利用IP协议拆包。,利用TCP协议拆包。,根据包头的端口号,将数据直接送入应用层的对应缓冲区中,应用程序负责解析数据包。,Address Resolution Protocol地址解析协议:把IP转换为MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。,5.2 链路层协议攻击,5.2.1 ARP简介,每个主机维护着一个高速缓存,其中存放着一张ARP表表中每一个条目就是一个IP地址到硬件地址的对应 主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的mac地址。如果没有找到,该主机就发送一个ARP广播Request包,目的MAC地址为FF:FF:FF:FF:FF:FF:FF。主机若发现目的IP与自身IP一致,响应,主机收到应答包后刷新自己的ARP缓存。,在任意客户机上进入命令提示符(或MS-DOS方式),用arpa命令查看:,ARP Request/Reply数据包的格式,ARP本身是无类协议,不携带任何状态信息。主机收到ARP数据包时,不会进行任何的认证就刷新Cache。ARP表使用老化机制,在一次ARP的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中。删除在一段时间内没有使用过的IP与MAC地址的映射关系。超时时间因不同的操作系统而有所不同,典型的时间为分钟。,如果A在广播的时候,C假冒B,发出应答。A就发不到B,并且,A的通信表里面记录了错误的地址信息。B收不到A信息,就会给A发信息询问,A又重新发,但是A每次发信B都收不到。中间人攻击(Man in the Middle):主机A发送到主机B上的数据包都变成发送给主机C。错误数据包越来越多,就会导致网络瘫痪,从而导致主机不能上网,影响企业的正常业务运转。,ARP欺骗,ARP病毒,特征:中毒的机器会伪造某台电脑的MAC地址,如该伪造地址为网关服务器的地址,那么对整个网络均会造成影响,用户表现为上网经常瞬断。,C:WINNTsystem32arp-aInterface:192.168.100.93 on Interface 0 x1000003Internet Address Physical Address Type192.168.100.1 00-50-da-8a-62-2c dynamic192.168.100.2300-11-2f-43-81-8bdynamic192.168.100.2400-50-da-8a-62-2cdynamic192.168.100.2500-05-5d-ff-a8-87dynamic192.168.100.20000-50-ba-fa-59-fedynamic,两个机器的MAC地址相同00-50-da-8a-62-2c为192.168.0.24的MAC地址,C:WINNTsystem32arp-aInterface:192.168.100.24 onInterface 0 x1000003Internet AddressPhysical AddressType192.168.100.100-02-ba-0b-04-32dynamic192.168.100.2300-11-2f-43-81-8bdynamic192.168.100.2500-05-5d-ff-a8-87dynamic192.168.100.19300-11-2f-b2-9d-17dynamic192.168.100.20000-50-ba-fa-59-fedynamic,带病毒的机器上显示的MAC地址是正确的,而且该机运行速度缓慢,因为所有流量在二层通过该机进行转发而导致,该机重启后所有电脑都不能上网,只有等arp刷新MAC地址后才正常,一般在2、3分钟左右。,C:WINNTsystem32arp-aInterface:192.168.100.1 on Interface 0 x1000004Internet AddressPhysical AddressType192.168.100.2300-50-da-8a-62-2cdynamic192.168.100.2400-50-da-8a-62-2cdynamic192.168.100.2500-50-da-8a-62-2cdynamic192.168.100.19300-50-da-8a-62-2cdynamic192.168.100.20000-50-da-8a-62-2cdynamic,病毒发作的时候,可以看到所有的ip地址的mac地址被修改为00-50-da-8a-62-2c,正常的时候可以看到MAC地址均不会相同。可以判定:192.168.100.24实际上为有病毒的机器,它伪造192.168.100.1的MAC地址。,该病毒不发作的时候,在代理服务器上看到的地址情况如下:C:WINNTsystem32arp-aInterface:192.168.100.1 on Interface 0 x1000004Internet AddressPhysical AddressType192.168.0.2300-11-2f-43-81-8bdynamic192.168.100.2400-50-da-8a-62-2cdynamic192.168.100.2500-05-5d-ff-a8-87dynamic192.168.100.19300-11-2f-b2-9d-17dynamic192.168.100.20000-50-ba-fa-59-fedynamic,解决办法:,一、采用客户机及网关服务器上进行静态ARP绑定的办法来解决。1在所有的客户端机器上做网关服务器的ARP静态绑定。(1)在网关服务器(代理主机)的电脑上查看本机MAC地址C:WINNTsystem32ipconfig/allEthernet adapter 本地连接2:Connection-specific DNS Suffix.:Description.:Intel(R)PRO/100BPCIAdapter(TX)Physical Address.:00-02-ba-0b-04-32Dhcp Enabled.:NoIP Address.:192.168.100.1Subnet Mask.:255.255.255.0,(2)在客户机器的DOS命令下做ARP的静态绑定C:WINNTsystem32arp s 192.168.100.1 00-02-ba-0b-04-32注:如有条件,建议在客户机上做所有其他客户机的IP和MAC地址绑定。,2在网关服务器(代理主机)的电脑上做客户机器的ARP静态绑定(1)在所有的客户端机器上查看IP和MAC地址。(2)在代理主机上做所有客户端服务器的ARP静态绑定。如:,C:winntsystem32arp s 192.168.0.23 00-11-2f-43-81-8bC:winntsystem32arp s 192.168.0.24 00-50-da-8a-62-2cC:winntsystem32arp s 192.168.0.25 00-05-5d-ff-a8-87,3以上ARP的静态绑定最后做成一个windows自启动文件,电脑一启动就执行以上操作,保证配置不丢失。,二、在交换机内进行IP地址与MAC地址绑定三、建议在客户机安装杀毒软件来解决此类问题:1、KAV(卡巴斯基),可杀除该病毒,病毒命名为:TrojanDropper.Win32.Juntador.c杀毒信息:07.02.200510:48:00C:DocumentsandSettingsAdministratorLocalSettingsTemporaryInternetFilesContent.IE5B005Z0K9Gear_Setup1.exeinfectedTrojanDropper.Win32.Juntador.c2、瑞星可杀除该病毒,病毒命名为:TrojanDropper.Win32.Juntador.f,IP地址冲突,用任意的MAC地址(非被攻击者真实的MAC地址)填充“发送端以太网地址”字段用被攻击者的IP地址填充“发送端IP”字段用被攻击者的真实MAC地址填充“目的以太网地址”字段用被攻击者的IP地址填充“目的IP”字段,ARP包类型为“2”当被攻击者收到这样的ARP应答后,就认为本机的IP地址在网络上已经被使用,弹出IP地址冲突对话框。,例:主机A要访问远程Web服务器的网页,它首先会通过网关与远程Web服务器建立TCP连接。主机B收到主机A发来的握手信息后,伪造握手信息发送给主机A。主机A收到握手信息后,以为与远程Web服务器成功建立了连接,于是发送HTTP请求。主机B收到HTTP请求后,发送含有恶意代码的网页脚本给主机A。然后,主机B向主机A和网关C发送包含正确绑定信息的ARP响应报文,使主机A能正常地访问外部网络。,ICMP的全称是Internet Control Message Protocol即网间控制报文协议。是一种发送各种消息报告网络状态的协议,而非仅仅是简单的ping(联通性测试程序)。大多数ICMP消息类型是IP、TCP和其它协议正常运行所需要的。,5.3 网络层协议攻击,Windows内核处理碎片路由器广播ICMP查询的方式导致TCP/IP中存在拒绝服务漏洞。匿名攻击者可以通过在网络上向计算机特制ICMP报文利用此漏洞,导致计算机停止响应和自动重新启动。利用此漏洞所必须的ICMP路由发现协议(RDP)不是默认启用的。,应对ICMP攻击,可以采取两种方法进行防范:第一种方法是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少;第二种方法就是在主机上设置ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。,IP协议,IP协议的作用:向传输层(TCP层)提供统一的IP包,将各种不同类型的MAC帧转换为统一的IP包,将MAC帧的物理地址变换为全网统一的逻辑地址(IP地址)。IP协议面向无连接,IP网中的节点路由器根据每个IP包的包头IP地址进行寻址,同一个主机发出的属于同一报文的IP包可能会经过不同的路径到达目的主机。,IP协议具有不可靠性和无连接性.不可靠性:无法保证所发送的数据报都能到达目的地.无连接性:可能由不同的路径到达目的地,先后次序也可能不同.,版本号 指出此报文所使用的I P协议的版本号,I P版本4(I P v 4)是当前广泛使用的版本。头长度 此域指出整个报文头的长度,接收端通过此域可以知道报文头在何处结束及读数据的开始处理。服务类型 大多数情况下不使用此域,这个域用数值表示出报文的重要程度,此数大的报文优先处理.总长度 这个域指出报文的以字节为单位的总长度。报文的总长度不能超过65 535个字节,否则接收方认为报文遭到破坏。,标识:假如多于一个报文(几乎不可避免),这个域用于标识出报文位置,分段的报文保持最初的I D号。标志:第一个标志如果被置0,将被忽略;假如DF(Do Not Fragment,不分片)标志设置,则报文不能被分片。假如MF(More Fragment,片未完)标志被置(1),说明有报文片段将要到达,最后一个片段的标志置0。偏移:假如标志域返回1,此域包括本片数据在初始数据报文区中的偏移量。生存时间:通常设为1 53 0秒。表明报文允许继续传输的时间。假如一个报文在传输过程中被丢弃或丢失,则指示报文会发回发送方,指示其报文丢失。发送机器于是重传报文。,协议:这个域指出处理此报文的上层协议号。校验和:这个域作为头数据有效性的校验。源地址:这个域指出发送机器的地址。目的地址:这个域指出目的机器的地址。,报文被分片,每个分片分别路由。各分片到达目的主机后重组。攻击者发送长度超过65 535个字节的ECHO请求数据包,目的主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。,Ping of Death攻击,泪滴(TearDrop)攻击,攻击者精心准备这样的数据包,让前后分片并非首尾相连,而是存在重叠现象。根据目的主机使用的内存管理机制的不同,将会引起系统重启或停机。泪滴(TearDrop)攻击针对的不是IP协议本身的问题,而是协议实现的漏洞。,IP欺骗攻击,IP欺骗:伪造数据包源IP地址的攻击。其实现的可能性基于两个前提:第一,目前的TCP/IP网络在路由数据包时,只判断目的IP地址,并不对源IP地址进行判断,给伪造IP包创造了条件;第二,两台主机之间,存在基于IP地址的认证授权访问,给会话劫持创造了条件。Unix平台的主机对外提供某些网络服务,都是基于简单的IP地址来进行认证的,最有代表性的就是rlogin、rsh、rcp等。当客户端要请求建立这些服务连接时,如果服务器主机上设置有/etc/hosts.equiv或$HOME/.rhosts这样的文件,往往就不需要进行身份验证。,以rlogin为例,客户端要登录到某个支持rlogin的服务器时,在远程主机上,如果系统文件/etc/hosts.equiv或该用户的主目录下.rhosts文件中设置了有关项时,则不需要再进行身份验证。基于这种简单的信任关系,攻击者只要知道哪台主机是受目标主机信任的,最好是对root用户的信任,就可以充分利用这种“漏洞”,冒充受信任主机。,例:假设现在有一个合法用户(1.1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须重新开始建立连接。攻击者伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务。,在IP欺骗模型中,存在三个角色:一个是攻击目标一个是被目标主机信任的一台“合法”主机第三个就是攻击者自己。,第一步:攻击者向被利用网络A的广播地址发送一个ICMP 协议的echo请求数据报,该数据报源地址被伪造成10.254.8.9,第二步:网络A上的所有主机都向该伪造的源地址返回一个echo响应,造成该主机服务中断。,Smurf攻击,Smurf攻击结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。攻击者向一个具有大量主机和因特网连接的网络的广播地址发送一个欺骗性Ping分组(echo 请求),这个目标网络被称为反弹站点,而欺骗性Ping分组的源地址就是希望攻击的目标。路由器接收到这个发送给IP广播地址(如10.254.8.9)的分组后,会认为这就是广播分组,并且把以太网广播地址FF:FF:FF:FF:FF:FF:映射过来。这样路由器人因特网上接收到该分组,会对本地网段中的所有主机进行广播。,由于多数系统都会尽快地处理ICMP传输信息,因些目标系统都很快就会被大量的echo信息吞没,从而引起拒绝为正常系统服务。这种攻击不仅影响目标系统,还影响目标公司的因特网连接。如果反弹站点具有T3连接(45Mbps),而目标系统所在的公司使用的是租用线路(56Kbps),则所有进出该公司的通讯都会停止下来。,面向连接的TCP(Transmission Control Protocol,传输控制协议):如HTTP、FTP等,对数据的可靠性要求较高,在使用这些服务时,必须保证数据包能够完整无误的送达;好比打电话时。面向无连接的UDP(User Datagram Protocol,用户数据包协议):如DNS、即时聊天工具等,并不需要这么高的可靠性,高效率和实时性才是它们所关心的。如写信。,5.4 传输层协议攻击,TCP协议,TCP协议位于传输层,是一个端对端、面向连接的协议。TCP协议能够保证在IP数据包丢失时进行重发,能够删去重复收到的IP数据包,还能保证准确地按原发送端的发送顺序重新组装数据;TCP协议能区别属于同一应用报文的一组IP数据包,并能鉴别应用报文的性质。这一功能使得某些高端路由器可以对IP数据包进行流量、优先级、安全管理、负荷分配和复用等智能控制。,TCP首部,1.源端口用于指示源端口的数值。2.目的端口用于指示目的端口的数值。3.序号数据段中第一个数据的序号。4.应答号 当A C K位被置之后,这个域包括下一个发送者想要接收到的序号,这个值总被发送。5.偏移这个数指示数据的开始位置。6.保留域保留域不被使用,但是它必须置0。,7.控制位控制位是以下各位:U(U R G)紧急指针域有效A(A C K)应答域有效P(P S H)p u s h操作R(R S T)连接复位S(S Y N)同步序号F(F I N)发送方已达字节末尾,8.窗口 这个域指示发送方想要接收的数据字节数,其开始于报文中的A C K域。9.校验和 校验和是报文头和内容按1的补码和计算得到的1 6位数。假如报文头和内容的字节数为奇数,则最后应补足一个全0字节,形成校验和,注意补足的字节不被送上网络发送。10.紧急指针 这个域指出紧急数据相对于跟在U R G之后数据的正偏移。11.选项 选项可能在头的后面被发送,但是必须被完全实现并且是8位长度的倍数。,常见的TCP协议知名端口:,(1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。(2)由于传输数据不建立连接,因此不需要维护连接状态,包括收发状态等,一台服务机可同时向多个客户机传输相同的消息。(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。,UDP协议,图2 UDP首部格式,图1 UDP数据报封装格式,TCP协议三次握手(Three-way Handshake):同步报文会指明客户端(甲方)使用的端口以及TCP连接的初始序号;服务器(乙方)在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加一。客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。,SYN Flood 攻击,处理方式:源地址确实有人使用,在接收到服务器的SYN+ACK报文后会发送一个RST报文标志位为00000100,通知服务端不需要等待一个无效的连接,源地址没有绑定在任何主机上,不会有任何设备去通知主机该连接是无效的,主机将不断重试直到SYNTimeout时间后才能丢弃这个无效的半连接,这正是TCP协议的缺陷。,SYN Flood攻击的实现,typedef struct tcphdr USHORT th_sport;USHORT th_dport;unsigned int th_seq;unsigned int th_ack;unsigned char th_lenres;unsigned char th_flag;USHORT th_win;USHORT th_sum;USHORT th_urp;TCP_HEADER;,typedef struct iphdr unsigned char h_verlen;unsigned char tos;unsigned short total_len;unsigned short ident;unsigned short frag_and_flags;unsigned char ttl;unsigned char proto;unsigned short checksum;unsigned int sourceIP;unsigned int destIP;IP_HEADER;,使用Raw Socket实现攻击的主要步骤如下:定义一个结构TCP_HEADER用来存放TCP首部。程序制造一个SYN的TCP报文。并将其标志位赋值为2(二进制的00000010)。同样定义一个IP_HEADER来存放IP首部。通过下列调用建立一个原始套接口。SockRaw=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,NULL,0,WSA_FLAG_OVERLAPPED)程序使用下列设置告诉操作系统自己填充首部。setsockopt(sockMain,IPPROTO_IP,IP_HDRINCL,(char*)&flag,sizeof(int)对IP部首和TCP部首自己计算校验和,否则,服务器收到数据包后发现校验和不对就会把数据包丢弃。IP校验和的算法是首先将IP首部的校验和字段设为0,然后计算整个IP首部(包括选项)的二进制反码的和。由于TCP首部中不包含源地址与目标地址等信息,为了保证校验的有效性,在进行TCP校验和的计算时,需要增加一个TCP伪首部的校验和。最后将IP部首和TCP部首复制到同一个缓冲区中,攻击程序就可以直接发送攻击包了。,攻击者发送具有相同 IP 源地址、目标地址和 TCP 端口号的伪造 TCP SYN 数据包信息流。该计算机系统将试图向自己发送响应信息,而受害系统将会受到干扰并会瘫痪或重启。Windows XP SP2 和 Windows 2003 的系统对这种攻击的防范还是非常薄弱的。Sun 的操作系统,BSD 和 Mac 对这种攻击的防范都是非常薄弱的。所有这些系统都共享基于 TCP/IP 协议栈的 BSD。,Land 攻击,“拒绝服务”的例子:LAND 攻击,攻击者172.18.1.1,目标204.241.161.12,欺骗性的 IP 包源地址 204.241.161.12 Port 139目的地址 204.241.161.12 Port 139TCP Open,G.Mark Hardy,攻击者172.18.1.1,目标204.241.161.12,IP包欺骗源地址 204.241.161.12 Port 139目的地址 204.241.161.12 Port 139包被送回它自己,G.Mark Hardy,“拒绝服务”的例子:LAND 攻击,“拒绝服务”的保护:代理类的防火墙,攻击者172.18.1.1,目标204.241.161.12,IP包欺骗源地址 204.241.161.12 Port 139目标地址 204.241.161.12 Port 139TCP Open,防火墙,防火墙把有危险的包阻隔在网络外,G.Mark Hardy,LAND 攻击的防御,服务供应商可以在边缘路由器的进入端口上安装过滤器对所有入内数据包的 IP 源地址进行检查,可以阻止发生在会聚点后的 LAND 攻击。如果该源地址的前缀在预先规定的范围之内,则该数据包被转发,否则被丢弃。,TCP会话劫持,根据TCP/IP中的规定,使用TCP协议进行通讯需要提供双方序列号,确保连接同步以及安全通讯,系统的TCP/IP协议栈依据时间线性地产生这些值。在通讯过程中,双方的序列号是相互依赖的。会话劫持的关键是预测正确的序列号,攻击者可以采取嗅探技术获得这些信息。,在每一个数据包中,都有两段序列号,它们分别为:SEQ:当前数据包中的第一个字节的序号ACK:期望收到对方数据包中第一个字节的序号假设双方现在需要进行一次连接:S_SEQ:将要发送的下一个字节的序号S_ACK:将要接收的下一个字节的序号S_WIND:接收窗口/以上为服务器(Server)C_SEQ:将要发送的下一个字节的序号C_ACK:将要接收的下一个字节的序号C_WIND:接收窗口/以上为客户端(Client)它们之间必须符合下面的逻辑关系,否则该数据包会被丢弃,并且返回一个ACK包(包含期望的序列号)。C_ACK=C_SEQ=C_ACK+C_WINDS_ACK=S_SEQ=S_ACK+S_WIND,当会话双方接收到一个不期望的数据包后,就会用自己期望的序列号返回ACK包;而在另一端,这个数据包也不是所期望的,就会再次以自己期望的序列号返回ACK包最终导致ACK风暴。先进行ARP欺骗,使双方的数据包“正常”的发送到攻击者,然后设置包转发,最后进行会话劫持。当然,并不是所有系统都会出现ACK风暴。比如Linux系统的TCP/IP协议栈就与RFC中的描述略有不同。,TCP会话劫持过程,假设现在主机A和主机B进行一次TCP会话,C为攻击者,劫持过程如下:A向B发送一个数据包SEQ(hex):X ACK(hex):YFLAGS:-AP-Window:ZZZZ,包大小为:60B回应A一个数据包SEQ(hex):Y ACK(hex):X+60FLAGS:-AP-Window:ZZZZ,包大小为:50A向B回应一个数据包SEQ(hex):X+60 ACK(hex):Y+50FLAGS:-AP-Window:ZZZZ,包大小为:40B向A回应一个数据包SEQ(hex):Y+50 ACK(hex):X+100FLAGS:-AP-Window:ZZZZ,包大小为:30攻击者C冒充主机A给主机B发送一个数据包SEQ(hex):X+100 ACK(hex):Y+80FLAGS:-AP-Window:ZZZZ,包大小为:20B向A回应一个数据包SEQ(hex):Y+80 ACK(hex):X+120FLAGS:-AP-Window:ZZZZ,包大小为:10,主机B执行攻击者C冒充主机A发送过来的命令,并且返回给主机A一个数据包;主机A并不能识别主机B发送过来的数据包,所以主机A会以期望的序列号返回给主机B一个数据包,随即形成ACK风暴。如果成功的解决了ACK风暴(例如前边提到的ARP欺骗),就可以成功进行会话劫持了。,DNS欺骗在浏览器中输入正确的URL地址,但是打开的并不是你想要去的网站。或者是114的查询页面,或者是互联星空的网站,或者一 个广告页面,或者是一个刷流量的页面,甚至是一个挂马的网站。极有可能你遭遇了DNS欺骗。,5.5 应用层协议攻击,例:URL地址:,DNS是,通过DNS查询来获得这个域名的IP地址。首先,会将解析请求发往它的DNS服务器。收到这个解析请求后,就开始解析工作了。请问,回答 com域名权威服务器IP是22.1.2.3。就会向22.1.2.3查询子域的DNS服务器的地址。子域的DNS是200.1.1.1。就得到的IP地址,再将该IP地址反还给请求解析的,的IP地址是200.1.1.1。,如果向的子域DNS服务器200.1.1.1查询的IP地址时,我们冒充200.1.1.1给的IP地址一个虚拟的地址,如202.109.2.2,这就会把202.109.2.2当的地址返还给了。当连时,就会转向那个虚假的IP地址,这样对来说,就算是给黑掉了。因为别人根本连接不上他的域名。,由于DNS服务器与其他名称服务器交换信息的时候并不进行身份验证,使得黑客可以将不正确的信息掺进来,并把用户引向黑客主机。建立大量流氓DNS服务器以引导用户更容易地进入恶意网站以收集流量。黑客常用僵尸电脑连成的网络(botnet),把大量的查询要求传至开放的DNS服务器。这些查询信息会假造得像是被巨量信息攻击的目标所传出的,因此DNS服务器会把回应信息传到那个网址。黑客用DNS服务器来发动攻击有多重好处,可隐匿自己的系统,让受害者难以追查攻击的原始来源,更可让攻击效果加倍。Baylor大学信息系教授Randal Vaughn说,单一的DNS查询,可启动比原始查询大73倍的回应。,DNS劫持,“519”15省市大断网,19日晚,大量暴风影音客户端的访问请求,被迫转向中国电信的DNS解析服务器,进而导致电信服务器大面积瘫痪,随后“网瘫”效应逐步扩大。5月28日,佛山网警侦查发现,黑客所在地分别位于南海大沥长虹岭工业园及狮山穆院一棉花厂,6月1日,徐小兵等4人落网,5台服务器被缴。蝴蝶只是扇了扇翅膀,不料却可能在某个彼岸,引发一场飓风。,徐小兵开始投资搞私服,经营网络游戏和广告,阿卿负责技术。徐小兵“初入江湖”,私服规模小,经常被其他经营者攻击,赚不了钱。于是他与阿卿“苦练内功”,又投资28万元租用了81台私服,专用来攻击其他私服。并在网上广发“英雄帖”寻找擅长“攻击”的内行人。帖子发出不久,一个网名叫“传奇一侠”的人回帖,表示愿意免费提供技术帮助。在东阳经营网络公司的“传奇一侠”,本人并非技术高手,不过他让技术员工阿刚(化名),连夜赶制了一套网上攻击程序,电邮给阿卿。5月18日晚7点左右,阿卿开始用这套程序发起攻击。这套攻击程序,采取“擒贼先擒王”战略,直接攻击私服网站的“领头羊”DNSpod服务器。,DNSpod是一个免费域名,主要为国内众多网站提供域名解析服务。其中便有暴风影音等知名网站。同时,DNSpod服务器还管理着很多私服,是众多服务器的首脑。一旦DNSpod受攻击瘫痪,其他私服都会受损。一场蝴蝶效应开始了。DNSpod服务器受攻击后,江苏省的电信部门为防止意外发生,立即关闭了DNSPod服务器。当时,这台服务器正在为10多万家地方门户网站、个人网站和企业网站提供域名解析服务,其中便包括暴风影音。19日晚,大量暴风影音客户端的访问请求,被迫转向中国电信的DNS解析服务器,进而导致电信服务器大面积瘫痪,随后“网瘫”效应逐步扩大。江苏、安徽、广西、海南、甘肃、浙江六省区的电信机房服务器受到攻击,网速变慢、断网甚至瘫痪。当地很多网民登录互联网时发现,无论大小网页,均不能访问。,这一现象逐渐蔓延至全国15个省市,波及面积之大,近年来都十分罕见。5月21日,工信部正式发表通报:由于“暴风影音”网站的域名解析系统受到黑客攻击,导致电信DNS服务器访问量突增,网络处理性能下降。,1.黑客刺探 域名服务商,2.入侵 www服务器,3,4.更新缓存指向伊朗黑客WEB网站IP5.同步 DNS服务器更新百度DNS记录缓存,百度被黑真相分析,正常的DNS请求和被劫持的DNS请求的对比A 正常的DNS请求流程为:(1)在浏览器输入http:/;(2)计算机将会向DNS服务器发出请求;(3)DNS服务器进行处理分析得到http:/的相应地址为119.xxx.209.xxx;(4)DNS将把IP地址119.xxx.209.xxx返回到发出请求的计算机;(5)你正常登录到http:/的网站。B 被DNS欺骗以后的DNS请求为:(1)在浏览器输入http:/;(2)计算机将会向DNS服务器发出请求(注意:实际上你发起的请求被发送到了攻击者那里);(3)攻击者对请求处理进行伪造DNS回复报告,返回给计算机的是攻击者指定的IP地址;(4)你登录到的网站实际上不是http:/,而是掉进了攻击者设计好的“陷阱网站”。,解析DNS报文,格式:,标识(id),用来签证每个DNS报文的印记,由客户端设置,由服务器返回,它可以让客户匹配请求与响应。当客户向一台服务器发送请求服务时,服务器会根据客户的 IP地址反向解析出该IP对应的域名。这种反向城名解析就是一个查DNS(域名解析服务器)的过程。我们换一下思路,如果服务器在进行DNS查询时能够人为地给它我们自己的应答信息,那么结果会怎样呢?,http:/.auticon-,骗招:高仿URL地址手法:当你在网上发出求购信息之后,骗子主动用QQ联系你,然后骗子会将一个以假乱真的网络地址发给你,你或许认为那是淘宝的网站,其实那只是骗子的高仿URL地址。高仿购物网站的骗子非常注意网址的仿真性,他们会利用淘宝网站链接地址中含有的字符串名称申请域名,然后在字符串名称前面加入这样接近淘宝网站的迷惑性字符作为二级域名,已达到让人信以为真的目的。制作一个高仿域名的手法极为简单,只需要申请一个网站,然后利用网站管理程序添加二级域名即可,目前高仿诈骗中的骗子非常钟爱新网的域名管理系统。骗子在QQ中发来的地址前方会带一个?号的盾牌标志,而真正的淘宝地址,则会出现一个绿色带着对勾的盾牌标志,这是QQ提供的信任网站检测功能。,强化 TCP/IP 堆栈安全,Microsoft Windows 2000 Server 和 Windows 2000 Advanced Server在 Windows 注册表内配置各种 TCP/IP 参数,可以保护服务器免遭网络级别的拒绝服务攻击,包括