一起养成写作习惯!这是我参与「掘金日新计划 · 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表可以看到网关MAC地址与攻方(kali)的MAC地址不相同。
断网攻击
- 首先开启攻方的路由转发功能:
echo "1" > /proc/sys/net/ipv4/ip_forward 即将默认关闭的数据包转发功能开启(置为)
- 欺骗命令:
sudo arpspoof -i 网卡 -t 伪装身份ip 欺骗目标ip
- 欺骗网关(1),使其相信攻方(234)为目标(128):
sudo arpspoof -i eth0 -t 192.168.137.128 192.168.137.1
- 欺骗目标(128),使其相信攻方(234)为网卡(1):
sudo arpspoof -i eth0 -t 192.168.137.1 192.168.137.128
- 欺骗网关(1),使其相信攻方(234)为目标(128):
- 目标机运行
arp -a查看欺骗结果:可以看到此时网关MAC地址和攻击方相同。
- 断网攻击(URL流量操纵):
- 检查目标机当前网络状况:
可以正常上网,但可以发现回复的数据包来自于攻方ip地址而非网关。
- 关闭攻方的路由转发功能:
echo "0" > /proc/sys/net/ipv4/ip_forward
- 检查目标机当前网络状况:
ping不通,无法正常上网,攻击操作成功。
- 检查目标机当前网络状况:
- 过程中可以在攻方打开Wireshark对默认网卡eth0进行抓包,会看到目标机所发送的各种数据包。
- 当目标ping网关时可抓到相应的ICMP数据包:
可以看到第7行为目标发给网关的数据包,本不应被攻方接收;第8行为攻方回复给目标的数据包,此时在目标可以看到如下信息:
明明ping的是网关,结果收到了来自攻方的回复。
- 当目标ping网关时可抓到相应的ICMP数据包:
- 在打开路由转发的情况下,使用
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抓取到目标机的各种数据包:
- 当目标机打开必应
- 攻方8080端口抓取到:
【上面ping必应的时候可以看到目标ip为202.89.233.xx,而20.190.xxx.xx为微软的ip】
- 当目标机打开必应
- 此时可用
driftnet进一步获取目标所浏览的所有图片,教程可以看这里。
总结
至此完成arpspoof的基本使用,实现了对目标的监听(可以通过ping的回复数据包发现)、断网等攻击,可在此基础上进一步实现篡改等相关攻击操作。
同时还可以辅以dsniff里的其他小工具进行进一步的数据包分析查看等操作,后续将介绍dsniff的其他小工具。
| 欢迎指正与讨论! |