1 理论
1.1 原理
ARP攻击主要是通过伪造IP地址和MAC地址进行欺骗。假设A、B、C位于同一局域网
内,A是PC主机,B是攻击主机,C是路由器。攻击过程如下:
- A将包含目标IP地址(10.0.1.1)信息的ARP Request,广播到网络中的所有主机,源主机A的IP地址和MAC地址都包括在ARP请求中;
- C确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中;并将包含其MAC地址的ARP回复消息直接发送回主机A;
- 当主机A收到从C发来的ARP回复消息时,会用C的IP和MAC地址映射更新ARP缓存;
- 攻击主机B向A发送伪造的ARP应答包,在这个伪造的应答包中,IP地址为C的IP地址,而MAC地址为B的MAC地址;
- A在接收到这个应答包后,会刷新它的ARP缓存,这样在A的ARP缓存表中就出现了IP-C与MAC-B的映射;
- 攻击主机B向C发送伪造的ARP应答包,在这个伪造的应答包中,IP地址为A的IP地址,而MAC地址为B的MAC地址;
- C在接收到这个应答包后,会刷新它的ARP缓存,这样在C的ARP缓存表中就出现了IP-A与MAC-B的映射。
这样一来,A与C之间的流量交换都会经过B,可以进行监听、篡改信息、断网攻击
。
1.2 知识储备
网关:网关(Gateway)在网络层以上实现网络互连。由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用路由来接入网络,因此通常指的网关就是路由器的IP!
Bridged(桥接模式):将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。其网络结构如下图所示:
2 实战
2.1 断网攻击
准备:
kali
虚拟机,设置桥接模式,否则断网无效;查看自己的网卡信息
找到目标IP:
nmap
扫描内网(命令nmap -sP 192.168.1.*
)或使用安卓端的Net Analyzer
进行LAN Scan
;arpspoof进行攻击:执行下面命令后目的主机无法上网;
1
2arpspoof -i 自己网卡信息 -t 目标IP -r 网关
例:arpspoof -i eth0 -t 192.168.1.7 -r 192.168.1.1
2.2 窃听
- 开启IP转发:
echo 1 >/proc/sys/net/ipv4/ip_forward
- arp攻击:
arpspoof -i eth0 -t targetIP -r gateway(具体参考上面)
- 窃听:
driftnet -i eth0(你的网卡)
或wireshark
3 存在问题
- 攻击局域网其他系统时,kali虚拟机可以上网,但是其宿主机(物理机win10)无法上网;开启IP转发可以解决
- 窃听时目标主机虽然可以ping通,当时网速太慢且不稳定;driftnet无法正确抓取图片;