1723 - Pentesting PPTP

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Información básica

Point-to-Point Tunneling Protocol (PPTP) es un protocolo de túnel VPN antiguo usado para acceso remoto. Utiliza TCP port 1723 para el canal de control y IP protocol 47 (GRE) para transportar la carga útil PPP. El tráfico dentro del túnel suele protegerse con MPPE, mientras que la autenticación se basa frecuentemente en MS-CHAPv2.

Desde una perspectiva ofensiva, la parte interesante normalmente no es la conexión de control en sí, sino el hecho de que capturar un PPTP/MS-CHAPv2 handshake puede permitir la recuperación offline de contraseñas o NT-hash. También recuerda que un host puede responder en TCP/1723 mientras el túnel sigue fallando porque GRE (protocol 47) está filtrado.

Puerto por defecto:1723

Enumeración

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

Si solo confirmas tcp/1723 y omites GRE, puedes obtener fácilmente la falsa sensación de que la VPN es accesible. Durante troubleshooting o sniffing, captura tanto el tráfico de control como el tráfico encapsulado:

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

Notas de ataque

MS-CHAPv2 captura del handshake

Para PPTP, el material relevante es el intercambio de autenticación PPP transportado dentro de GRE. En MS-CHAPv2 la respuesta depende de:

  • El servidor AuthenticatorChallenge
  • El cliente Peer-Challenge
  • El username
  • El NT-Response

Eso significa que una packet capture suele ser suficiente para mover el ataque offline. Si puedes sniffear la conexión inicial, pedir al usuario que se reconecte, o posicionarte on-path, captura el handshake y extrae los datos challenge/response.

Filtros rápidos útiles:

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

Analizar y descifrar con chapcrack

chapcrack sigue siendo una de las formas más limpias de procesar una captura PPTP:

chapcrack.py parse -i pptp-handshake.pcap

Si recuperas el material secreto subyacente, puedes descifrar la captura de paquetes PPTP:

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

Esto es especialmente útil cuando el objetivo no es solo credential recovery, sino también session decryption y post-auth traffic analysis.

Crack challenge/response material

Si ya has extraído el challenge/response pair, asleap todavía puede usarse directamente contra material 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 también soporta trabajar a partir de capturas de paquetes o tablas de búsqueda precomputadas, pero para las evaluaciones PPTP el flujo de trabajo más común es:

  1. Capturar el handshake de PPTP
  2. Extraer el challenge/response
  3. Ejecutar cracking offline con asleap, chapcrack, o un flujo de trabajo personalizado

Las técnicas recientes también incluyen flujos de trabajo NT-hash-first como assless-chaps, que recuperan el NT hash del material de MS-CHAPv2/NTLMv1 challenge-response usando una base de datos de hashes preparada. Esto puede ser más rápido que el cracking convencional de contraseñas si mantienes un buen corpus de NT-hash:

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

This importa porque para PPTP el NT hash recuperado es operacionalmente valioso por sí mismo: una vez obtenido, puede usarse para validar el crack, decrypt captures y pivot hacia comprobaciones de reutilización orientadas a Windows.

Resumen de debilidades del protocolo

  • PPTP depende de un separate GRE data channel, por lo que los firewalls suelen exponer tcp/1723 mientras silenciosamente rompen el túnel.
  • La seguridad de MS-CHAPv2 se reduce efectivamente a recuperar material derivado de DES / secretos equivalentes a NT-hash, haciendo que la captura pasiva sea mucho más peligrosa que con VPNs modernas.
  • Incluso si la contraseña no se recupera de inmediato, el handshake normalmente puede almacenarse y atacarse offline más tarde.

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks