zoukankan      html  css  js  c++  java
  • 使用kali进行arp欺骗实现计算机网站访问截取

    使用kali进行arp欺骗实现计算机网站访问截取

    关于arp欺骗

    简介

    ARP欺骗ARP spoofing),又称ARP毒化ARP posioning)或ARP攻击,是针对以太网地址解析协议ARP)的一种攻击技术。此种攻击客让攻击者获取局域网上的数据包甚至可以篡改数据包,并且可让网上特定计算机或所有计算机无法正常连线。

    运作机制

    ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的网关(被动式数据包嗅探,passive sniffing)或是篡改后再转送(中间人攻击,man-in-the-middle attack)。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。

    例如某一的IP地址是192.168.0.254,其MAC地址为00-11-22-33-44-55,网上上的计算机内ARP表会有这一笔ARP记录。攻击者发动攻击时,会大量发出已将192.168.0.254的MAC地址篡改为00-55-44-33-22-11的ARP数据包。那么网上上的计算机若将此伪造的ARP写入自身的ARP表后,计算机若要透过网上网关连到其他计算机时,数据包将被导到00-55-44-33-22-11这个MAC地址,因此攻击者可从此MAC地址截收到数据包,可篡改后再送回真正的网关,或是什么也不做,让网上无法连线。

    简单案例分析:这里用一个最简单的案例来说明ARP欺骗的核心步骤。假设在一个LAN里,只有三台主机A、B、C,且C是攻击者。

    1. 攻击者聆听局域网上的MAC地址。它只要收到两台主机洪泛的ARP Request,就可以进行欺骗活动。
    2. 主机A、B都洪泛了ARP Request.攻击者现在有了两台主机的IP、MAC地址,开始攻击。
    3. 攻击者发送一个ARP Reply给主机B,把此包protocol header里的sender IP设为A的IP地址,sender mac设为攻击者自己的MAC地址。
    4. 主机B收到ARP Reply后,更新它的ARP表,把主机A的MAC地址(IP_A, MAC_A)改为(IP_A, MAC_C)。
    5. 当主机B要发送数据包给主机A时,它根据ARP表来封装数据包的Link报头,把目的MAC地址设为MAC_C,而非MAC_A。
    6. 当交换机收到B发送给A的数据包时,根据此包的目的MAC地址(MAC_C)而把数据包转发给攻击者C。
    7. 攻击者收到数据包后,可以把它存起来后再发送给A,达到偷听效果。攻击者也可以篡改数据后才发送数据包给A,造成伤害。

    限制方法

    最理想的防制方法是网上内的每台计算机的ARP一律改用静态的方式,不过这在大型的网上是不可行的,因为需要经常更新每台计算机的ARP表。

    另外一种方法,例如DHCP snooping,网上设备可借由DHCP保留网上上各计算机的MAC地址,在伪造的ARP数据包发出时即可侦测到。此方式已在一些厂牌的网上设备产品所支持。

    有一些软件可监听网上上的ARP回应,若侦测出有不正常变动时可发送邮箱通知管理者。例如UNIX平台的Arpwatch以及Windows上的XArp v2或一些网上设备的Dynamic ARP inspection功能。

    正当用途

    ARP欺骗亦有正当用途。其一是在一个需要登录的网上中,让未登录的计算机将其浏览网页强制转向到登录页面,以便登录后才可使用网上。另外有些设有备援机制的网上设备或服务器,亦需要利用ARP欺骗以在设备出现故障时将讯务导到备用的设备上。

    实验环境

    攻击机:Kali Linux IP地址:192.168.179.129

    靶机:Windows 7 IP地址:192.168.179.130

    工具:arpspoof、wireshark、tcpdump

    实验过程

    网络模式设置

    首先要保证攻击机和靶机处在同一局域网下,这里我们只需要把两台虚拟机的网络模式设置为相同的即可,我这里的网络模式设置为NAT模式,如下图所示。

    3LtHVe.png

    地址扫描

    现在我们知道了两台机器处于同一局域网下,但是我们并不知道靶机的IP地址,所以我们需要利用netdiscover工具对同一网段下的存货主机进行探测。

    首先我们查看一下Kali攻击机的IP地址,如下图所示:

    3LNGxx.png

    然后我们利用netdiscover工具进行地址扫描,命令如下:

    netdiscover
    

    3LNvFJ.png

    发起攻击

    在成功拿到了靶机的ip地址后,我们利用arpspoof工具开始对靶机发起arp攻击,arpspoof的具体使用方法可以使用以下命令查看:

    man arpspoof
    
        名字 
               arpspoof - 截获交换局域网中的数据包
    
        用法
               arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
    
        描述
               arpspoof通过伪造的ARP响应包改变局域网中从目标主机(或所有主机)到另一个主机(host)的数据包转发路径。这是交换局域网中嗅探网络流量的一种极为有效的方法。
               内核IP转发(或如fragrouter这样的、用户层面的、能完成同样功能的软件)必须提前开启。
    
        参数
               -i interface
                      指定要使用的接口(即指定一块网卡)
    
               -c own|host|both
                      指定在恢复ARP配置时使用的硬件地址;当在清理(cleaning up)时,数据包的源地址可以用自己的也可以用主机(host)的硬件地址。
                      使用伪造的硬件地址可能导致某些配置下的交换网络、AP网络或桥接网络通信中断,然而它比起默认值————使用自己的硬件地址要工作地更为可靠。
    
               -t target
                      指定一个特殊的、将被ARP毒化的主机(如果没有指定,则认为是局域网中所有主机)。重复可以指定多个主机。
    
               -r     毒化两个主机(目标和主机(host))以捕获两个方向的网络流量。(仅仅在和-t参数一起使用时有效)
    
               host   host是你想要截获数据包的主机 (通常是网关)。
    

    攻击命令如下:

    arpspoof -t 192.168.179.130 192.168.179.1 -i eth0
    

    -t 参数后的第一个IP地址是要欺骗的主机,第二个IP地址是你要伪装成的主机(即网关)

    3LUxHS.png

    可以看到,arpspoof已经成功向目标靶机发送了数据包。

    截获数据

    这时,我们打开抓包工具wireshark,抓取eth0网卡上的数据包。

    3Lah2n.png

    为了方便识别是否截获到流量,我们在靶机上访问百度,看看能否截获到相应的数据。

    3LdIWd.png

    访问完成后,停止抓包,查看截获的流量包中是否存在访问百度所产生的数据。

    3LwATU.png

    可以看到,成功获取到了靶机(192.168.179.130)访问百度的数据包,这说明我们的arp欺骗已经完成。


    3Lw0nP.png

  • 相关阅读:
    2020.10.31
    2020.10.26
    2020.10.29
    2020.10.28动手动脑+验证
    2020.11.1(每周学习总结)
    2020.10.30
    2020.11.2动手动脑➕课后试验性问题
    Javascript权威指南阅读笔记第3章类型、值和变量(1)
    【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性
    【Vue】vif与vshow的区别
  • 原文地址:https://www.cnblogs.com/sn1per/p/12553122.html
Copyright © 2011-2022 走看看