通过伪造MAC地址来绕过校园网认证免费上网

所在高校使用了Dr.COM的上网认证系统,由于学长之前给我的无限制上网账号过期,于是开始研究绕过该认证系统。经过一段时间的研究,总算是成功绕过达到了免费上网的目的。

我一开始想到的是寻找Dr.COM后台地址,看一下有没有弱口令或者是反序列化能够直接利用的漏洞,然而找到后台地址后并没有反序列化漏洞。
过了几天,一个好兄弟发现了可以克隆MAC地址的方法来使校园网能够多台设备使用,这个思路启发了我。

克隆Mac地址

克隆MAC地址来使路由器能够上网,再将上网流量转发出来,这一现象说明了什么?

我们可以很直接的知道,校园网的上网认证是否成功是通过设备的MAC地址来进行判断的。我画了一个大致的流程图,来说明我认为的校园网认证过程。

认证过程中,学生访问前端登录界面,输入用户名密码后将用户信息传输到后端。这个后端有三个功能:检测用户名密码、判断设备登录数量、拉入可上网MAC地址池。

这样的话思路就清晰了,我们只要能够知道MAC地址池中已认证成功的MAC地址信息,就可以利用该信息欺骗过路由来进行上网了。

搜集Mac地址信息

上一步讲到,我们需要知道已认证成功的MAC地址信息,然后通过地址来上网。思路很清晰,那么我们哪里有这个地址信息呢?难不成还需要进入后台吗?

很简单,大多数操作系统提供了一个arp命令。

ARP命令用于显示和修改“地址解析协议(ARP)”缓存中的项目。ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则ARP命令将显示帮助信息。

arp的命令

> arp
usage: arp [-n] [-i interface] hostname
       arp [-n] [-i interface] [-l] -a
       arp -d hostname [pub] [ifscope interface]
       arp -d [-i interface] -a
       arp -s hostname ether_addr [temp] [reject] [blackhole] [pub [only]] [ifscope interface]
       arp -S hostname ether_addr [temp] [reject] [blackhole] [pub [only]] [ifscope interface]
       arp -f filename

我们只需要使用到这个命令:arp -a来查看当前路由节点中所有已连接设备的MAC地址。

能够持续连接校园网而不认证的用户大概不存在不上网你连接校园网干什么,所以扫描出来的地址信息基本上是已经通过校园网认证,能够直接上网的信息。

伪造Mac地址

由于不同的操作系统提供不同的方式进行修改MAC地址,因此分开讲解。

macOS

在苹果操作系统下,通过以下命令来修改MAC地址,重启后会复原。

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether MAC地址
networksetup -detectnewhardware

Windows

通过这个小工具来进行修改操作。(下载地址我放在文章末参考文章内)

在上方下拉栏选择无线网络网卡,在下方输入要更改的MAC地址点击修改按钮完成修改操作。

Linux

ifconfig wlan0 down
ifconfig wlan0 hw ether MAC地址

Android设备可以通过 termux 这款工具来进行同样的操作,前提是完成ROOT

总结

以上,通过这次对校园网的认证绕过,让我对路由的功能有了更深的了解。同时也明白了要想实现一个目的并不一定要进行渗透。

本次能够成功绕过校园网的认证,也有一部分原因来自于学校部署了很多个路由。交换机的CAM并不同步,因此我才能够在绕过后继续使用网络。

参考文章

MAC地址修改工具