关于ARP攻击的原理以及在Kali Linux环境下的实现

全文摘要

  • 本文讲述内容分为两部分,前半部分讲述ARP协议及ARP攻击原理,后半部分讲述在Kali Linux环境下如何实现ARP攻击以及ARP欺骗,如果对于ARP攻击的背景和原理不感兴趣的话可以直接翻到下面查看操作方法
  • ARP协议
  • 基本功能
  • 局限性
  • 攻击原理
  • Kali Linux下的实现
  • ARP攻击
  • ARP欺骗

ARP协议

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

基本功能

  • 通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。

ARP攻击的局限性

  • ARP攻击仅能在以太网(局域网如:机房、内网、公司网络等)进行。
  • 无法对外网(互联网、非本区域内的局域网)进行攻击。

ARP攻击的攻击原理

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

在Kali Linux环境下的实现ARP攻击

攻击环境

  • 攻击主机:Kali Linux 2.0
  • IP:192.168.1.101
  • 被攻击主机:Windows 8.1
  • IP:192.168.1.105

因为是在虚拟机环境下实现的攻击,所以要提前将虚拟机的网络适配器设置为桥接模式,这样一来虚拟机便可以单独获得一个ip地址,而不是和NAT模式下一样和宿主机共用一个ip地址。

ARP攻击

在进行攻击的时候我们需要先知道自己的IP地址,在终端中输入ifconfig指令即可

centos arp代答 arp linux实现_Kali

在知道了自己IP地址的情况下,我们同时也知道了自己所在的网段,接下来我们可以找一下当前局域网下还存在哪些主机,这里使用fping指令

centos arp代答 arp linux实现_centos arp代答_02

显示alive的ip地址都是当前局域网下存在的主机,为了方便我们直接查看了目标的ip地址,

centos arp代答 arp linux实现_ip地址_03

对比上下图,我们可以发现我们的目标的确也是在列表中的,这个时候目标还是可以正常上网的

centos arp代答 arp linux实现_IP_04

此时,在Kali中使用arpspoof工具实现ARP攻击

centos arp代答 arp linux实现_ip地址_05

这个时候的目标已经无法正常上网了

centos arp代答 arp linux实现_ip地址_06

停止ARP攻击,目标恢复到正常上网状态

ARP欺骗

首先,我们要使用的工具还是ARPSpoof,因为我们此次攻击方式是欺骗,同时,我们还是用Eteercap去嗅探目标靶子的流量。

但是,首先要开始IP转发功能,linux因为系统安全考虑,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,接下来修改为1。

centos arp代答 arp linux实现_Kali_07

从图中我们可以看出,系统的配置文件以备我们修改,接下来我们开始arp欺骗。

依然使用arpspoof,具体参数及操作参考上面ARP攻击的部分,在完成ARP攻击操作后,新建一个终端窗口或者标签页使用ettercap嗅探。

centos arp代答 arp linux实现_Kali_08

敲击空格键即可开始嗅探目标的流量,再次敲击空格则是停止。现在操作目标访问校网,在终端中出现了如下图的数据包

centos arp代答 arp linux实现_ip地址_09

ping一下校网地址,对照查看后发现的确是目标与访问网址之间的数据包。

centos arp代答 arp linux实现_ip地址_10