1723 - Pentesting PPTP

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Informations de base

Point-to-Point Tunneling Protocol (PPTP) est un ancien protocole de tunneling VPN utilisé pour l’accès à distance. Il utilise TCP port 1723 pour le canal de contrôle et IP protocol 47 (GRE) pour transporter la charge utile PPP. Le trafic à l’intérieur du tunnel est généralement protégé par MPPE, tandis que l’authentification repose fréquemment sur MS-CHAPv2.

D’un point de vue offensif, la partie intéressante n’est généralement pas la connexion de contrôle elle-même, mais le fait que capturer un PPTP/MS-CHAPv2 handshake peut permettre la récupération hors-ligne du mot de passe ou du NT-hash. Pensez aussi qu’un hôte peut répondre sur TCP/1723 alors que le tunnel échoue parce que GRE (protocol 47) est filtré.

Default Port:1723

Enumération

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

Si vous ne confirmez que tcp/1723 et omettez GRE, vous pouvez facilement avoir une fausse impression que le VPN est accessible. Lors du dépannage ou du sniffing, capturez à la fois le trafic de contrôle et le trafic encapsulé:

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

Notes d’attaque

Capture du handshake MS-CHAPv2

Pour PPTP, les données pertinentes sont l’échange d’authentification PPP transporté dans GRE. Dans MS-CHAPv2 la réponse dépend de :

  • Le serveur AuthenticatorChallenge
  • Le client Peer-Challenge
  • Le username
  • Le NT-Response

Cela signifie qu’une packet capture est souvent suffisante pour passer l’attaque en offline. Si vous pouvez sniff la connexion initiale, demandez à l’utilisateur de se reconnecter, ou positionnez-vous on-path ; capturez le handshake et extrayez les données challenge/response.

Filtres rapides utiles :

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

Analyser et décrypter avec chapcrack

chapcrack reste l’une des manières les plus simples pour traiter une capture PPTP :

chapcrack.py parse -i pptp-handshake.pcap

Si vous récupérez le matériel secret sous-jacent, vous pouvez déchiffrer la capture de paquets PPTP :

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

Ceci est particulièrement utile lorsque l’objectif n’est pas seulement la récupération d’identifiants, mais aussi le déchiffrement de session et l’analyse du trafic post-authentification.

Crack matériel challenge/réponse

Si vous avez déjà extrait la paire challenge/réponse, asleap peut toujours être utilisé directement contre le matériel 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 prend également en charge le travail à partir de packet captures ou de precomputed lookup tables, mais pour les assessments PPTP le workflow le plus courant est :

  1. Capturer le PPTP handshake
  2. Extraire le challenge/response
  3. Lancer offline cracking avec asleap, chapcrack, ou un workflow personnalisé

Les techniques récentes incluent également des workflows NT-hash-first tels que assless-chaps, qui récupèrent le NT hash à partir du matériau de challenge-response MS-CHAPv2/NTLMv1 en utilisant une hash database préparée. Cela peut être plus rapide que le password cracking conventionnel si vous maintenez un bon NT-hash corpus :

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

Cela importe parce que pour PPTP le NT hash est opérationnellement précieux en soi : une fois obtenu, il peut être utilisé pour valider le crack, déchiffrer des captures et pivoter vers des vérifications de réutilisation orientées Windows.

Résumé des faiblesses du protocole

  • PPTP dépend d’un canal de données GRE séparé, donc les firewalls exposent souvent tcp/1723 tout en cassant silencieusement le tunnel.
  • MS-CHAPv2 security effectively collapses to recovering DES-derived material / NT-hash-equivalent secrets, rendant la capture passive beaucoup plus dangereuse que pour les VPNs modernes.
  • Même si le mot de passe n’est pas immédiatement récupéré, le handshake peut généralement être stocké et attaqué hors ligne ultérieurement.

Références

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks