[黑客入门] 连接公共WIFI有多危险(ARP欺骗)

Linux内核那些事

共 2198字,需浏览 5分钟

 · 2021-02-15

注意:本文只用于技术交流,请勿用于恶意用途。

平时我们都喜欢连接公共的免费 WIFI,其实公共 WIFI 是非常危险的,因为黑客可以连接到公共 WIFI,然后使用 ARP欺骗 的攻击手法来获取到你所有的上网数据。本文主要介绍怎么使用 ARP欺骗 来入侵公共 WIFI,让大家知道使用公共 WIFI 的危险。

上网的过程

一般来说,我们使用手机上网都需要连接无线路由器(WIFI),如下图:

从上图看出,我们上网都需要连接到路由器,而且所有的数据都需要经过路由器。

那么,手机是怎样通过路由器把数据发送出去呢?

手机要把数据发送到互联网,首先需要把要发送的数据打包成 以太网帧,然后再把 以太网帧 发送给路由器,路由器收到 以太网帧 后,会把此 以太网帧 发送出去。以太网帧 由 以太网头部 和 数据 部分组成,如下图:

从上图可以看到,以太网协议 的头部由 源MAC地址目标MAC地址 和 上层协议类型 组成,MAC地址 就是指机器(手机)网络接口的物理地址,比如手机可以从无线局域网信息中查看,如下图所示:

源MAC地址 就是我们手机的 MAC 地址,而 目标MAC地址 就是路由器的 MAC 地址。如下图所示:

但通常来说,路由器的 MAC 地址我们是不知道的,需要通过 ARP协议 来获取路由器的 MAC 地址。ARP协议 的功能就是通过目标机器的 IP地址 来获取其 MAC地址,所以我们只需要知道路由器的 IP地址 即可通过 ARP协议 来获取其 MAC地址

ARP协议 在之前的文章介绍过:ARP协议,所以这里就不再作介绍。

ARP欺骗原理

从上面的分析可知,手机要上网首先要连接到路由器,然后把要发送的数据包打包成 以太网帧,再把 以太网帧 发送给路由器。

以太网帧 需要知道路由器的 MAC地址,但通常来说我们只知道路由器的 IP地址(通常路由器的 IP地址 为 192.168.1.1),所以需要通过 ARP协议 把 IP地址 转换成 MAC地址

ARP欺骗 就是通过使用 ARP协议 把路由器的 IP地址 转换成 中间人机器 的 MAC地址,如下图所示:

从上图可以看出,电脑A发送了一个 ARP消息 给手机A,告诉它 IP地址 为 192.168.1.1 的 MAC地址 为 AE:12:BD:8C:92,也就是电脑A的 MAC地址

这样,手机A就误以为路由器的 MAC地址 是 AE:12:BD:8C:92,从而每次发送数据到互联网时,都需要先把数据发送给电脑A,从而电脑A成为了 中间人,所以这个攻击也叫 中间人攻击。数据流向如下图:

这样,电脑A就可以截获手机A发送的所有数据。电脑A截获到手机A的数据后,就可以修改手机A发送的数据,从而达到攻击的效果。试想一下,如果当手机使用支付宝支付时,把收款的账号改为攻击人的账号,那就会把钱转到攻击人的账号。

ARP欺骗实验

本来我想自己写个程序来实现 ARP欺骗 攻击的,但是这样可能会导致这篇文章变得枯燥,所以这里直接使用开源的 ARP欺骗 工具来做试验,这个工具就是 arpspoof,下载地址在:https://github.com/alandau/arpspoof

首先,我们把 arpspoof 下载到本机,然后确认要攻击的目标机器的 IP地址,如:192.168.1.13,然后使用 arpspoof 开始攻击,如下:

C:\> arpspoof.exe 192.168.1.13Resolving victim and target...Redirecting 192.168.1.13 (00:11:22:33:44:55) ---> 192.168.1.1 (AE:12:BD:8C:92)        and in the other directionPress Ctrl+C to stop

看到上面的输出说明 arpspoof 已经开始工 (攻) 作 (击)。

然后,我们打开 wireshark 抓包攻击来查看手机A的上网数据包,如下图:

从抓包工具的结果可以看出,IP地址 为 192.168.1.13 的数据包都经过了我们的机器,如果这时对这些数据包稍作修改,就可能会导致很严重的问题。

所以,使用公共 WIFI 是非常危险的行为,有以下几个风险:

  • 泄露账号密码。

  • 数据可能被恶意修改。

  • 收到一些奇怪的消息(如广告)。

那么,怎么杜绝这个问题呢?很简单,就是使用手机卡流量上网(笑...)。

其实,除了 中间人攻击 外,ARP欺骗 还能让连接同一个路由器的所有机器都不能上网,就是通过 ARP欺骗 将路由器的 IP地址 映射为一个不存在的 MAC地址,这样就会导致内网的机器因为把数据发送给不存在的路由器而丢包,从而导致其不能上网。

总结

这篇文章主要通过 ARP欺骗 这种攻击手段来说明,使用公共 WIFI 是一种危险的行为,所以在使用公共 WIFI 时最好不要使用移动支付,否则就可能会被盗取账号或者钱财等。

当然,看完这篇文章也不要做恶意的用途,否则后果自负(当然做恶意用途也需要点技术含量的)。


浏览 69
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报