简介
ARP(Address Resolution Protocol,地址解析协议)是用于将IP地址解析为MAC地址的网络层协议。ARP欺骗(ARP Spoofing),又称ARP投毒(ARP Poisoning),是一种针对ARP协议缺陷的攻击技术。由于ARP协议本身缺乏认证机制,无法验证ARP响应报文的真实性,攻击者可以发送伪造的ARP响应报文,将网关IP映射到攻击者的MAC地址,从而使目标主机的网络流量经过攻击者主机,实现中间人攻击(MITM)。
用处
-
网络监听与嗅探:在安全测试和网络审计中,可利用ARP欺骗截获目标主机的网络通信数据,分析流量中的安全隐患。
-
中间人攻击模拟:安全人员通过ARP欺骗模拟中间人攻击场景,评估网络对中间人攻击的防御能力。
-
会话劫持测试:获取用户会话凭证,验证Web应用是否存在会话固定或会话劫持漏洞。
-
网络故障排查:在可控环境下,利用ARP欺骗分析网络通信链路和数据包传输情况。
目的
1.理解ARP欺骗的基本原理。 2.掌握arpspoof的使用。 3.掌握driftnet的使用。
内容
-
在kali上利用arpspoof对win7和NAT网关进行ARP双向欺骗,展示对win7进行欺骗前后,win7的arp高速缓存列表。
-
在kali上开启路由转发功能,并安装driftnet。
-
开启双向欺骗(arpspoof)、路由转发功能后,利用driftnet嗅探win7所访问http网站的图片(宿主主机通过共享文件夹向win7发送图片也可)。
-
利用ettercap嗅探win7所访问HTTP网站的账号密码。
过程
1 win7查看IP,ARP缓存
图:在win7上使用ipconfig命令查看本机IP地址,使用arp -a命令查看当前ARP缓存表,可以看到网关IP地址与对应MAC地址的正常映射关系。
在kali上打开终端一,欺骗win7
图:在kali终端一中使用arpspoof命令对win7进行ARP欺骗,伪造网关IP地址对应kali的MAC地址,使win7误认为kali就是网关,将数据包发送到kali主机。
开启终端二,欺骗网关
图:在kali终端二中使用arpspoof命令对NAT网关进行ARP欺骗,伪造win7的IP地址对应kali的MAC地址,使网关将发往win7的数据包发送到kali,实现双向欺骗。
欺骗后,win7的网关MAC地址变成kali的MAC地址
图:ARP双向欺骗成功后,在win7上再次执行arp -a命令查看ARP缓存表,可以看到网关IP地址对应的MAC地址已变为kali主机的MAC地址,与欺骗前形成对比,证明欺骗成功。
2 开启路由转发
图:在kali终端中使用echo命令向/proc/sys/net/ipv4/ip_forward写入1,开启IP路由转发功能,使kali能够将win7发送过来的数据包转发给网关,确保被欺骗主机的网络通信不受影响。
安装driftnet
图:在kali终端中使用apt-get install driftnet命令安装driftnet工具,driftnet是一款用于捕获和显示网络流量中图片的嗅探工具,能够实时展示被嗅探主机访问的HTTP图片内容。
3driftnet嗅探win7访问的HTTP图片
图:driftnet成功捕获win7访问HTTP网站时传输的图片,图中显示了被嗅探到的图片内容,证明ARP欺骗结合driftnet可以有效截获目标主机的HTTP明文图片流量。
4ettercap嗅探HTTP账号密码:
启动图形化ettercap
图:在kali终端中使用ettercap -G命令启动ettercap的图形化界面,ettercap是一款功能强大的中间人攻击工具套件,支持ARP欺骗、密码嗅探、数据包注入和流量过滤等多种攻击方式。
配置
选择网卡,扫描网段主机,选中win7IP,网关IP
图:在ettercap图形界面中配置嗅探参数,选择使用的网络接口(网卡),扫描局域网内的活跃主机列表,分别将win7的IP地址添加为Target1(目标1)、网关IP添加为Target2(目标2),准备实施ARP中间人攻击。
开启密码嗅探插件
win7访问HTTP登陆网站
ettercap成功获取账号密码
账号:123456789
密码:123
注意
1.arpspoof属于dsniff工具包,kali默认未安装,需要执行安装命令
2双向欺骗时,kali开启的两个终端都不能关,需要同时运行
3.driftnet没抓到图片,可能是打开的网站本身无图片,且浏览器明文流量会被加密,需要访问纯HTTP站点。
4.win7打开网页显示不全:
1.ettercap图形界面修改了系统iptables规则,拦截了网页资源流量
2.ARP劫持后win7DNS解析异常,仅联通IP但无法加载网页内容
需要重置iptables规则,或者改用命令行ettercap.
5.ettercap无法解析HTTPS流量,且部分网站会对网页表单数据提前加密
危害:
-
信息泄露:攻击者可窃取用户的账号密码、浏览记录、私密文件等敏感信息,造成严重的数据泄露。
-
数据篡改:攻击者可修改传输中的数据包内容,注入恶意代码或虚假信息,诱导用户访问钓鱼网站。
-
拒绝服务攻击:通过发送大量伪造ARP响应导致网络通信中断,使目标主机无法正常访问网络。
-
横向渗透:以被攻击主机为跳板,进一步扫描和攻击局域网内的其他设备,扩大攻击范围。
-
隐私侵犯:利用driftnet等嗅探工具捕获用户浏览的图片和网页内容,严重侵犯个人隐私权。
防御措施:
-
静态ARP绑定:在主机上手动绑定网关的IP与MAC地址(使用arp -s命令),使ARP缓存不被伪造响应篡改。
-
安装ARP防火墙:部署专业的ARP防火墙软件(如360ARP防火墙、彩影ARP防火墙),实时检测和拦截ARP欺骗攻击。
-
划分VLAN隔离:通过虚拟局域网将不同安全级别的网络区域隔离开,限制ARP欺骗的影响范围。
-
启用DAI动态ARP检测:在支持DAI功能的交换机上配置该功能,对ARP报文进行合法性验证,丢弃不合法的ARP响应。
-
使用加密通信协议:采用HTTPS、SSH、VPN等加密协议进行通信,即使流量被嗅探,攻击者也难以解密数据内容。
-
部署网络监控工具:使用arpwatch、XArp等工具持续监控局域网内的ARP流量,及时发现异常的ARP行为并告警。
-
交换机端口安全配置:在交换机上配置端口安全策略,限制每个端口允许学习的MAC地址数量,防止MAC地址泛洪攻击。
声明
本文 ARP 欺骗相关实操仅为封闭虚拟实验环境内安全学习记录,所有操作仅作用于本人自建虚拟机靶机。未经授权对第三方网络实施 ARP 劫持、流量监听均属于违法行为,违反《网络安全法》相关条例。本文仅作科普,请勿用于非法用途,违规操作一切后果由行为人自行承担。