华南理工大学新校园网认证协议的一点分析

新的客户端似乎与drcom有较大的联系,我根据身在现场的同学抓的包,给出一点点分析,并基于scapy写出了一个简单的认证客户端(希望能用)。

1. Start

Start包很简单,向固定的MAC地址(01:80:c2:00:00:03)发送请求。1

2. Response Identity

在接收到服务器的Request Identity后,需要回复 用户名 + 0x00 0x44 0x61 0x00 0x00 + 客户端IP地址(4字节)2

3. Request MD5 Challenge

该协议的特别之处在于,Request MD5 Challenge时,会提供16字节的信息,需要加入到下一步的MD5运算中。客户端程序必须把该部分提取出来以备用。如红框所示。

3

4. Response MD5 Challenge

需要给服务器发送MD5 + 用户名 + 0x00 0x44 0x61 0x2a 0x00 + 4字节IP地址

其中,MD5的计算公式为[1]

MD5-Value = MD5(Identifier + Password + MD5-Challenge)

Identifier和MD5-Chanllenge均由EAP-Request / MD5-Challenge给出。

4

5.UDP

在802.1X认证之外,还有UDP的认证。这个相比1X而言复杂不少。在不少人的共同努力下,应该是掌握了它的奥妙所在。

根据以上几点,我在pyscutclient的基础上修改出了pyscutclient_drcom,目前该程序有待测试。

 

参考文献

  1. Shindo. 哈尔滨工业大学(威海)校园网认证协议分析[EB/OL]. http://sdou.net/2016/05/hitwh-authentication-protocol-analysis/ , 2016-05-06.
  2. drcoms. https://github.com/drcoms/drcom-generic/blob/master/analyses/d_keep_alive2.md
  3. 华工路由器群

发表评论