zoukankan      html  css  js  c++  java
  • ARP欺骗攻击

    一、ARP攻击概述

    ARP攻击主要是存在于局域网中,通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

    二、ARP攻击原理

    (1) 了解简单网络拓扑

    (2) 实验条件:PC1 ping PC2 进行简单通信

    网络正常条件下PC1与PC2之间通信的ARP包正常,简单的拓扑结构如下,详细分析请参考上一篇文章《ARP协议分解

    那么当网络不正常的情况下又会出现什么情况呢,假设PC3这台主机安装了ARP攻击软件或遭受ARP病毒,成为这个网络的攻击者(hacker),接下来,PC3是如何攻击的?

    一般在正常情况下,若主机收到的ARP请求不是给自己的,则直接丢弃;而这里PC3(Hacker)在监听之后,发起了ARP回应包:我就是PC2并把自己的MAC地址封装在MAC帧里面(IP2---MAC3)。

    从上面的拓扑中可以看出,PC3明明是IP3对应MAC3,很显然这就是一个ARP欺骗行为。于此同时,PC2正常的ARP回应包也交到了PC1手中,由于PC2、PC3的响应包都回到了PC1,接下来我们来看看PC1是如何处理这种问题的

    PC1广播之后收到的两个ARP回应包,内容分别如下:

               PC2包:我是PC2,我的IP地址是IP2,我的MAC地址是MAC2;

               PC3包:我是PC2,我的IP地址是IP2,我的MAC地址是MAC3;

    由于PC2是两个MAC,那么PC1该怎么选择呢:是接受先来的响应包 (遵循先到先得原则)、还是接受后来的响应包 (遵循后到优先原则)

    为了解决这些问题,这里给大家介绍一下网络协议里各种表在处理缓存信息的方式:

              ARP表  :后到优先原则

              CAM表  :后到优先原则

              DHCP表:先到先得原则

    那么问题来了,上面两个ARP回应包到底哪个先到哪个后到呢?其实不用去管这些东西,只要PC3不断的向PC1发送欺骗包(利用稳健的ARP嗅探/渗透工具)就一定可以覆盖掉PC2的正常回应包,最后PC1的ARP表中一定存放的是IP2和MAC3的映射关系

    为了方便下面的讲解,这里介绍一下拓扑中的SW(交换机)特点:

            交换机通信需要查找CAM表(路由器则查找Route表)

            CAM表:mac<->port  (Route表:route<->port)

            交换机基于源MAC地址学习,基于目的MAC地址转发

    当拓扑结构中的三台主机相互之间通信经过交换机时,由于交换机具有学习功能(不同于早期的集线器hub),所以在交换机上会生成一CAM表(记录MAC地址与接口对应信息),如下拓扑:

    在这里,根据数据封装规则,当PC1要跟PC2进行通信时,无论是发生PING包还是发送其他数据,首先要查找ARP表,然后在网络层打上源目IP,在链路层打上源目MAC,然后将数据包发送给交换机。交换机收到之后对数据进行解封装,并且查看CAM表(基于目的MAC转发),由于目标MAC3对应Port3,所以交换机将其转发给PC3,就这样,PC1本来要发给PC2的数据包,落到了PC3手里,这就完成了一次完整的ARP攻击。反过来,如果PC2要将数据包发送给PC1,PC3仍然可以以同样的ARP欺骗实现攻击。当PC2与PC1通信也受到PC3的攻击时,那么PC1与PC2这间所通信的数据都经过PC3,再由PC3进行转发出去。

    这种ARP攻击(中间人投毒)在局域网内的危害也是很大的,如:断网攻击,个人账号密码的窃取(在这里指出:任何基于明文传输的应用,都可以被窃取,除了http(web应用),常见的还有telnet、ftp、pop3/smtp/imap(邮箱)等应用,都很容易泄露密码)··············

    三、真实环境下的ARP攻击

    注:下面画的路由器Route相当于WiFi形成的是局域网,PC1和PC2接入WiFi,在同一个内网下,并不是存在于两个网络中

    (1) 正常网络环境下的拓扑:

    (2) 非正常网络下,潜伏在内网中的hacker(PC2)发起ARP攻击:

    hacker发出的欺骗包有两种:

        (1) PC1:PC2不断的向PC1发送欺骗包,欺骗其为网关路由,最后导致PC1的ARP表遭到攻击;

        (2) Route:PC2不断的向Route(网关路由)发送欺骗包,欺骗其为PC1;

    最终PC1&网关路由都受到hacker(PC2)的欺骗,导致PC1与网关路由的交互、通信流量都会经过PC2(PC1也就相当于是在裸奔上网),这个时候PC1会受到hacker的许多攻击:断网攻击、个人账号密码被窃取、上网浏览信息泄露················,简单拓扑如下:

    (3) 结合wireshark在真实网络环境下进行分析,此处hacker利用(arpspoof)ARP攻击工具进行攻击

    PC1:IP1   192.168.43.95     MAC1  00-0C-29-02-AC-6F

    PC2:IP2   192.168.43.150   MAC2  00-0c-29-3b-8e-bc

    Route:IP3  192.168.43.1

    PC2对PC1的欺骗:arpspoof -i eth0 -t 192.168.43.95 192.168.43.1

    PC2对Route的欺骗:arpspoof -i eth0 -t 192.168.43.1 192.168.43.95

    此时毫无察觉的PC1正在享受来自hacker的攻击:

    @@@@  PC1正在高兴的登陆一个网站,殊不知自己的个人账号密码已经被hacker(PC2)窃取

    hacker通过流量分析窃取PC1的个人账号密码

    @@@@  登陆网站之后,PC1开始舒适的去浏览自己喜欢图片,当自己越看越开心的时候,却不知道自己早已经被hacker所监视

    hacker通过分析&提取PC1上网的图片流量就可以得到PC1正在浏览那些图片,这里hacker借助工具(driftnet)

  • 相关阅读:
    火狐插件火狐黑客插件将Firefox变成黑客工具的七个插件
    memcache安装环境:WINDOWS 7
    PHP正则表达式
    968. 监控二叉树 力扣(困难) dfs 官方说DP
    375. 猜数字大小 II 力扣(中等) 区间动态规划、记忆化搜索
    629. K个逆序对数组 力扣(困难) 区间动态规划
    剑指 Offer 51. 数组中的逆序对 力扣(困难) 巧用归并排序算法
    488. 祖玛游戏 力扣(困难) dfs
    16. 最接近的三数之和 力扣(中等) 双指针
    319. 灯泡开关 力扣(中等) 数论
  • 原文地址:https://www.cnblogs.com/qftm/p/10317168.html
Copyright © 2011-2022 走看看