1723 - Pentesting PPTP

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Grundlegende Informationen

Point-to-Point Tunneling Protocol (PPTP) ist ein altes VPN-Tunneling-Protokoll, das für Fernzugriff verwendet wird. Es nutzt TCP port 1723 für den Steuerkanal und IP protocol 47 (GRE), um die PPP-Nutzlast zu transportieren. Der Verkehr innerhalb des Tunnels wird üblicherweise mit MPPE geschützt, während die Authentifizierung häufig auf MS-CHAPv2 basiert.

Aus offensiver Perspektive ist meist nicht die Steuerverbindung selbst interessant, sondern die Tatsache, dass das Erfassen eines PPTP/MS-CHAPv2-Handshakes eine Offline-Wiederherstellung von Passwörtern oder NT-hash ermöglichen kann. Denken Sie auch daran, dass ein Host auf TCP/1723 antworten kann, während der Tunnel trotzdem fehlschlägt, weil GRE (protocol 47) gefiltert wird.

Standard-Port:1723

Enumeration

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

Wenn Sie nur tcp/1723 bestätigen und GRE übersehen, können Sie leicht den falschen Eindruck bekommen, dass das VPN erreichbar ist. Beim Troubleshooting oder Sniffing sollten Sie sowohl den Steuer- als auch den gekapselten Traffic erfassen:

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

Angriffshinweise

MS-CHAPv2 handshake capture

Für PPTP ist das relevante Material der PPP-Authentifizierungsaustausch, der über GRE transportiert wird. Bei MS-CHAPv2 hängt die Antwort von Folgendem ab:

  • Der Server AuthenticatorChallenge
  • Der Client Peer-Challenge
  • Der username
  • Die NT-Response

Das bedeutet, dass eine packet capture oft ausreicht, um den Angriff offline durchzuführen. Wenn Sie die initiale Verbindung sniffen können, den Benutzer auffordern können, sich erneut zu verbinden, oder sich on-path positionieren können, erfassen Sie das handshake und extrahieren die challenge/response-Daten.

Nützliche schnelle Filter:

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

Parsen und Entschlüsseln mit chapcrack

chapcrack ist immer noch eine der saubersten Methoden, um ein PPTP capture zu verarbeiten:

chapcrack.py parse -i pptp-handshake.pcap

Wenn Sie das zugrundeliegende geheime Material wiederherstellen, können Sie die PPTP packet capture entschlüsseln:

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

Das ist besonders nützlich, wenn das Ziel nicht nur die Wiederherstellung von Zugangsdaten, sondern auch die Sitzungsentschlüsselung und die Analyse des Datenverkehrs nach der Authentifizierung ist.

Material für Challenge/Response-Cracking

Wenn Sie bereits das Challenge/Response-Paar extrahiert haben, kann asleap weiterhin direkt gegen PPTP/MS-CHAPv2-Material verwendet werden:

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 unterstützt auch das Arbeiten mit packet captures oder vorab berechneten lookup tables, aber für PPTP assessments ist der häufigste Workflow:

  1. Den PPTP handshake erfassen
  2. Die challenge/response extrahieren
  3. Offline-Cracking mit asleap, chapcrack oder einem custom workflow durchführen

Neuere tradecraft umfasst auch NT-hash-first workflows wie assless-chaps, die den NT hash aus MS-CHAPv2/NTLMv1 challenge-response-Material mithilfe einer vorbereiteten Hash-Datenbank wiederherstellen. Das kann schneller sein als konventionelles Passwort-Cracking, wenn Sie einen guten NT-hash-Korpus pflegen:

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

Das ist wichtig, weil bei PPTP der wiedergewonnene NT hash an sich operativ wertvoll ist: Sobald er erlangt wurde, kann er verwendet werden, um den crack zu validieren, captures zu decrypten und in Windows-orientierte reuse checks zu pivoten.

Zusammenfassung der Protokollschwächen

  • PPTP hängt von einem separaten GRE data channel ab, sodass Firewalls häufig tcp/1723 öffnen, während sie den Tunnel stillschweigend unterbrechen.
  • Die Sicherheit von MS-CHAPv2 reduziert sich effektiv auf das Wiedergewinnen von DES-derived material / NT-hash-equivalent secrets, wodurch passive capture deutlich gefährlicher ist als bei modernen VPNs.
  • Selbst wenn das Passwort nicht sofort wiederhergestellt wird, kann der handshake normalerweise stored and attacked offline later.

Referenzen

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks