kali使用arpspoof进行ARP断网攻击

什么是ARP欺骗攻击
ARP协议:
在以太网中,是用MAC地址来进行通讯的。所以要用 ARP 协议将 IP 地址解析成 MAC 地址。
ARP 协议就是通过目的 IP 询问设备的 MAC 地址。局域网中的每一台设备都有一个 ARP 缓存表,表中存放 IP 和 MAC 地址的对应情况。
过程如下:在一个以太网交换网络内,主机A希望能与主机B进行交流,所以主机A对整个网络进行广播,然后使用地址解析协议找到目标主机B的MAC地址。尽管整个广播域下都能收到主机A发送的信息,但只有主机B才会回复ARP请求,将自己的MAC地址发给主机A。

arp欺骗原理图解

图片[1]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网

现假设网络中有三台主机A,B,C。主机A,B为合法主机,C为攻击者。攻击分为三个步骤:

  • 攻击者利用arp欺骗,将自己插入到两台合法主机的通信路径中间。主机A,B间通讯变为A<——>C<——>B
  • 截获两台合法主机间通信的数据,根据自己情况过滤或者修改
  • 为了保证A,B两台主机的通信,转发被捕获的数据

具体步骤:

1.插入路径
主机C利用arp欺骗技术,分别给主机A,B发送伪造的arp响应报文,迫使主机A,B更新其arp缓存。发送给主机A的arp响应报文为(主机B的ip-主机C的mac),发往主机B的arp响应报文为(主机A的ip-主机C的mac)。这样主机A便会将主机C的mac地址当做主机B的mac地址,而主机B也会将主机C的mac地址当做主机A的mac地址。当A,B之间通信时,数据帧都会发往主机C。由于arp缓存又是动态更新的,我们发送的伪造的arp响应会在一段时间内失效,所以我们需要定时的向主机A,B发送伪造的arp响应。那么通过以上的手段,攻击者C就插入到了主机A,B之间的通信中。
2.截获数据
主机C在成功插入到主机A,B通信中时,需要将其网卡设置为混杂模式来截获这些数据,并且根据自己的需要来决定是要过滤筛选,还是要对其进行修改。
3.转发数据
为了保证主机A,B之间通信的连续性,主机C必须转发被截获和修改了的数据帧,并且必须修改这些数据帧的目的mac地址为主机A或者B的真实的mac地址。

实验环境:

实验机(被攻击机)win10ip:10.32.34.217 网关10.32.0.1

图片[2]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网

kaili网卡配置:

图片[3]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网

攻击机kaili ip:10.32.159.96 网关10.32.0.1

图片[4]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网

两台机器互ping测试环境:

图片[5]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网
实验机ping攻击机
图片[6]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网
攻击机ping实验机

arpspoof工具

arpspoof是一个好用的ARP欺骗工具,Kali linux中自带了该工具,在ubuntu中,安装它只需运行命令:

 sudo apt-get install dsniff

安装完成后,输入命令:man arpspoof 可以查看使用手册,2.4版本的手册内容如下(自己翻译的,非官方):

 名字 
           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是你想要截获数据包的主机 (通常是网关)。

    扩展阅读
           dsniff(8), fragrouter(8)

    作者
           Dug Song <dugsong@monkey.org>

在使用arpspoof前先开启Kali的IP转发,使用命令:

 echo 1 > /proc/sys/net/ipv4/ip_forward

arpspoof 命令的工作过程分为两部分:

  1. 发送伪造的ARP请求包,修改目标主机中ARP缓存表,实施ARP欺骗;
  2. 当攻击完成后,再次发送伪造的ARP请求包,修改目标主机中ARP缓存表为正确的值,结束ARP欺骗。

-i 参数用于指定一块网卡,必须显式地指定,没有默认值,若不指定,会报错为:arpspoof: couldn’t arp for host xxx.xxx.xxx.xxx。
若不清楚自己机器上都有哪些网卡,可用命令 ifconfig 查看。

-t 和 -r 参数与第一部分有关,-c 参数与第二部分有关。第二部分被作者称为:cleaning up,-c 中的c大概就是从这里来的。

-t 后可以是IP地址,也可以是域名,这里只使用IP地址。

-t 参数后的第一个IP地址是要欺骗的主机,第二个IP地址是你要伪装成的主机,如:

 arpspoof -i eth0 -t 10.32.34.217 10.32.0.1

实验机测试上网:

图片[7]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网
图片[8]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网

Ctrl+C终止

图片[9]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网

实验机恢复上网

图片[10]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网
图片[11]-KailiARP断网攻击-arpspoof局域网断网攻击-极乐资源网
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论