ARP欺骗攻击分析

ARP欺骗攻击分析

概念

ARP欺骗(英语:ARP spoofing),又称ARP毒化ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议ARP)的一种攻击技术。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定电脑或所有电脑无法正常连线。最早探讨ARP欺骗的文章是由Yuri Volobuev所写的《ARP与ICMP转向游戏》(ARP and ICMP redirection games

以上是引用WIKI上对ARP欺骗的概念

ARP协议

ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。

ARP协议工作流程

主机A的IP地址为IP1,MAC地址为MAC1;

image-20211024150044877

主机B的IP地址为IP2,MAC地址为MAC2;

image-20211024150138994

当主机A要与主机B通信时,地址解析协议可以将主机BIP地址解析成主机BMAC地址,以下为工作流程:

  1. 根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。

  2. 如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的MAC地址,从而将ARP请求帧广播到本地网络上的所有主机。并且源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求

    image-20211024150921719

  3. 主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中

  4. 主机B将包含其MAC地址的ARP回复消息直接发送回主机A

    image-20211024150950345
  5. 当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存

    image-20211024151030708
  6. 确定了主机B的MAC地址,主机A就能向主机B发送IP通信了

ARP协议缺陷

ARP协议信任以太网所有的节点。没有保证以太网内部信息传输的安全的方式,而且不会检查自己是否接受或发送过请求包,只要它就收到的arp广播包,直接将应答包里的IP-MAC替换掉原有的ARP缓存表里的相应信息

ARP攻击

  1. ARP欺骗导致断网
  2. 中间人攻击

原理

前提:进行arp的前提是攻击机与受害机处于同一内网

  1. 攻击机进行流量嗅探,只要嗅探到两个主机的arp Request,假设为[ip1,mac1],[ip2,mac2] 便可以开始arp攻击
  2. 攻击机[ip3,mac3]返还一个arp Reply数据包给受害机,其中的内容为[ip1,mac3]
  3. 受害机收到arp Reply数据包后,更新它自己的arp表为[ip1,mac3]

原本正常的网络请求是主机将外网请求包发送给网关(路由器)再由网关将数据包转发给外网,被arp欺骗后变成了主机将外网请求包发送给攻击机,那么这种情况下,攻击机便可以拦截,嗅探或者是修改数据包以达到不同的攻击目的。

实验

ARP欺骗导致断网

  1. 查看攻击机内网ip

  2. 扫描内网网段

    nbtscan -r 192.168.0.0/24

    image-20211024154326592

    由此可以得到内网网段中有一个IP为192.168.0.131的Windows主机,下面是”受害者“虚拟机名称

    image-20211024154726489
  3. 登录”受害者“虚拟机

    ping baidu.com

    image-20211024155226576

    image-20211024155258870

    image-20211024161751524

    由此可以得出现在”受害者“虚拟机的网络访问是没有问题的,而且防火墙也是开启的

  4. 使”受害者“持续与baidu.com测试连接

    ping baidu.com -t 

    image-20211024160827252

    通信正常

  5. 攻击机开始对”受害者“进行ARP欺骗攻击

    arpspoof -i eth0 -t 192.168.0.131 192.168.0.2
    # -i参数指定攻击机的某一张网卡来进行攻击,
    # -t第一个ip指定受害机的ip
    #   第二个ip为内网网关(一般来说是路由器)的ip
    #    第一个参数可以通过扫描确定,第二个参数可以通过(netstat -rn)进行查看

    image-20211024161348163

    image-20211024161427578

    image-20211024161508682

    通信出现异常

  6. 停止攻击

    image-20211024161616146

    通信恢复

由此可以看出即使本地防火墙开启的状态下也能通过ARP欺骗是目标机器断网

嗅探受害机的网络数据包

在真实的攻击中,使受害机断网对攻击者来说并没有什么益处,最多就是恶心一下受害者而已

想要能够嗅探受害机的网络数据包,“受害机”还是肯定要能进行正常的网络连接的

想要达到目的,我们就要使得我们的kali具备类似路由器的功能,将受害机发来的网络请求包转发给真实的网关,再由真实的网关转发到外网,接收返回包的过程同理可得

能够使用如下命令暂时开启kali的路由转发功能

echo 1 > /proc/sys/net/ipv4/ip_forward #0代表不开启路由转发功能

此时能够发现在运行ARP欺骗的同时,受害机的网络连接也恢复到正常了,说明攻击机的路由转发功能已成功开启

image-20211024161427578

image-20211024160827252

  1. 使用wireshark对eth0进行抓包

    image-20211024165644668
  2. 打开受害机随便访问一个登陆网页(随便写的)并输入用户名和账户,登录

    用户名:admin 密码:123456

    image-20211024165928433
  3. 分析wireshark抓到的流量包

    image-20211024165533020
  4. 得到刚刚输入的明文用户名、密码

  5. 嗅探受害机的网络数据包完成

保护

  • 静态ARP
  • DHCP Snooping
    • 网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到
  • 利用一些软件监听ARP的不正常变动
  • ...
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇