关于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
指令即可
在知道了自己IP地址的情况下,我们同时也知道了自己所在的网段,接下来我们可以找一下当前局域网下还存在哪些主机,这里使用fping指令
显示alive的ip地址都是当前局域网下存在的主机,为了方便我们直接查看了目标的ip地址,
对比上下图,我们可以发现我们的目标的确也是在列表中的,这个时候目标还是可以正常上网的
此时,在Kali中使用arpspoof工具实现ARP攻击
这个时候的目标已经无法正常上网了
停止ARP攻击,目标恢复到正常上网状态
ARP欺骗
首先,我们要使用的工具还是ARPSpoof,因为我们此次攻击方式是欺骗,同时,我们还是用Eteercap去嗅探目标靶子的流量。
但是,首先要开始IP转发功能,linux因为系统安全考虑,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,接下来修改为1。
从图中我们可以看出,系统的配置文件以备我们修改,接下来我们开始arp欺骗。
依然使用arpspoof,具体参数及操作参考上面ARP攻击的部分,在完成ARP攻击操作后,新建一个终端窗口或者标签页使用ettercap嗅探。
敲击空格键即可开始嗅探目标的流量,再次敲击空格则是停止。现在操作目标访问校网,在终端中出现了如下图的数据包
ping一下校网地址,对照查看后发现的确是目标与访问网址之间的数据包。