1723 - Pentesting PPTP

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Informazioni di base

Point-to-Point Tunneling Protocol (PPTP) è un vecchio protocollo di tunneling VPN usato per l’accesso remoto. Usa la porta TCP 1723 per il canale di controllo e il protocollo IP 47 (GRE) per trasportare il payload PPP. Il traffico all’interno del tunnel è comunemente protetto con MPPE, mentre l’autenticazione è spesso basata su MS-CHAPv2.

Da una prospettiva offensiva, la parte interessante di solito non è la connessione di controllo in sé ma il fatto che capturing a PPTP/MS-CHAPv2 handshake can enable offline password or NT-hash recovery. Ricorda anche che un host può rispondere su TCP/1723 mentre il tunnel fallisce perché GRE (protocol 47) is filtered.

Porta predefinita:1723

Enumerazione

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

Se confermi solo tcp/1723 e trascuri GRE, puoi facilmente avere la falsa impressione che la VPN sia raggiungibile. Durante troubleshooting o sniffing, cattura sia il traffico di controllo che quello incapsulato:

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

Note sull’attacco

MS-CHAPv2 handshake capture

Per PPTP, il materiale rilevante è lo scambio di autenticazione PPP trasportato all’interno di GRE. In MS-CHAPv2 la response dipende da:

  • The server AuthenticatorChallenge
  • The client Peer-Challenge
  • The username
  • The NT-Response

Ciò significa che una packet capture è spesso sufficiente per spostare l’attacco offline. Se puoi sniff la connessione iniziale, chiedi all’utente di riconnettersi o posizionati on-path; cattura l’handshake ed estrai i dati challenge/response.

Filtri rapidi utili:

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

Analizza e decifra con chapcrack

chapcrack è ancora uno dei modi più puliti per elaborare una cattura PPTP:

chapcrack.py parse -i pptp-handshake.pcap

Se recuperi il materiale segreto sottostante, puoi decrypt the PPTP packet capture:

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

Questo è particolarmente utile quando l’obiettivo non è solo il recupero delle credenziali ma anche la decrittazione della sessione e l’analisi del traffico post-auth.

Crack challenge/response material

Se hai già estratto la coppia challenge/response, asleap può comunque essere usato direttamente contro materiale 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 supporta anche il lavoro da packet captures o precomputed lookup tables, ma per le valutazioni PPTP il workflow più comune è:

  1. Catturare il PPTP handshake
  2. Estrarre il challenge/response
  3. Eseguire offline cracking con asleap, chapcrack, o un workflow personalizzato

Le tecniche recenti includono anche workflow NT-hash-first come assless-chaps, che recuperano l’NT hash dal materiale challenge-response MS-CHAPv2/NTLMv1 usando un database di hash preparato. Questo può essere più veloce del conventional password cracking se si mantiene un buon corpus di NT-hash:

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

Questo è importante perché, per PPTP, l’NT hash recuperato è di per sé di valore operativo: una volta ottenuto, può essere usato per validare il crack, decrypt captures e pivot into Windows-oriented reuse checks.

Riepilogo delle debolezze del protocollo

  • PPTP dipende da un canale dati GRE separato, quindi i firewall spesso espongono tcp/1723 mentre interrompono silenziosamente il tunnel.
  • La sicurezza di MS-CHAPv2 si riduce praticamente al recupero di materiale derivato da DES / segreti NT-hash-equivalent, rendendo la passive capture molto più pericolosa rispetto alle VPN moderne.
  • Anche se la password non viene recuperata immediatamente, l’handshake può di solito essere salvato e attaccato offline in un secondo momento.

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks