基于P2P终结者的ARP欺骗攻击实验

ARP协议

TCP/IP协议栈中,最不安全的协议莫过于是“ARP协议”了。

ARP(Address Resolution Protocol 地址解析协议)用于实现从IP地址到MAC地址的映射。

ARP协议的不安全性的原因是:它是建立在局域网中所有主机完全信任的基础上的,即其前提为所有在局域网中传送的ARP数据包都是正确。那么一旦局域网中存在着恶意或者非法者,就会出现网络安全隐患。当攻击源向局域网中大量发送虚假的ARP信息后,就会造成局域网中的机器ARP缓存的崩溃或主机ARP缓存信息错误。


ARP协议工作原理

(注:图片摘于网上)

当两台主机PC1和PC2需要通信时,需要填写源IP地址(IP1)、源MAC地址(MAC1)和目的IP地址(IP2)、目的MAC地址(MAC2)。

当数据包在发送方(PC1)进行封装时,并不知道接收方(PC2)的MAC地址,只知道PC2的IP地址。此时ARP协议就开始起作用了。

在这里插入图片描述
发送方(PC1)会在局域网内发送ARP请求包,广播询问:我的IP地址是IP1,MAC地址是MAC1,请问谁是IP2,IP2对应的MAC地址是多少?
IP地址为IP2的主机接收到该广播包后即单播回复:我的IP地址为IP2,我的MAC地址是MAC2。并且在ARP缓存表中存储IP1—MAC1的映射关系

最后在PC1封装时,即可将MAC2填入数据包中进行传输。并且在PC1的ARP缓存表中会存储 IP2—MAC2 的映射关系,方便下次传输数据包。

注:一般情况下,只有IP地址对应的主机才会回复广播包,其余主机一般都将广播包丢弃;而ARP应答数据包是采用单播,因为在ARP请求包中带有源IP地址和源MAC地址;被询问者PC2会先生成ARP映射信息,然后才是询问者PC1。


ARP数据包解析(通过WireShark抓取)

  • ARP请求包(广播)
    ARP请求包

  • ARP回应包(单播)
    ARP回应包

ARP协议字段解读
  • Hardware type :硬件类型,标识链路层协议
  • Protocol type: 协议类型,标识网络层协议
  • Hardware size :硬件地址大小,标识MAC地址长度,这里是6个字节(48bti)
  • Protocol size: 协议地址大小,标识IP地址长度,这里是4个字节(32bit)
  • Opcode: 操作代码,标识ARP数据包类型,1表示请求(request),2表示回应(reply)
  • Sender MAC address :发送者MAC
  • Sender IP address :发送者IP
  • Target MAC address :目标MAC,此处全0表示在请求,尚不知道目标MAC地址
  • Target IP address: 目标IP

ARP攻击原理

ARP攻击
PC1跟PC2通信,通过ARP请求包询问PC2的MAC地址,因为ARP请求包是采用广播形式,故交换机会将ARP请求包向各个接口转发。

正常情况下,若收到的ARP请求包中的IP地址与自己不符,会直接丢弃。但这里的PC3在监听后,发送了ARP回应包:我的IP地址是IP2,我的MAC地址是MAC3。形成了 IP2—MAC3的错误映射。

同时,PC2在收到给自己的ARP请求包时也会回应,故PC1会收到两个ARP回应包,分别是

  • 来自PC2的回应包:我是PC2,我的IP地址是IP2,我的MAC地址是MAC2
  • 来自PC3的回应包:我是PC2,我的IP地址是IP3,我的MAC地址是MAC3

ARP缓存遵循的是“后到优先原则”,即会以最后一个得到的最新的ARP回应包作为缓存内容。而攻击者(PC3)只需要不断的发送ARP欺骗包,就能覆盖PC2的回应包,从而在PC1中形成 IP2—MAC3 的错误映射。

之后当PC1要与PC2通信时,在目的MAC中填写的就是MAC3,而交换机会根据MAC缓存将数据包发送给PC3,从而形成ARP攻击。


ARP攻击实验

工具:P2P终结者、VMware虚拟机、WireShark抓包软件。

网络:Windows Server 2003(IP:192.168.229.132、MAC:00-0C-29-EF-11-33);Windows XP(IP:192.168.229.130、00-0C-29-FF-E1-B2)、网关(IP:192.168.229.2)

流程:在Windows Server 2003上运行了P2P终结者进行ARP攻击,并通过WireShark抓包窃取局域网内其他用户的信息。


1. 打开P2P终结者,选择网卡;打开WireShark,选择相应的网卡进行监听

在这里插入图片描述

2. 点击扫描网络,获取本局域网内的主机信息

扫描网络

此时可在WireShark中抓取到大量的ARP请求包
在这里插入图片描述

此时两主机的ARP缓存如下

  • Windows Server 2003
    Windows Server 2003 ARP缓存表信息

  • Windows XP
    Windows XP ARP缓存表信息

3. 点击启动提速,会发送大量的ARP欺骗包,欺骗他人说:我(Windows Server 2003)就是网关,即把该局域网内的所有主机ARP缓存中的网关的MAC改为攻击者的MAC,导致所有发往网关的数据报都会先流过攻击者的网卡,攻击者可用WireShark获取当中的信息

启动提速

可在WireShark中抓取到大量的ARP欺骗包
即网关(192.168.229.2)的MAC地址是攻击者主机的MAC地址
ARP欺骗包

此时观察Windows XP的ARP缓存表,发现网关(192.168.229.2)的MAC地址已经变为了攻击者(Windows Server 2003)的MAC地址

4. 在Windows XP中ping 114.114.114.114,Windows Server 2003(攻击者)可使用WireShark通过ICMP过滤在Windows Server 2003的网卡中获取来自Windows XP(源IP地址是192.168.229.130)的数据包

在这里插入图片描述

5. 在Windows XP上输入telnet route-server.ip.att.net 登录国外的一台公共服务器,输入账号:rviews;密码:rviews。

输入账号密码
在Windows Server 2003上过滤telnet,并使用“follow tcp stream”功能可窃取到Windows XP用户输入的账号密码
窃取账号密码
窃取账号密码

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值