CHAP:挑战握手认证协议 ,是 PPP 协议集中的一种链路控制协议,在网络物理连接后进行连接安全性验证的协议。通过三次握手周期性的校验对端的身份,在初始链路建立时完成,可以在链路建立之后的任何时候重复进行,它比PAP更加可靠。
CHAP主动权掌握在服务器手里,验证方是服务器,被验证方是客户端。
CHAP比RAP更安PAP在线路上发送明文密码,CHAP发送的是经过算法加工后的随机序列,而且即使是双方通信过程中身份验证也能随时进行,就算某次密码被破解,短时间内也会更新。
拓扑入下:
配置前RT-BJ:
路由器名称/串口号 | ARR2220 Serial4/0/0 |
链路协议 | ppp |
LCP状态 | opened |
IPCP状态 | opened |
物理链路类型 | ppp |
IP地址 | 192.168.90.2/24 |
配置前RT-SZ:
路由器名称/串口号 | ARR2220 Serial4/0/0 |
链路协议 | ppp |
LCP状态 | opened |
IPCP状态 | opened |
物理链路类型 | ppp |
IP地址 | 192.168.90.3/24 |
进行chap配置:
BJ:
[RT-BJ]aaa
[RT-BJ-aaa]local-user myoffice-chap password cipher 12345678
[RT-BJ-aaa]local-user myoffice-chap service-type ppp
[RT-BJ-aaa]q
[RT-BJ]int s4/0/0
[RT-BJ-Serial4/0/0]link-protocol ppp
[RT-BJ-Serial4/0/0]ppp authentication-mode chap
[RT-BJ-Serial4/0/0]undo shut
[RT-BJ-Serial4/0/0]undo shutdown
SZ:
[RT-SZ]int s4/0/0
[RT-SZ-Serial4/0/0]lin
[RT-SZ-Serial4/0/0]link-protocol ppp
[RT-SZ-Serial4/0/0]ppp chap user myoffice-chap
[RT-SZ-Serial4/0/0]ppp chap password cipher 12345678
[RT-SZ-Serial4/0/0]shutdown
[RT-SZ-Serial4/0/0]undo shutdown
[RT-SZ-Serial4/0/0]dis this
[V200R003C00]
#
interface Serial4/0/0
link-protocol ppp
ppp chap user myoffice-chap
ppp chap password cipher %$%$=RP.Y9el{1n&iS0iT.+B,.[h%$%$
ip address 192.168.90.3 255.255.255.0
#
抓包分析:
1:BJ向SZ发送challenge、其中包括一个Challenge string(value字段)和Server Name(pptpd)
2:BJ向SZ发送Response,其中用户名使用明文发送,密码(syberos)和Challenge字段混合hash后以密文(value字段)形式发送;
3:SZ读取密码文件,对用户身份进行验证,验证成功,向Client发送Success,表示身份验证成功
实验模板链接:阿里云盘分享