黑客实现 ARP 欺骗
一、内容
1.网络嗅探:Wireshark 监听网络流量,抓包。
2.ARP 欺骗:科来数据包发生器,构造欺骗报文。
3.防范: 防范 arp 欺骗、非法 DHCP 防范。
二、使用的工具和平台
Wireshark:用来抓包,
科来数据包生成器、科来数据包播放器:构造欺骗的 ARP 欺骗报文
平台:使用 Win10 作为攻击机,靶机时虚拟机中的 Win7
三、ARP 欺骗原理
同一局域网里面的两台主机之间相互通信是通过 Mac 地址寻址的,而如果两台主机若不是处于同一子网里面,则在通信的时候会相互将数据发送给各自的路由器网关,通过网关的 IP 寻址以达到通信目的。但是网关和自己局域网里面的主机通信的时候还是依靠 Mac 地址寻址的,所以如果我们要把自己攻击机伪造成网关达到欺骗作用,就应该把目标主机上的网关 Mac 地址缓存改为攻击机的 Mac 地址(这就可以通过伪造 ARP 报文来实现)。
正常情况下数据包的发送:
如图:在正常的情况下,处于两个不同子网之间通信,会有 A——>网关——>网卡——>外网。通过网关和网卡连通两个子网。而现在所要做的就是将这一步改为 A——>B——>网卡——>外网,将 B 伪造成网关,这样一来所有从 A 到外网的数据就都会通过 B 了,从而可以分析出 A 的上网情况,甚至是一些明文密码。
伪造的情况下:
同时,伪造网关后,还需要将数据转发出去,否则会导致 A 上不了网而被发现网关是伪造的。
四、具体实现步骤
1.首先通过命令行和 Wireshark 知道攻击机和靶机的 MAC 地址和 IP 地址。
使用 ipconfig/all 查看
① 200 多本网络安全系列电子书② 网络安全标准题库资料③ 项目源码④ 网络安全基础入门、Linux、web 安全、攻防方面的视频⑤ 网络安全学习路线图【戳此白嫖】
由此可知,攻击机 IP:192.168.0.103 MAC:18-DB-F2-2C-FC-EC
靶机 IP:192.168.0.113 MAC:00-0C-29-EB-E5-8E
网关 IP:192.168.0.1 MAC:04-95-e6-57-a6-c8
使用 arp -a 查看网关信息,注意这是的网关为 192.168.0.1
这里信息也可以使用 WireShark 抓包来获取
现在,基本的地址信息有了,下面开始构造 ARP 欺骗报文
在科来数据包生成器中构造 ARP 报文,以太网中的目标地址为广播,源地址是攻击机的 MAC 地址,
ARP 地址解析协议中,源 MAC 地址为攻击机,源 IP 为网关,目标 MAC 和 IP 为靶机地址
数据包构造完成后,使用科来数据包播放器发送,网卡选择有效的,使用循环发送(现在的操作系统为了防止 ARP 欺骗,一般会再次确定网关,所以需要循环发送)
这里使用靶机上网,在 WireShark 中可以抓取到相应的包
在网关欺骗成功之后,还需要将靶机的信息进行转发,否则会导致靶机无法上网
具体设置如下:
1.在命令行中输入“Regedit”
2.查找一下路径:
“HKEY_LOCAL_MACHINE” > SYSTEM > CurrentControlSet >Services> Tcpip >Parameters > IP Enable Router
右键点击修改,将 0 改为 1;
3.在运行中输入
打开后启用 Routing and Remote Access Service 服务即可
在伪造数据包的时候更深刻了解到了 ARP 报文的结构,在者就是认识到 TCP/IP 协议是相当不安全的,ARP 报文可以修改达到中间人劫持获取用户和密码的目地,同样通过 DNS 欺骗可以制造钓鱼网站窃取密码,还可以通过修改 UDP 报文伪造对话,这一切的不安全因素都是因为在传输过程中任何人都可以截取、而且没有认证机制,以至于任何人可以随心所欲的修改它。所以需要防范 ARP 欺骗。
ARP 欺骗防范:
1)设计静态 ARP 表
在主机上设置静态的 MAC->IP 对应表,不要让主机刷新设定好的转换表。
在 PC 上绑定路由器的 IP 和 MAC 地址,路由器上绑定用户主机的 IP 和 MAC 地址
批处理文件实现:
@echo off
:::::::::读取本机 Mac 地址 if exist ipconfig.txt del ipconfig.txt ipconfig /all >ipconfig.txt if exist phyaddr.txt del phyaddr.txt find "Physical Address" ipconfig.txt >phyaddr.txt for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M :::::::::读取本机 ip 地址 if exist IPAddr.txt del IPaddr.txt find "IP Address" ipconfig.txt >IPAddr.txt for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I :::::::::绑定本机 IP 地址和 MAC 地址 arp -s %IP% %Mac% :::::::::读取网关地址 if exist GateIP.txt del GateIP.txt find "Default Gateway" ipconfig.txt >GateIP.txt for /f "skip=2 tokens=13" %%G in (GateIP.txt) do setGateIP=%%G :::::::::读取网关 Mac 地址 if exist GateMac.txt del GateMac.txt arp -a %GateIP% >GateMac.txt for /f "skip=3 tokens=2" %%H in (GateMac.txt) do setGateMac=%%H :::::::::绑定网关 Mac 和 IP arp -s %GateIP% %GateMac% del GateIP.TXT /Q DEL GateMac.txt /q del IPAddr.txt /q del ipconfig.txt /q del phyaddr.txt /q exit
保存为 IP-MAC.bat 开机运行就 OK
2)安装 ARP 防护软件
这是一次关于 ARP 欺骗的实现过程。
PS:勿忘初心,持之以恒。
版权声明: 本文为 InfoQ 作者【喀拉峻】的原创文章。
原文链接:【http://xie.infoq.cn/article/e447c08f14cada8573f6d7868】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论