手机版

湛师人 | 岭南师范学院(原湛江师范学院)BBS论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4893|回复: 4
打印 上一主题 下一主题

简单分析校园网802.1x认证协议

[复制链接]

签到天数: 9 天

[LV.3]偶尔看看II

跳转到指定楼层
1#楼
发表于 2012.8.25 20:29:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
抓包工具http://www.wireshark.org/


开始之前可以到这里了解一下总的流程

http://apt-blog.net/details_about_802_1x_in_campus_authentication_1


开始认证, 客户端发送EAPOL-START包,内容如下:
  1. 0000  01 80 c2 00 00 03 70 71  bc 12 ba 69 88 8e 01 01   ......pq ...i....
  2. 0010  00 00
复制代码
1-6字节为802.1x标准的多播地址。7-12字节为本机MAC地址。13-14字节为数据帧类型,这里为0x888e。第15字节为Version字段。第16字节为Type字段,这里为1表示认证开始。17-18字节为Length字段,这里为0,因为这个包还没有包含EAP信息。      

==============================================================

交换机回应一个EAP Request, Identity包,要求验证身份:
  1. 0000  70 71 bc 12 ba 69 00 d0  d0 fd 03 98 88 8e 01 00   pq...i.. ........
  2. 0010  00 05 01 04 00 05 01 00  00 0b 01 59 37 29 69 8b   ........ ...Y7)i.
  3. 0020  9b 95 18 4f 5f 12 d7 50  ad d8 a4 b4 22 f8 b3 79   ...O_..P ...."..y
  4. 0030  b2 a5 59 d6 10 24 c3 75  f5 1c a4 b9 9b 12 af 8d   ..Y..$.u ........
复制代码
交换机向客服端发送EAP-Request Identity消息,请求验证身份。看到了70 71  bc 12 ba 69是我电脑的MAC地址。00 d0  d0 fd 03 98为中兴交换机的MAC地址。后面接着的几个和前面说的一样。从19字节开始为EAP信息,第19字节为Code字段,这里为1表示Request;第20字节为Id字段,表示EAP消息序号,该消息的Id为4;第21-22字节为Length字段,它表示EAP消息的长度,和802.1XAuthentication的Length字段代表相同的语意。这个消息长度为5字节,所以此处值为5;第23字节为Type字段,表示EAP消息的类型,该消息Type值为1,表示Identity。

====================================================

客服端发送EAP        Response, Identity包,内容如下:
  1. 0000  01 80 c2 00 00 03 70 71  bc 12 ba 69 88 8e 01 00   ......pq ...i....
  2. 0010  00 14 02 04 00 14 01 7a  6a 6c 61 6e 7a 73 6a 67   .......
  3. 0020  32 31 30 36 32 30   
复制代码
第19字节的Code字段值为2表示Response;第20字节为Id字段值为4,对应EAP-Request Identity的Id,表示对Id为1的Request的回应;第21-22字节的Length字段值为20(16进制的14为20);第23字节的Type字段值仍为1,表示Identity;从24字节到最后为16进制ASCII码的身份信息,也就是UserName。

=========================================

交换机发送 EAP-Request MD5-Challenge包,内容如下:
  1. 0000  70 71 bc 12 ba 69 00 d0  d0 fd 03 98 88 8e 01 00   pq...i.. ........
  2. 0010  00 20 01 05 00 20 04 10  49 b7 77 75 33 ab eb 5e   . ... .. I.wu3..^
  3. 0020  a8 68 03 84 ca 02 22 a2  7a 74 65 2d 73 77 69 74   .h....". zte-swit
  4. 0030  63 68 bb d9 21 b9 c8 b1  60 e6 4b a4 16 a4 28 06   ch..!... `.K...(.
复制代码
交换机收到了EAP-Response Identity消息后,得到了本机的身份信息,接着向本机发出EAP-Request MD5-Challenge,挑战例如密码之类的认证信息。
第20字节为Id字段值为5;第21-22字节的Length字段值为32;第23字节的Type字段值为4,表示MD5-Challenge;第24字节是Value-Size字段,表示Value字段的长度。此处值为16,可以估计Value也是使用MD5生成;第25-40字节为Value字段内容,此处值为49 b7 77 75 33 ab eb 5e a8 68 03 84 ca 02 22 a2。后面的7a:74:65:2d:73:77:69:74:63:68为EAP-MD5 Extra Data,不知道有什么用。

=========================================================
客户端发送EAP-Response MD5-Challenge包。内容如下:
  1. 0000  01 80 c2 00 00 03 70 71  bc 12 ba 69 88 8e 01 00   ......pq ...i....
  2. 0010  00 25 02 05 00 25 04 10  09 b3 4c 81 d4 a6 6c f1   .%...%.. ..L...l.
  3. 0020  f0 67 12 ed 81 b4 41 c2  7a 6a 6c 61 6e 7a 73 6a   .g....A. zjlanzsj
  4. 0030  67 32 31 30 36 32 30                               g210620  
复制代码
第20字节为Id字段值为5,对应Request;第21-22字节的Length字段值为31;第23字节的Type字段值仍为4;第24字节的Value-Size字段值仍为16,因为MD5算法得到的结果长度为16个字节;第25-40字节为Value字段内容,此处值为09:b3:4c:81:d4:a6:6c:f1:f0:67:12:ed:81:b4:41:c2,这里是密码经过MD5算法处理后的值。 7a6a6c616e7a736a67323130363230,内容为16进制ASCII码表示的用户身份,UserName。

===================================
认证成功,EAP-Success
  1. 0000  70 71 bc 12 ba 69 00 d0  d0 fd 03 98 88 8e 01 00   pq...i.. ........
  2. 0010  00 2a 03 05 00 2a 01 24  03 1f 68 74 74 70 3a 2f   .*...*.$ ..http:/
  3. 0020  2f 31 37 32 2e 31 36 2e  30 2e 34 36 2f 61 75 74   /172.16. 0.46/aut
  4. 0030  6f 75 70 64 61 74 65 2f  2c 04 01 01 eb 02 fc dc   oupdate/ ,.......
复制代码
验证者收到请求者回应的EAP-Response MD5-Challenge消息后,将该消息重新封装如RADIUS数据包,发送给后面的认证服务器。认证服务器确认用户名/密码正确后,发送EAP-Success,认证者再将该消息重新封装发送给请求者,表明认证已经通过,进入授权状态,可以请求DHCP分配IP地址了。
EAP-Success消息很简单。第19字节的Code字段值为3表示Success;第20字节为Id字段值仍然为5,表明是之前Id为5的Challenge的结果;第21-22字节的Length字段值为42。

==============================================
接下来是保持在线状态,从这里开始是中兴和华为认证较大不同的地方。前面的过程基本相同。这也可以解释之前有人在Linux下用华为h3c的linux版本为什么会过几分钟就掉线了,因为两者保持在线状态的方式不同。

华为h3c的:交换机会定期发送EAP-Request Identity消息给客户端,客户端要在一定时间内回应EAP-Response Identity,以保持在线状态。

中兴的:服务器每隔一些时间发来EAPOL        Key,内容如下



而我们要回应两个EAPOL        Key包



其中, 这两个包中的key都是使用收到的EAPOL        Key包中的Key IV 进行rc4运算得到.
而Key Signature 是用来校验的,即把从version开始到结束为止的包内容(Key Signature填充0)进行hmac—md5运算的结果.

这里有华为的分析,认证过程基本相同:http://sunblog.72pines.com/h3c-8021x-analysis-captured/
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 顶 踩
湛江师范学院三下乡社会实践活动专题

签到天数: 17 天

[LV.4]偶尔看看III

群组轮滑协会

2#楼
发表于 2012.8.25 21:30:28 | 只看该作者
貌似很厉害的样子   不过我不懂
许愿天空

签到天数: 207 天

[LV.7]常住居民III

3#楼
发表于 2012.8.29 14:38:26 | 只看该作者
支持技术帖~
[发帖际遇]: 一个袋子砸在了 dongdehua168 头上,dongdehua168 赚了 1 热情. 幸运榜 / 衰神榜
在线看电视,网络直播

签到天数: 1 天

[LV.1]初来乍到

4#楼
发表于 2012.9.11 02:06:06 | 只看该作者
深深地膜拜下。只分析和抓过http协议。之前学校有sl版本的客户端,传说lion用不了。

该用户从未签到

5#楼
发表于 2012.9.11 18:11:19 | 只看该作者
哈哈,这个分析写得挺好的,我做过但是没有写过教程。。。现在做好了路由器就不接触这些东西了~~~校园网终于可以用路由器了!那个兴奋啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

使用帮助
1.发帖导航 2.帮助文档 3.账号密码 4.广告业务 5.社团合作 6.联系我们 举报 | 报错

版权声明
免责声明
关于本站
联系我们
业务合作
Archiver
举报

Copyright © 湛师人论坛 zhanshiren.com 2008-2013 All Rights Reserved. 版权所有 ( 粤ICP备09028485号

Powered by Discuz! X3.1 © Comsenz Inc. GMT+8, 2024.4.28 19:51   

快速回复 返回顶部 返回列表