dsniff之arpspoof使用

757 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第11天,点击查看活动详情

课设要选个网安工具,就开个小系列讲讲dsniff

ARP及ARP欺骗的相关介绍与安装见上一篇,本篇直接上实践。

arpspoof使用

准备工作

  • 实验环境
    • 攻方:Kali2022.1
    • 目标:Ubuntu16.04
    • 虚拟机搭载于VirtualBox,采用桥接模式将双方互联,即二者处于同一局域网内(网关相同),教程见这里
  • 使用ifconfig命令查看双方ip,下文实验环境如下:
    • 攻方:192.168.137.234(默认网卡为eth0)
    • 目标:192.168.137.128(默认网卡为enp0s3)
    • 网关:192.168.137.1
  • 使用arp -a查看目标机内当前的ARP表 image.png 可以看到网关MAC地址与攻方(kali)的MAC地址不相同。

断网攻击

  • 首先开启攻方的路由转发功能:

    echo "1" > /proc/sys/net/ipv4/ip_forward 即将默认关闭的数据包转发功能开启(置为11

  • 欺骗命令:

    sudo arpspoof -i 网卡 -t 伪装身份ip 欺骗目标ip

    • 欺骗网关(1),使其相信攻方(234)为目标(128):

      sudo arpspoof -i eth0 -t 192.168.137.128 192.168.137.1 image.png

    • 欺骗目标(128),使其相信攻方(234)为网卡(1):

      sudo arpspoof -i eth0 -t 192.168.137.1 192.168.137.128 image.png

  • 目标机运行arp -a查看欺骗结果: image.png 可以看到此时网关MAC地址和攻击方相同。
  • 断网攻击(URL流量操纵):
    • 检查目标机当前网络状况: image.png 可以正常上网,但可以发现回复的数据包来自于攻方ip地址而非网关。
    • 关闭攻方的路由转发功能:

      echo "0" > /proc/sys/net/ipv4/ip_forward

    • 检查目标机当前网络状况: image.png ping不通,无法正常上网,攻击操作成功。
  • 过程中可以在攻方打开Wireshark对默认网卡eth0进行抓包,会看到目标机所发送的各种数据包。
    • 当目标ping网关时可抓到相应的ICMP数据包: image.png 可以看到第7行为目标发给网关的数据包,本不应被攻方接收;第8行为攻方回复给目标的数据包,此时在目标可以看到如下信息: image.png 明明ping的是网关,结果收到了来自攻方的回复。
  • 在打开路由转发的情况下,使用urlsnarf工具可以查看目标机的各种网络访问活动,具体使用方法可以看这里

端口重定向攻击

  • 注入流量到网关:

    arpspoof -i eth0 192.168.137.1

  • 在攻方增加防火墙规则:

    sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 即将发往网关80端口的信息转发至攻方的8080端口,注意此处由于版本不同命令可能略有差异,请根据自己的版本进行相应调整。

  • 此时当目标机上网时,攻方可以通过Wireshark抓取到目标机的各种数据包:
    • 当目标机打开必应 image.png
    • 攻方8080端口抓取到: image.png 【上面ping必应的时候可以看到目标ip为202.89.233.xx,而20.190.xxx.xx为微软的ip】
  • 此时可用driftnet进一步获取目标所浏览的所有图片,教程可以看这里

总结

至此完成arpspoof的基本使用,实现了对目标的监听(可以通过ping的回复数据包发现)、断网等攻击,可在此基础上进一步实现篡改等相关攻击操作。

同时还可以辅以dsniff里的其他小工具进行进一步的数据包分析查看等操作,后续将介绍dsniff的其他小工具。


欢迎指正与讨论!