转载-Dr.com客户端认证研究
Dr.com宽带计费系统是由城市热点资讯有限公司开发的一种宽带计费管理软件。本文主要研究其用户登陆认证过程。主要是通过sniffer截获数据包和反汇编及调试技术,取得登陆的一个完整过程。关键词:Dr.com认证
一 软件背景
Drcom宽带计费软件是国内宽带运营商最常使用的一种宽带计费软件。对于一般用户,只要在本机上下载安装Dr.com客户端软件即可登陆执行。
二 研究网络通信数据
通过Sniffer软件,我们很容易获得登陆时客户端服务器双方的通信数据。如下:
1) client --->server发出登陆请求
01 00 00 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
这个数据段格式固定,每次请求的数据完全一样。解析如下:
01 数据段类型
00 不明为0
00 04 数据有效负载长度
01 00 00 00 请求信息
00 00 00 00 00 00 00 00 00 00 00 00 零填充无意义
2) Server --->client接到登陆请求后,给客户端发送一个salt
02 00 00 08 06 14 00 00 00 00 00 00
salt字段解析如下:
02 数据段类型
00 不明为0
00 08 salt段有效负载长
06 14 00 00 00 00 00 00salt 数据
这个阶段的salt 主要是为了客户端加密认证数据之用。在实际认证过程中只使用其了前四个字节。
3 client --->server发出认证信息
数据如下:
0 1234 5678 910 11 12 13 14 15
03 01 00 1d 12 79 b2 b4 9a bb 74 2f 4e fa cb e1
c7 09 f5 43 7a 73 78 79 30 30 32 33 37 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 1f 01 12 d9 7e 61 96 bb
a7 2c 15 ac d6 34 7f d8 d5 c3 11 f2 bc f1 0c dd
01 ac 13 08 77 00 00 00 00 00 00 00 00 00 00 00
00 b4 78 c1 d4 1e 55 f0 95 01 00 00 00 00 74 65
6f 6e 2d 77 63 6b 75 30 33 72 6f 64 6a 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 ca 60
80 8f 00 00 00 00 d2 26 e0 44 00 00 00 00 00 00
00 00 94 00 00 00 05 00 00 00 01 00 00 00 28 0a
00 00 02 00 00 00 53 65 72 76 69 63 65 20 50 61
63 6b 20 31 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 01 00 01 08 00 b0 43 25 2f 5b
c4 01
4 Server --->client认证通过信息
数据如下:
04 00 00 05 03 93 45 00 00 69 41 ae 04 ff ff ff
ff ff 00 00 00 00 00 44 72 63 6f 3d 8e 72 4a 60
03 ac 13 08 77 00 00 b0 05 02 00 00 00 00 00 d2
26 e6 3d ff ff ff ff 01 00 00 00 00 00 00 00 00
00 00 00 00
三 认证信息分析
对第三段认证信息仔细研究如下:
03 01 00 1d数据类型,及数据长度
12 79 b2 b4 9a bb 74 2f 4e fa cb e1 c7 09 f5 43
这个数据段是对 03 01 06 14 00 00 (salt)+用户口令
进行MD5运算,得到的16字节
7a 73 78 79 30 30 32 33 37 szxy0237是用户名明放
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
填充0,使得前面的总长度为0x38
1f 01 对本机来讲1f是不变的 01是固定值
12 d9 7e 61 96 bb 是MAC地址与上面的hash值进行异或运算得到
a7 2c 15 ac d6 34 7f d8 d5 c3 11 f2 bc f1 0c dd
又是一个MD5的hash值 对 01 06 14 00 00(salt)+00 00 00 00 +用户口令进行hash得到。
01 ac 13 08 77 后面四个字节为本机地址 这里是172.19.8.123
00 00 00 00 00 00 00 00 00 00 00 00 填充0
b4 78 c1 d4 1e 55 f0 95
呵呵,还是MD5的hash值 对前0x61字节数据+14 00 07 0b 进行hash。取其前8字节就可以了。
01 00 00 00 00 固定格式
74 65 6f 6e 2d 77 63 6b 75 30 33 72 6f 64 6a
本地计算机名teon-wcku03rodj
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ca 60 80 8f DNS202.96.128.143
00 00 00 00
d2 26 e0 44 备用DNS 210.38.224.68
00 00 00 00 00 00
00 00 94 00 00 00 05 00 00 00 01 00 00 00 28 0a
00 00 02 00 00 00
53 65 72 76 69 63 65 20 50 61 63 6b 20 31Service Pack 1
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
01 00 01 08固定格式
00 b0 43 25 2f 5b c4 01 一个与时间有关的值 估计上次对login文件的写操作时间 在我自己的系统上,这个值为全0 空着,估计对结果影响不大。
值得注意的是抓包过程中,注意包长度,如果长度大于142 ,则有可能得到经过简单加密的口令。
四 攻击方法
从上面数据格式分析可以看出,直接在网络上穷尽猜测口令是不可能的。因为从发出请求数据,到服务器返回数据,再发出数据,所需时间太长,不可能进行大规模穷尽。
攻击办法:局域网用户截获数据,从数据中获得hash值,用户名,局域网地址,在本地穷尽破解。
--
之所以喜欢熬夜,是因为总希望深夜里,孤独时,能找到些不再让心灵空虚的东西。然而
每当昏昏沉沉睡去,迷迷糊糊醒来时却总是发现,依然
空空如也----
---- 一个不会浪漫的浪漫主义者
---- 一个失去理想的理想主义者
---- 一个爱看动漫的抗日fq......
[m 有技术含量就是好文 :mrgreen:
页:
[1]