1723 - Pentesting PPTP

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Informações Básicas

Point-to-Point Tunneling Protocol (PPTP) é um protocolo de tunelamento VPN antigo usado para acesso remoto. Ele usa porta TCP 1723 para o canal de controle e protocolo IP 47 (GRE) para transportar a carga útil PPP. O tráfego dentro do túnel é comumente protegido com MPPE, enquanto a autenticação é frequentemente baseada em MS-CHAPv2.

Do ponto de vista ofensivo, a parte interessante geralmente não é a conexão de controle em si, mas o fato de que capturar um handshake PPTP/MS-CHAPv2 pode permitir a recuperação offline de senhas ou NT-hash. Lembre-se também que um host pode responder em TCP/1723 enquanto o túnel ainda falha porque GRE (protocolo 47) está filtrado.

Porta padrão:1723

Enumeração

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

Se você apenas confirmar tcp/1723 e não detectar GRE, pode facilmente ter uma falsa sensação de que a VPN está acessível. Durante a solução de problemas ou sniffing, capture tanto o tráfego de controle quanto o 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

Captura do handshake MS-CHAPv2

Para PPTP, o material relevante é a troca de autenticação PPP transportada dentro de GRE. No MS-CHAPv2 a resposta depende de:

  • O servidor AuthenticatorChallenge
  • O cliente Peer-Challenge
  • O username
  • A NT-Response

Isso significa que uma captura de pacotes geralmente é suficiente para mover o ataque para modo offline. Se você conseguir sniffar a conexão inicial, pedir ao usuário para reconectar, ou se posicionar on-path, capture o handshake e extraia os dados de challenge/response.

Filtros rápidos úteis:

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

Analise e descriptografe com chapcrack

chapcrack continua sendo uma das formas mais limpas de processar uma captura PPTP:

chapcrack.py parse -i pptp-handshake.pcap

Se você recuperar o material secreto subjacente, poderá descriptografar a captura de pacotes PPTP:

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

Isto é especialmente útil quando o objetivo não é apenas a recuperação de credenciais, mas também a descriptografia da sessão e a análise do tráfego pós-autenticação.

Material de Crack challenge/response

Se você já extraiu o par challenge/response, asleap ainda pode ser usado diretamente 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 também suporta trabalhar a partir de packet captures ou precomputed lookup tables, mas para avaliações PPTP o fluxo de trabalho mais comum é:

  1. Capturar o PPTP handshake
  2. Extrair o challenge/response
  3. Executar offline cracking com asleap, chapcrack, ou um workflow customizado

Técnicas recentes também incluem fluxos de trabalho NT-hash-first como assless-chaps, que recuperam o NT hash a partir de material MS-CHAPv2/NTLMv1 challenge-response usando uma prepared hash database. Isso pode ser mais rápido do que o convencional password cracking se você mantiver um bom NT-hash corpus:

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

Isso importa porque, para o PPTP, o NT hash recuperado é operacionalmente valioso por si só: uma vez obtido, pode ser usado para validar o crack, decrypt captures e pivotar para verificações de reuso orientadas ao Windows.

Resumo das falhas do protocolo

  • PPTP depende de um separate GRE data channel, então firewalls frequentemente expõem tcp/1723 enquanto silenciosamente quebram o túnel.
  • A segurança do MS-CHAPv2 efetivamente colapsa para a recuperação de material derivado de DES / segredos equivalentes ao NT-hash, tornando a captura passiva muito mais perigosa do que com VPNs modernas.
  • Mesmo que a password não seja imediatamente recuperada, o handshake geralmente pode ser armazenado e atacado offline depois.

Referências

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks