minieap icon indicating copy to clipboard operation
minieap copied to clipboard

锐捷6.8是真的无力啊。。一点办法没有

Open terryluzheng opened this issue 8 years ago • 67 comments

terryluzheng avatar Feb 25 '17 08:02 terryluzheng

目前算法只适用于官方 Linux 客户端能用的环境。试试学校的官方 Linux 版还能不能用?

updateing avatar Feb 25 '17 09:02 updateing

学校官方的客户端已经有很长时间不更新了

terryluzheng avatar Feb 26 '17 07:02 terryluzheng

我校客户端也好几年没更新了,但一样能过认证。还请测试。

updateing avatar Feb 26 '17 07:02 updateing

学校win版本稍微低一点就非管理员指定的客户端,然后黑名单。。。

iLayPark avatar Feb 26 '17 15:02 iLayPark

可以提供winshark抓包文件

iLayPark avatar Feb 26 '17 15:02 iLayPark

可以用电子邮件发到 [email protected],我看看有没有新增字段…… 不过如果是算法问题,那就没有办法了。

updateing avatar Feb 27 '17 00:02 updateing

好的,课后回去发

iLayPark avatar Feb 27 '17 01:02 iLayPark

你好,已发送

iLayPark avatar Feb 27 '17 02:02 iLayPark

@updateing 已经发现Windows版本的校验算法了? 好像你让他发给你Windows下抓的包没有什么意义啊

czkwg8 avatar Feb 27 '17 02:02 czkwg8

并没有,我是想如果字段补充完整的话至少不会被发现版本过低而黑名单,只会密码错误。这样的话能够方便后续测试。

比如这里多出和不同的字段(MD5 Response 为例):

# 多出,是个表示十六进制的 ASCII 字符串,会变,不同包中大小写还会不同
INFO:
	header->type = 0x17
	header->len = 0x22 (including type and len, actual size = 0x20)
	content(hex) =
...

# 缺少 0x55,本来是空字段

# 多出
INFO:
	header->type = 0x6b
	header->len = 0x03 (including type and len, actual size = 0x01)
	content(hex) =
00

# 多出,我校 6.60 版客户端这里是 00 00 01 00 00 04 00 00,我猜可能是版本相关?
INFO:
	header->type = 0x7e
	header->len = 0x0a (including type and len, actual size = 0x08)
	content(hex) =
00 00 01 00 00 0c 00 00

# 改变,Linux 版这里是版本字符串
INFO:
	header->type = 0x6f
	header->len = 0x03 (including type and len, actual size = 0x01)
	content(hex) =
00

# 多出
INFO:
	header->type = 0x79
	header->len = 0x03 (including type and len, actual size = 0x01)
	content(hex) =
02

updateing avatar Feb 27 '17 02:02 updateing

@updateing 其实我觉得我们这样对比字段逐个猜测还是太浪费时间了,况且还没有找出新的Windows版本处理反破解数据的方法 如果真的希望模拟windows版本,还是要逆向,但是Windows版本更新是比较频繁的,你会花上更长的时间和星网锐捷拉锯战 我依然觉得还是把这个项目的关注者往Linux版本上面引导(毕竟向学校提出要使用Linux系统对我们这些专业也算是正当理由了)比较好

czkwg8 avatar Feb 27 '17 03:02 czkwg8

是这样说,应该对学校提出要求,而且我在每个 issue 最开头也是说先尝试学校的 Linux 版本了。但确实不能指望学校太多(最近发生一些事让我对我校网络中心的印象变差很多)……

updateing avatar Feb 27 '17 03:02 updateing

基本搞定,但是发送心跳包还是有问题,隔几分钟就掉线,学校的心跳可能也升级了

iLayPark avatar Feb 28 '17 11:02 iLayPark

@ifwangs 如果你们学校使用Linux客户端没问题的话,看看他们的心跳设计

czkwg8 avatar Feb 28 '17 11:02 czkwg8

除此之外也可能有心跳间隔问题。超出宽限期后就会掉线。

Windows 的心跳包确实会不同,不清楚现在这样简单的心跳是否通用……

updateing avatar Feb 28 '17 15:02 updateing

是直接改windows包的md5就发出去了?

czkwg8 avatar Feb 28 '17 15:02 czkwg8

不是,是很简单的格式,从 MentoHUST 继承过来的……

updateing avatar Feb 28 '17 15:02 updateing

我指的是认证用的那三个包,心跳好像一直都没怎么注意,估计是有改动的,因为不记得在哪里好像看到过v3心跳这样的字眼

czkwg8 avatar Feb 28 '17 16:02 czkwg8

认证用的三个包是根据抓官方 Linux 版的包得到的字段列表自己生成出来的,不是套模板改出来的。

updateing avatar Mar 01 '17 00:03 updateing

所以意思就是说实际上这个学校的设置还是能用Linux的客户端的? 另外你提到了字段和客户端版本的问题,这么说来不是通过md5计算的结果判断的? 如果是的话感觉有些什么东西我理解错了…

Hamster Tian [email protected]于2017年3月1日周三 08:27写道:

认证用的三个包是根据抓官方 Linux 版的包得到的字段列表自己生成出来的,不是套模板改出来的。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/updateing/minieap/issues/10#issuecomment-283205582, or mute the thread https://github.com/notifications/unsubscribe-auth/ABraexl8Vq54Ub1IX-h05Ee4BqBTbLV9ks5rhLuAgaJpZM4ML8ds .

czkwg8 avatar Mar 01 '17 00:03 czkwg8

所以意思就是说实际上这个学校的设置还是能用 Linux 的客户端的?

这应该要等他说明……

另外你提到了字段和客户端版本的问题,这么说来不是通过 md5 计算的结果判断的?

这样一说,局端可以判断 EAP 规定中的 MD5 字段与私有 hash 是否一起能通过认证。若 EAP 规定的字段通过了而私有 hash 没有通过,则可以说明用户使用了非指定客户端。但锐捷设计时应该是考虑了实际环境中可能存在多个版本客户端,即使是正确的密码也会有多种不同的 hash。要支持环境中所有的客户端的话,局端就要在每次认证时把所有可能的 hash 都算出来…… 不知道是不是真的这样,要是真的话私有 hash 就可以拿来判断版本了。等 @ifwangs 说明吧……

updateing avatar Mar 01 '17 02:03 updateing

经反复测试,最终还是用旧版v2算法认证成功,但心跳包发不出去,会自动掉线重连。这个项目能不能兼容上v2算法试试

iLayPark avatar Mar 01 '17 03:03 iLayPark

@ifwangs 用当初的0.3.1算了吧 v2的算法早就已经不更新了,你再对比心跳有什么不一样吧

czkwg8 avatar Mar 01 '17 03:03 czkwg8

@czkwg8 通过某宝拿到了修改过的认证数据包,原0.3.1可以认证成功了,但是我自己抓的包始终不行。但心跳始终是个问题,等空下来用锐捷客户端抓一下心跳包研究研究

iLayPark avatar Mar 01 '17 03:03 iLayPark

校验不是重点了的话,剩下的字段就很有趣了。

这里是已知字段 ID 的列表,这里是查找任意文件中的字段的工具(其实就是在找 1a xx 00 00 13 11 这个 magic),后者可以直接以抓包文件做参数。可以比较一下,看看是否有上面说的那些字段。

心跳包也可能会跟着字段列表,也可以用上面的工具辅助分析。

updateing avatar Mar 01 '17 08:03 updateing

111111111111112.png 上面三个小图是我抓包结果,下面是原版V2心跳,不知道发不了心跳是不是这里的问题。而且上面三个图中圈圈里的是变化的

iLayPark avatar Mar 02 '17 02:03 iLayPark

你画出来的地方恰好是心跳包中的 echono 和 echokey 组合出来的字段。按 MentoHUST本项目的理解,一个是随机的,一个要从 success 中读取。抓出来不一样很正常。

你说的心跳发不出去是指抓包结果里都没有心跳包出现,还是发出去了没作用?是否考察过发送间隔?

updateing avatar Mar 02 '17 10:03 updateing

@updateing 应该是没发出去,输出一直显示正在发送数据包已保持在线,改了心跳间隔也不行。过一会就会认证掉线

iLayPark avatar Mar 03 '17 01:03 iLayPark

抓包看看吧……

updateing avatar Mar 03 '17 01:03 updateing

@updateing 推荐个ubuntu下抓包工具吧

iLayPark avatar Mar 03 '17 02:03 iLayPark