博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
密码破解之RADIUS-CHAP-MD5
阅读量:4140 次
发布时间:2019-05-25

本文共 1743 字,大约阅读时间需要 5 分钟。

1. 遇到CHAP

客户端在进行拨号时,用户名没有被加密,而密码被加密了。

在用wireshark抓到的包中,过滤RADIUS的数据包,就会看到数据包中radius协议部分的数据:
其中的authenticator为服务器发给客户端的验证码;
user-name为客户端提交的明文的没有经过加密的用户名;
CHAP-Password为客户段使用验证码和密码经过运算后得出的加密的密码;
 
2.搜素CHAP加密:
挑战-握手验证协议(CHAP)  CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和一个任意生成的挑战字串(arbitrary challengestring)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。  CHAP对PAP进行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote clientimpersonation)进行攻击。
相关介绍:
 
3. CHAP加密的破解
chapcrack这个工具是解析握手包的 

1) 首先获得一个数据包捕获与一个MS-CHAPv2网络握手(例如:PPTP VPN或WPA2企业握手)。

2) 使用chapcrack解析握手包(命令:chapcrack parse -i path/to/capture.cap).

3)将握手包提交到 www.cloudcracker.com 这个网站去解析握手包

4) 获得解密的数据包捕获结果 (chapcrack decrypt -i path/to/capture.cap -o output.cap -n )

看完这几部 我淡定了 原来 貌似还是跑字典 貌似没有用算法解开!!!

chapcrack源码:

 

前2步好做,第3步需要不小的经济开支了,选择字典种类和字数,相应的开支也将变化;

 

 

4. 寻找其他破解工具

针对WPA/WPA2加密,破解工具很多,有EWSA,hashcat等。

和WPA/WPA2相比,CHAP的破解过程相似,同样是暴力破解即跑字典,但在前2款软件和其开发公司都没有针对CHAP破解的工具。

搜索其他的针对CHAP的破解工具,依然没有结果。

 

5. 转化为MD5破解

在客户端回应服务器的过程中,它是将前一步服务器发送过来的authen值和自己的密码经过了hash运算得到了CHAP-Password值,所以这一步的过程本质应该算是MD5或哈希预算的过程,或许能将CHAP破解转化为MD5破解,而针对MD5的破解,前2个软件中都有相应的选项。

有关MD5:

 百度百科:

破解网站:

 

RADIUS 协议: 

              

 

  CHAP协议结构:

                            

计算方法有以下之说:

 

响应值按下面的公式进行计算: 

   Response=HASH(Identifier+secret+Challenge)  

其中“+”号表示将各数据在内存中串起来,其中HASH算法可以使用MD5,所以计算出来的HASH值是固定的,16字节长

Secret password = MD5(Chap ID + Password + challenge)

下面是一个数据包中的值:

 identifier: 0x2 (2)

Authenticator: 264935e2d61304bf0705143faa3f1ca4

User-Name: 83717511

CHAP-Password: 02ae21e32802ccfd5b6d9a702d631f9813

NAS-IP-Address: 127.0.0.1 (127.0.0.1)

Calling-Station-Id: 00-21-00-E3-D2-B4

转载地址:http://aihvi.baihongyu.com/

你可能感兴趣的文章
leetcode刷题234 回文链表 Palindrome Linked List(简单) Python Java
查看>>
NG深度学习第二门课作业1-1 深度学习的实践
查看>>
Ubuntu下安装Qt
查看>>
Qt札记
查看>>
我的vimrc和gvimrc配置
查看>>
hdu 4280
查看>>
禁止使用类的copy构造函数和赋值操作符
查看>>
C++学习路线
查看>>
私有构造函数
查看>>
组队总结
查看>>
TitledBorder 设置JPanel边框
查看>>
DBCP——开源组件 的使用
查看>>
抓包工具
查看>>
海量数据相似度计算之simhash和海明距离
查看>>
DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
查看>>
DeepLearning tutorial(6)易用的深度学习框架Keras简介
查看>>
DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
查看>>
流形学习-高维数据的降维与可视化
查看>>
Python-OpenCV人脸检测(代码)
查看>>
python+opencv之视频人脸识别
查看>>