1723 - Pentesting PPTP

Tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

基本信息

Point-to-Point Tunneling Protocol (PPTP) 是一种用于远程访问的老旧 VPN 隧道协议。它使用 TCP port 1723 作为控制通道,并使用 IP protocol 47GRE)来承载 PPP 负载。隧道内部的流量通常由 MPPE 保护,而认证通常基于 MS-CHAPv2

从攻击角度来看,通常有趣的部分不是控制连接本身,而是捕获 PPTP/MS-CHAPv2 握手可以实现离线密码或 NT-hash 的恢复。还要记住,主机可能在 TCP/1723 上响应,而隧道仍然失败,因为 GRE(协议 47)被过滤

Default Port:1723

枚举

nmap -Pn -sSV -p1723 <IP>
nmap -Pn -sO --protocol 47 <IP>

如果你只确认 tcp/1723 并漏掉 GRE,你很容易产生 VPN 可达的错误感觉。在故障排查或 sniffing 时,捕获控制与封装流量:

sudo tcpdump -ni <iface> 'tcp port 1723 or gre' -w pptp-handshake.pcap
tshark -r pptp-handshake.pcap -Y 'pptp || gre || ppp || chap'

Brute Force

攻击笔记

MS-CHAPv2 握手捕获

对于 PPTP,相关内容是通过 GRE 传输的 PPP 认证交换。在 MS-CHAPv2 中,响应取决于:

  • 服务器端 AuthenticatorChallenge
  • 客户端 Peer-Challenge
  • username
  • NT-Response

这意味着一次抓包通常就足够将攻击转为离线进行。如果你能嗅探到初始连接、请求用户重新连接,或将自己置于 on-path,捕获握手并提取挑战/响应数据。

有用的快速过滤条件:

tshark -r pptp-handshake.pcap -Y 'chap'
tshark -r pptp-handshake.pcap -Y 'ppp and chap'

使用 chapcrack 进行解析和解密

chapcrack 仍然是处理 PPTP capture 最简洁的方法之一:

chapcrack.py parse -i pptp-handshake.pcap

如果你恢复了底层的秘密材料,就可以解密 PPTP 的数据包捕获:

chapcrack.py decrypt -i pptp-handshake.pcap -o pptp-decrypted.pcap -n <recovered_nt_hash_or_token>

This is especially useful when the goal is not only credential recovery but also session decryption and post-auth traffic analysis.

Crack challenge/response material

如果你已经提取了 challenge/response 对,asleap 仍然可以直接用于针对 PPTP/MS-CHAPv2 的材料:

asleap -C 58:16:d5:ac:4b:dc:e4:0f -R 50:ae:a3:0a:10:9e:28:f9:33:1b:44:b1:3d:9e:20:91:85:e8:2e:c3:c5:4c:00:23 -W /usr/share/wordlists/rockyou.txt

asleap 也支持基于抓包或预计算的查找表工作,但对于 PPTP 评估最常见的工作流程是:

  1. 捕获 PPTP 握手
  2. 提取 challenge/response
  3. 使用 asleapchapcrack 或自定义工作流程运行 offline cracking

近期的实战技法还包括 NT-hash-first 类的 workflows,例如 assless-chaps,它们通过使用预先准备的 hash 数据库从 MS-CHAPv2/NTLMv1 的 challenge-response 材料中恢复 NT hash。如果你维护了良好的 NT-hash 语料库,这比传统的密码破解可能更快:

./assless-chaps <challenge> <response> <hashes.db>

这很重要,因为对于 PPTP,恢复的 NT hash 本身在操作上具有价值:一旦获得,它可用于验证破解、解密抓取的数据,并转向针对 Windows 的重复利用检查。

协议弱点摘要

  • PPTP 依赖于 独立的 GRE 数据通道,因此防火墙常常会暴露 tcp/1723,却在背后中断隧道。
  • MS-CHAPv2 security effectively collapses to recovering DES-derived material / NT-hash-equivalent secrets,使得被动捕获比现代 VPN 更加危险。
  • 即使密码没有被立即恢复,握手通常也可以 被保存并在离线环境中攻击

参考资料

Tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks