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
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
基本信息
Point-to-Point Tunneling Protocol (PPTP) 是一种用于远程访问的老旧 VPN 隧道协议。它使用 TCP port 1723 作为控制通道,并使用 IP protocol 47(GRE)来承载 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 评估最常见的工作流程是:
- 捕获 PPTP 握手
- 提取 challenge/response
- 使用
asleap、chapcrack或自定义工作流程运行 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
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


