shijy16 / NetManagement

网管大作业

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

校园网计费系统漏洞调研

封斯旸 石景宜 高鸿鹏

一、 调研目标

网络管理的五大功能之一就是计费管理,我们的校园网计费系统是一种典型的计费系统,我们希望能够通过对校园网计费系统的漏洞调研,以提高同学们的安全意识,帮助网络中心进行漏洞修复。

经过前期调研,绕过计费系统方式主要有如下三种:

  • mac地址伪装
  • dns隧道
  • 网络渗透

由于网络渗透需要网络安全专业知识太多,我们仅对前两种方式进行调研。

二、mac地址伪装

原理

对于校园网来说,mac地址伪装是一个致命的攻击手段。校园网络管理系统以mac地址对用户进行标识,如果一个局域网内出现了两个mac地址相同的主机,那么管理系统将无法区分这两个主机,他们将共享一个账户。

为了验证mac地址伪装的效果,我们进行了如下实验。

条件

  • 电脑A:windows系统,连接Tsinghua校园网,登录了同学a的账号。
  • 电脑B:ubuntu系统,连接Tsinghua校园网,未登录任何账号且未登陆过同学a的账号。(windows系统电脑修改mac地址不太方便)

过程和结果

  • 查看电脑A的无线网卡Mac地址,从下图得知,为:40-E2-30-26-4F-7D

    • image-20191219175014212
  • 设置电脑B的无线网卡地址,并重启无线网卡:

  • image-20191219180120425

  • 电脑B进入net.tsinghua.edu.cn/wireless网页,可以看到已经登陆了同学A的账号:

    • image-20191219180224780

    此时,电脑B成功窃取了a同学的校园网账户流量,能够上网,但两台电脑的网络都时好时坏,陷入了一种竞争状态。

  • 此时:

    • 若电脑A不通过网页断开连接,直接断开校园网,则电脑B能够正常上网。
    • 若B直接通过校园网门户断开校园网,则A也会被强制断开。

其他

  • 电脑A连接有线网/Tsinghua-secure,电脑B连接Tsinghua并伪装mac地址,无效。
  • 电脑A和电脑B均连接Tsinghua-Secure,电脑B在门户上断开原有账户连接,伪装为A的mac地址,此时A/B均无法上网。

三、 dns隧道

原理

问题场景

53端口是用于域名解析的端口,防火墙通常对dns查询不做任何限制。一般来说,校园网管理系统的dns解析服务在未登录账户的情况下也是可用的。通过搭建dns隧道,可以通过防火墙的dns端口进行通信,从而绕过计费系统。

步骤

1. 验证dns查询服务不受限制

在不登录账户情况下,使用命令nslookup www.google.com查询谷歌对应ip地址:

image-20191220155657302

可以查询到对应IP地址,说明校园网防火墙不限制dns查询服务。

2. 设置DNS记录

首先,我们申请了一个域名shijy.top,我们可以对该域名的子域名进行dns设置。

在域名管理系统中添加如下两条DNS记录:

image-20191220155223123

第一条为NS类记录,其含义为:子域名a.shijy.top需要到dns.shijy.top进行解析。

第二条为A类记录,其含义为:子域名dns.shijy.top对应的IP为13.71.144.202,即我们使用的校外服务器IP。

3. 配置服务器和客户机

有多种软件可以用来搭建dns隧道,我们使用了dns2tcp来搭建dns隧道。首先在服务器上安装dns2tcp,并设置配置文件:

listen = 0.0.0.0
port = 53
user = nobody
chroot = /tmp
domain = a.shijy.top
resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:3128

表示监听53端口,并将查询a.shijy.top的dns查询包解析为tcp包,将其请求的资源类型按照resources字段设置进行发送。

启动dns隧道服务端:dns2tcpd -f /etc/dns2tcpd.conf -F -d 2

在客户机上,执行dns2tcpc -r ssh -z a.shijy.top -l 8888 -d 1,表示将本机8888端口收到的数据包封装为查询a.shijy.top的dns查询包,资源请求类型为ssh

4. 连接流程

此后,客户机上的网络请求,可以通过代理设置,发送至客户机8888端口,由dns2tcp封装为a.shijy.top的域名地址查询包,通过校园网管理系统防火墙的53端口发送出去。由于之前添加了两条dns记录,该查询包会被发送到dns.shijy.top域名对应的IP地址:13.71.144.202,即我们的服务器,服务端收到dns查询包后,会去除dns封装,并按照对应资源请求类型发送到对应的端口,并将回复包封装为dns回复包,发送给客户机。

5. 结果

客户机启动dns隧道客户端(在windows下ubuntu子系统进行):

image-20191220161836385

客户机在未登录校园网账户的情况下ssh连接上用户主机(使用windows powershell进行):

image-20191220161955916

如果在客户机和服务端进行进一步配置,则可以实现客户机正常上网。

四、结论

校园网计费管理系统存在前面所述漏洞。

对于mac地址伪装漏洞,同学们可以设置动态mac地址来尽量避免自己校园网流量被窃取。校园网管理系统也应该重视该漏洞。

对于dns隧道漏洞,校园网管理系统应该严格设置防火墙对dns查询包校验。

About

网管大作业

License:MIT License