ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# ARP欺骗中间人攻击 arp欺骗是很古老的渗透手段,主要起着信息收集的作用,比如你可以利用欺骗获取对方的流量,从流量分析你认为重要的信息,例如某某账号密码。 是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。 ## ARP协议基础 ### 什么是ARP协议? ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。然而MAC地址是网卡的硬件地址,一般出厂后就具有唯一性。ARP协议就是将目标IP地址解析成MAC地址进行验证通信。 ### ARP欺骗的正当用途 ARP欺骗亦有正当用途。其一是在一个需要登录的网络中,让未登录的计算机将其浏览网页强制转向到登录页面,以便登录后才可使用网上。另外有些设有备援机制的网上设备或服务器,亦需要利用ARP欺骗以在设备出现故障时将讯务导到备用的设备上。 ### ARP欺骗的危害 ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信,也可以截取全网络数据包等。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种方法和手段来避免,而ARP协议工作在更低层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP地址冲突那样给出提示。 ### ARP欺骗的原理 ARP欺骗的运作原理是由攻击者发送假的ARP数据包到网上,尤其是送到网关上。其目的是要让送至特定的IP地址的流量被错误送到攻击者所取代的地方。因此攻击者可将这些流量另行转送到真正的网关或是篡改后再转送。攻击者亦可将ARP数据包导到不存在的MAC地址以达到阻断服务攻击的效果,例如netcut软件。 **简单案例分析:** 这里用一个最简单的案例来说明ARP欺骗的核心步骤。假设在一个LAN里,只有三台主机A、B、C,且C是攻击者。 1. 攻击者聆听局域网上的MAC地址。它只要收到两台主机洪泛的ARP Request,就可以进行欺骗活动。 2. 主机A、B都洪泛了ARP Request.攻击者现在有了两台主机的IP、MAC地址,开始攻击。 3. 攻击者发送一个ARP Reply给主机B,把此包protocol header里的sender IP设为A的IP地址,sender mac设为攻击者自己的MAC地址。 4. 主机B收到ARP Reply后,更新它的ARP表,把主机A的MAC地址(IP_A, MAC_A)改为(IP_A, MAC_C)。 5. 当主机B要发送数据包给主机A时,它根据ARP表来封装数据包的Link报头,把目的MAC地址设为MAC_C,而非MAC_A。 6. 当交换机收到B发送给A的数据包时,根据此包的目的MAC地址(MAC_C)而把数据包转发给攻击者C。 7. 攻击者收到数据包后,可以把它存起来后再发送给A,达到偷听效果。攻击者也可以篡改数据后才发送数据包给A,造成伤害。 ## Arp攻击 ### 常用arp攻击工具 1. Anti windows工具,能禁止主机上网,造成IP冲突等 2. arpsniffer windows下的命令行工具 3. zxarps windows下的命令行工具 4. Cain window下的工具,可欺骗https,盗取账号密码 ### 实验一:anti 让主机无法上网、限速等 禁止主机上网,原理是更改了网关mac地址为随机 主机IP地址冲突,原理是把攻击者的mac地址加入了arp表中 ### 实验二:arpsniffer 单向攻击 ``` arpsniffer 192.168.1.1 192.168.1.100 80,3389 log.txt # 第一个参数为网关地址,192.168.1.1, # 第二个参数为要欺骗的IP地址, IP为:192.168.1.100, # 第三个参数为要截取数据的端口号:80(可以多个端口用逗号间隔), # 第四个参数是要把捕获的数据保存到指定的文件:log.txt ``` 工具在win10以下系统版本可以运行 ### 实验三:zxarps实现双向截取数据,并修改网页内容 ``` zxarps.exe -idx 0 -ip 192.168.1.102 -p 80 -insert “<script>alert(“1111”)</script>” ``` 现在只要IP为192.168.1.102的计算机用户访问协议为http的网页, 页面中都会弹出一条消息, ARP欺骗可以实现局域网挂广告, 盗取明文密码, 偷偷刷weibo粉丝, 查看别人的聊天记录等, 获取局域网的微信号,qq号等, 毕竟可以插入JavaScript代码了 原理是把被攻击机的arp缓存表中的网关mac地址改变成攻击者的mac地址,所以被攻击机接受发出的数据包都可以被我们修改,我们在返回的数据包中插入就可以了 zxarps还有其他的使用方式,比如捕获用户的网页请求数据和接收数据, 截取IP为192.168.1.107和192.168.1.105的所有网页请求并保存起来, 构造如下的命令行: ``` zxarps -idx 0 -ip 192.168.1.107,192.168.1.105 -p 80 -save_a log.txt ``` ### 实验四:Cain用户密码盗取 Cain,高版本为英文版本,支持http、https监听,低版本只支持http 1. 配置-->选定网卡-->http表 如果要监听网站的一些服务的账号密码的话,需要在这里添加相对应的字段 2. 开始嗅探 嗅探这里,右键扫描一下内网 点左下角arp,删除默认的,加号 左边选择网关地址 右边选择被攻击IP 3. 开始测试 ### 实验五:Cain实现dns欺骗 可以让受害者在访问一个页面的时候跳转到攻击者的钓鱼网站上 同样是cain,利用嗅探器中arp-dns功能 填写请求的DNS名称为受害者想访问的地址 重写在响应包里的IP地址,为攻击者想让受害者访问的域名解析到的IP地址 ## ARP安全防范 最理想的防制方法是网上内的每台计算机的ARP一律改用静态的方式,不过这在大型的网上是不可行的,因为需要经常更新每台计算机的ARP表。 1、不要随意登录免费的WIFI,没人知道免费的WIFI是不是有恶意的攻击者在搞鬼; 2、使用ARP绑定, 避免被ARP欺骗; 3、开启电脑管家或者360安全卫士的ARP防火墙或金山贝壳或彩影ARP防火墙; 4、使用https协议或者其他有保密协议的连接访问外网,避免被坑。 5、手工静态绑定 这几个方法无法彻底隔绝,硬件厂商两个硬件防御方法参考 1. 华为:需要购买设备 https://wenku.baidu.com/view/55efed86f71fb7360b4c2e3f5727a5e9856a27cd.html 攻击者的电脑要接入内网首先要通过一个交换机验证,如果验证成功,设备通过获取的MAC-ip进行就地绑定 之后认证服务器会实时监控,发现伪造及时替换 2. 神州:建议直接在交换路由 https://wenku.baidu.com/view/89772efb7e192279168884868762caaedd33bade.html 手工绑定、同时可以设置防网段扫描 Anti-ARP Scan、DHCP Snooping自动绑定