科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道网络协议欺骗攻防小结

网络协议欺骗攻防小结

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在网络的虚拟环境中和现实中一样,各种各样的人都有,各种各样的欺骗技术也都横行。笔者最近闲来无事总结了一下常见的欺骗技术和防范的方法。希望对广大读者有所帮助……

作者:万亿 来源:IT168 2008年4月21日

关键字: IP欺诈 攻击防范

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  在网络的虚拟环境中和现实中一样,各种各样的人都有,各种各样的欺骗技术也都横行。笔者最近闲来无事总结了一下常见的欺骗技术和防范的方法。希望对广大读者有所帮助。

  一、ARP欺骗

  ARP协议用于IP地址到MAC地址的转换,此映射关系存储在ARP缓存表中,若ARP缓存表被他人非法修改,则会导致发送给正确主机的数据包发送给另外一台由攻击者控制的主机。ARP欺骗(ARP spoofing),也叫ARP毒药(ARP poison),即可完成这些功能。

  假设攻击者和目标主机在同一个局域网中,并且想要截获和侦听目标主机到网关间的所有数据。当然,对于使用集线器的局域网环境,攻击者只需要把网卡设置为混杂模式即可。但是现在的局域网都是交换机了,不仅可以提高局域网的容量,而且可以提高安全性。在这种情况下,攻击者首先会试探交换机是否存在失败保护模式(fail-safe mode),是交换机所处的特殊模式状态。交换机维护IP地址和MAC地址的映射关系时会花费一定处理能力,当网络通信时出现大量虚假MAC地址时,某些类型的交换机会出现过载情况,从而转换到失败保护模式。若交换机不存在失败保护模式,则需要使用ARP欺骗技术。

  攻击者主机需要两块网卡,IP地址分别是192.168.0.5和192.168.0.6,插入交换机的两个端口,准备截获和侦听目标主机192.168.0.3和路由器192.168.0.1之间的所有通信。另外攻击者主机还需要有IP数据包转发功能,此项功能在Linux下只需要执行命令echo 1> /proc/sys/net/ipv4/ip_forward就可以。以192.168.0.4的网络通信为例,正常的ARP转换如下:

  1.主机A192.168.0.4想要与路由器192.168.0.1通信,从而接入Internet。

  2.主机A以广播的方式发送ARP请求,希望得到路由器的MAC。

  3.交换机收到ARP请求,并把此请求发送给连接到交换机的各个主机。同时,交换机将更新它的MAC地址和端口之间的映射表,即将192.168.0.4绑定它所连接的端口。

  4.路由器收到A的ARP请求后,发出带有自身MAC地址的ARP响应。

  5.路由器更新ARP缓存表,绑定A的IP地址和MAC地址。

  6.交换机收到了路由器对A的ARP响应后,查找它的MAC地址和端口之间的映射表,把此ARP响应数据包发送到相应的端口。同时,交换机更新它的MAC地址和端口之间的影射表,即将192.168.0.1绑定它所连接的端口。

  7.主机A收到ARP响应数据包,更新ARP缓存表,绑定路由器的IP地址和MAC地址。

  8.主机A使用更新后的MAC地址信息把数据发送给路由器,通信通道就此建立。

  ARP欺骗需要攻击者迅速地诱使目标主机192.168.0.3和路由器192.168.0.1都和它建立通信,从而使自己成为中间人MiM(Man in Middle)。换句话说,攻击者的主机此时相当于一个被攻击者完全控制的路由器,目标主机和路由器之间的所有数据通信都要由攻击者主机转发,攻击者也就能对数据作各种处理。要达到同时欺骗目标主机和路由器的目的,攻击者应打开两个命令界面,执行两次ARP欺骗:一次诱使目标主机认为攻击者的主机有路由器的MAC地址,这可以利用IP地址欺骗技术,伪造路由器的IP地址,从攻击者主机的一块网卡上发送给目标主机ARP请求包,则错误的MAC地址和IP地址的映射将更新到目标主机;另一次使路由器相信攻击者的主机具有目标主机的MAC地址,方法和前面相似。

  ARP欺骗的防范:

  中毒的网络,就会一直有发送arp病毒包的,这些arp病毒包会误导你的机器对网关mac地址的解析。所以需要绑定mac地址。两种方法:

  1、列出局域网内所有机器的MAC地址。

  # arpAddress HWtype HWaddress Flags Mask Iface

  192.168.1.1 ether 00:07:E9:2A:6F:C6,然后,绑定MAC地址, #arp -s 192.168.1.1 00:07:E9:2A:6F:C6

  注意:假如用户的网关设置了hostname的话,这里192.168.1.1就有可能需要换成hostname。

  2、创建一个/etc/ethers文件,比如你要绑定网关,那就在/etc/ethers里写上:192.168.1.1 00:07:E9:2A:6F:C6,然后执行 #arp -f ,每次重启机器后需要重新绑定MAC地址。

  另外,mac地址的绑定需要双向的,即机器a绑定了机器b,机器b也要绑定机器a,这样arp病毒才会被彻底挡住。

  二、IP地址欺骗

  IP地址欺骗就是攻击者假冒他人IP地址,发送数据包。因为IP协议不对数据包中的IP地址进行认证,因此任何人不经授权就可以伪造IP包的源地址。

  IP包一旦从网络中发送出去,源IP地址就几乎不用,仅在中间路由器因某种原因丢弃它或到达目标端后,才被使用。这使得一个主机可以使用别的主机的IP地址发送IP包,只要它能把这类IP包放到网络上就可以。因而,如果攻击者把自己的主机伪装成被目标主机信任的好友主机,即把发送的IP包中的源IP地址改成被信任的友好主机的IP地址,利用主机间的信任关系和这种信任关系的实际认证中存在的脆弱性(只通过IP确认),就可以对信任主机进行攻击。注意其中所说的信任关系是指一个被授权的主机可以对信任主机进行方便的访问。例如Unix中的所有的R*命令都采用信任主机方案,所以一个攻击主机把自己的IP改为被信任主机的IP,就可以连接到信任主机,并能利用R*命令开后门达到攻击的目的。

  想要实现IP地址欺骗要注意以下两个问题:

  1.因为远程主机只向伪造的IP地址发送应答信号,攻击者不可能收到远程主机发出的信息,即用C主机假冒B主机IP,连接远程主机A,A主机只向B主机发送应答信号,C主机无法收到;

  2.要在攻击者和被攻击者之间建立连接,攻击者需要使用正确的TCP序列号。

  攻击者使用IP地址欺骗的目的主要有两种:

  1.只想隐藏自身的IP地址或伪造源IP和目的IP相同的不正常包,而并不关心是否能收到目标主机的应答,例如IP包碎片、Land攻击等;

  2.伪装成被目标主机信任的友好主机得到非授权的服务。解决办法:目前最理想的方法是使用防火墙,防火墙决定是否允许外部的IP数据包进入局域网,对来自外部的IP数据包进行检验。假如来自外部的数据包声称有内部地址,它一定是欺骗包。如果数据包的IP地址不是防火墙内的任何子网,它就不能离开防火墙。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章