1、第二节假消息攻击利用不可靠的协议本节主要内容一、假消息攻击概述二、ARP欺骗三、ICMP重定向四、IP欺骗五、DNS欺骗假消息攻击n假消息攻击利用网络协议设计中的缺陷,通过发送伪造的数据包达到欺骗目标、从中获利的目的。 Q:n哪些协议设计问题是容易受到攻击的呢?数据发送应用层应用层传输层传输层网络层网络层主机网络层主机网络层应用程序操作系统操作系统网络设备应用数据应用数据TCP头应用数据TCP头IP头应用数据TCP头IP头帧头网页访问内部网络外部网络GET HTTP:/正确的TCP包头正确的IP包头正确的MAC帧头您的主机:建立TCP连接n要访问上的数据,必须首先和服务器建立起连接。正确的TC
2、P包头正确的IP包头正确的MAC帧头TCP包头nTCP包头部分包括源端口、目的端口、TCP标志、TCP选项等内容。正确的TCP包头正确的IP包头正确的MAC帧头源端口:4039目的端口:80FLAGS:SYNIP包头nIP包头部分包括源IP地址、目的IP地址、IP标志等内容。正确的TCP包头正确的IP包头正确的MAC帧头源IP:202.196.53.8目的IP:? ? ?目的IP:162.105.203.114n目的IP地址通过DNS解析确定。MAC帧头nMAC帧头部分包括源MAC地址、目的MAC地址以及上层协议类型等内容。正确的TCP包头正确的IP包头正确的MAC帧头源MAC:00-06-2
3、9-b3-4c-49 目的MAC:? ? ?主机路由表nroute print显示当前主机的路由表信息。= Active Routes:Network Destination Netmask Gateway Interface 0.0.0.00.0.0.0 202.196.53.254 202.196.53.8 127.0.0.0 255.0.0.0 127.0.0.1 27.0.0.1 202.196.53.0 255.255.255.0 202.196.53. 8 202.196.53.8 202.196.53. 8 255.255.255.255 127.0.0.1 127.0.0.1
4、Default Gateway: 202.196.50.254=nDestIP & Netmask = Network Destination,选择相应的Interface和Gateway发送数据162.105.203.114ARP解析nArp命令显示了本机的arp缓存。 Internet Address Physical Address Type 202.196.53.254 00-e0-4c-de-04-26dynamic 202.196.53.57 08-00-46-60-8d-3a dynamicC:arp -a连接的MAC帧头部分n由路由表信息和ARP缓存信息,可以确定帧头的目的MA
5、C地址域正确的TCP包头正确的IP包头正确的MAC帧头源MAC:00-06-29-b3-4c-49 目的MAC:? ? ?目的MAC: 00-e0-4c-de-04-26目标IP地址路由IP地址目标MAC地址TCP三次握手客户机 服务器 发送SYN seq=x 接收SYN报文发送SYN seq = y,ACK ack = x+1 接收SYN+ACK发送 ACK ack = y+1 接受ACK报文段发送HTTP请求n在连接建立后,才正式发送url请求。GET HTTP:/源端口:4039目的端口:80正确的TCP包头正确的IP包头正确的MAC帧头源IP:202.196.53.8目的IP:162.
6、105.203.114源MAC:00-06-29-b3-4c-49 目的MAC: 00-e0-4c-de-04-26几个关键性的过程nDNS解析过程n路由决定过程nARP解析过程几种假消息攻击手段nARP欺骗nICMP重定向nIP欺骗nDNS欺骗第二节 假消息攻击一、假消息攻击概述二、ARP欺骗三、ICMP重定向四、IP欺骗五、DNS欺骗ARP协议n数据链路层使用MAC地址进行定址nARP协议用来将在需要时完成IP地址和MAC地址的映射ARP请求和应答ARP数据包格式nOperation Code域区分这个该包是ARP/RARP请求/应答, ARP缓存n并不是每次对IP地址的解析都是通过ARP
7、请求和应答来完成的。nARP请求是一种广播包,为了提高网络的效率,每台主机使用一个数据结构保存最近使用过MAC地址,即ARP缓存ARP解析过程n我们可以用一段简单的伪程序语言描述ARP的解析过程While (true)if ( FoundInBuff( ip ) )break;else SendArp( ip )UpdateBuff( ip, mac )进一步提高网络效率n响应ARP请求的主机将请求者的IPMAC映射缓存n主动的ARP应答会被视为有效信息接受ARP请求和应答B在向外发送应答时会将A的MAC地址保存到缓存即使A没有提出ARP请求,B的ARP应答也会被A所接受,并把B的MAC地址保
8、存到缓存ARP欺骗n发送错误发送者MAC地址的ARP请求n发送错误发送者MAC地址的ARP应答ARP欺骗攻击的作用nARP欺骗将用错误的IPMAC地址映射污染主机的ARP缓存n主机丧失与某IP主机的通信能力防范n使用静态ARP缓存表项第二节 假消息攻击一、假消息攻击概述二、ARP欺骗三、ICMP重定向四、IP欺骗五、DNS欺骗路由表n在通常情况下,主机的路由表根据计算机的当前TCP/IP配置自动建立。 网络ICMP重定向n在同一局域网内有两个以上路由时,路由可以发送ICMP重定向帮助主机使用最佳路径外部网络目标IP:202.196.50.2目标端口:UDP 7数据从R2走会较近外部网络202.
9、196.50.2ICMP重定向欺骗nICMP重定向数据包会更新主机的路由表信息。n如果冒充网关的身分向主机发送ICMP重定向报文,就可以让该主机与指定目标的通信发送到本机进行中转。危害nICMP重定向可以辅助交换式局域中的嗅探网络从B路由更近主机B主机A外部网络路由器防范n使用主机防火墙阻塞ICMP重定向报文第二节 假消息攻击一、假消息攻击概述二、ARP欺骗三、ICMP重定向四、IP欺骗五、DNS欺骗更准确的三次握手描述nTCP包使用seq域和ack域的值来确保每个字节都能准确地送达目的地。客户机 服务器 发送SYN 接收SYN 报文 发送SYN/ ACK 接收SYN+ACK发送 ACK接受A
10、CK 报文段 seq=xseq = y, ack = x+1 ack = y+1IP欺骗n正确预测服务器响应中的序列号y是IP欺骗的关键攻击主机Z服务器B接受ACK使用主机A的IP发送SYNseq=x接收SYN 报文 发送SYN/ ACK seq = y, ack = x+1 ack = y+1信任主机A使用主机A的IP发送ACK服务拒绝服务拒绝IP欺骗攻击n利用IP欺骗可以对rlogin等基于源IP地址信任关系的服务进行攻击。n使用IP欺骗的思想,还可以产生其它的攻击形式,比如冒充服务器对客户机进行攻击。防范n禁用基于IP源地址信任的服务第二节 假消息攻击一、假消息攻击概述二、ARP欺骗三、
11、ICMP重定向四、IP欺骗五、DNS欺骗DNSnDNS(Domain Name Service)是域名系统的缩写, 它是嵌套在阶层式域结构中的主机名标记方法。 Internet根服务器负责管理Internet根和高级域DNS域名系统n域名系统是一个树形结构comnetorgedumil根根govintmicrosoftwwwexampleHost_aHost_DNS查询过程WEB浏览器DNS客户机(解析器)客户机到服务器的查询服务器到服务器的查询DNS解析器缓存DNS服务器区域DNS服务器缓存其它DNS服务器Q1A1Hosts文件Q2A2根提示文件(cache dns)Q3Q4Q5A3A4A5DNS会话的验证nDNS查询和应答是基于UDP的应用n验证不同的查询/应答是依靠报文中的标识段(ID)DNS欺骗n在局域网环境中,DNS欺骗很容易实现n在广域网环境中,DNS欺骗的难点在于对DNS请求包中的标识的预测DNS欺骗防范n通过构造并使用静态的hosts列表,可以防范DNS欺骗nWindows NT的system32/drivers/etc/hosts文件来建立这样的静态表。