Einbruch ins VPN

Die IP-Erweiterung IPSec gilt als die sicherste VPN-Technik. Doch auch sie hat ihre Schwachstellen, die sich mit speziellen Tools finden und ausnutzen lassen. Umsichtige Administratoren testen deshalb ihr eigenes Netz -- bevor es die Einbrecher tun.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 11 Min.
Von
  • Michael Thumann
Inhaltsverzeichnis

Virtuelle Private Netze (VPNs) bieten ein hohes Einsparpotenzial, indem sie statt teurer Standleitungen das Internet als Transportnetz benutzen. Die Vertraulichkeit der über öffentliche Netze gesendeten Daten gewährleisten dabei moderne Verschlüsselungs- und Authentifizierungsverfahren [1]. Das wichtigste Protokoll für die Implementierung von VPNs ist mittlerweile IPSec, allerdings ist es auch das komplexeste. Mit Hilfe von IPSec lassen sich nicht nur komplette Unternehmensnetzwerke über das Internet koppeln, auch mobile Benutzer können sich darüber mit dem Mail- und Datenbank-Server in der Firma verbinden.

Diese Komplexität kann durchaus selbst zum Sicherheitsrisiko werden. Zur fehlerfreien Konfiguration von IPSec-basierten VPNs ist Know-how und Erfahrung notwendig - zwei Voraussetzungen, die erschreckend viele Administratoren nicht in ausreichendem Maße besitzen. In Kombination mit laschen Default-Einstellungen vieler Geräte beziehungsweise Programme führt das oft zu vermeidbaren Schwachstellen, die gefährliche Angriffspunkte für Hacker schaffen.

Da die VPN-Verschlüsselung selbst kaum zu knacken ist, bieten die Endpunkte den besten Ansatzpunkt für einen Einbruch in ein VPN. Hierzu zählen sowohl die VPN-Gateways - die zentralen Einwahlpunkte des Unternehmens - als auch die VPN-Clients mobiler Benutzer, etwa Notebooks.

Häufigstes Ziel eines Hackers ist in der Regel das Notebook, angefangen vom Diebstahl bis zum Einbruch über Sicherheitslücken im Betriebssystem oder darauf laufenden Applikationen. Funknetze in Hotels und auf Flughäfen bieten Hackern dabei einen vielversprechenden Ansatzpunkt, da gerade dort die Wahrscheinlichkeit sehr groß ist, auf Teilnehmer zu treffen, die mal eben zum Datenaustausch einen VPN-Tunnel in ihre Firma aufbauen.

Zwar bieten die meisten Hersteller von VPN-Lösungen spezielle Clientsoftware mit integrierter Firewall an, um Zugriffe auf den Rechner abzuwehren, aber nicht alle haben die Software auch installiert und aktiviert. Der gerade aufgebaute VPN-Zugang bietet dem Angreifer die Möglichkeit, über das gehackte Endgerät weiter in das Unternehmensnetzwerk vorzudringen und damit Zugriff auf vertrauliche Informationen zu erhalten -- falls er die nicht sogar bereits auf der lokalen Festplatte gefunden hat.

Aber auch das Firmen-Gateway bietet unter Umständen Ansatzpunkte für Angriffe. Und anders als die mobilen Endgeräte ist es notwendigerweise ständig übers Internet erreichbar und damit Angriffen direkt ausgesetzt.

Zur Vorbereitung eines Angriffs sammeln Einbrecher zunächst alle verfügbaren Informationen. Ein VPN-Gateway lässt sich vergleichsweise einfach identifizieren. Dazu reicht bereits ein Portscanner wie nmap völlig aus, der beispielsweise folgende Ausgabe liefert:

# nmap -sSUV -O 10.1.1.254
Starting nmap 3.70 (Interesting ports on 10.1.1.254:
PORT STATE SERVICE
256/tcp open fw1-secureremote
257/tcp open fw1-log service
259/udp open|filtered firewall1-rdp
500/udp open|filtered isakmp
1701/udp open|filtered L2TP
Device type: firewall
Running: Checkpoint Windows NT/2K/XP
OS details: Checkpoint SecurePlatform NG FP3

Schon die Charakteristik der erreichbaren Ports lässt erkennen, dass es sich um eine Firewall des Herstellers Checkpoint handelt. Das von nmap eingesetzte Fingerprinting und die Diensteerkennung (oben nicht dargestellt) untermauern die Vermutung, dass man gerade eine Firewall-1 NG auf SecurePlatform untersucht hat. Der UDP Port 500 ist ein eindeutiges Zeichen, dass diese Firewall auch als VPN Gateway fungiert. Über diesen Port wickeln VPNs nämlich den geschützten Schlüsselaustausch mittels IKE (Internet Key Exchange) ab, ein elementarer Bestandteil von IPSec.

Spezielle Tools finden sogar die vom Gateway benutzten kryptografischen Verfahren und Parameter heraus -- auch das liefert Hinweise auf den Hersteller. Diese Aufgabe erledigt das freie Programm IKE-Scan [2]:

#ike-scan 10.1.1.254 --trans=5,2,1,5 -o
Starting ike-scan 1.2 with 1 hosts
10.1.1.254
IKE Main Mode Handshake returned (1 transforms)

IKE Backoff Patterns:

IP Address No. Recv time Delta Time
10.1.1.254 1 1092956328.817392 0.000000
10.1.1.254 2 1092956330.923392 2.106000
10.1.1.254 3 1092956332.885392 1.962000
10.1.1.254 4 1092956334.833392 1.948000
10.1.1.254 5 1092956336.836392 2.003000
10.1.1.254 6 1092956338.835392 1.999000
10.1.1.254 7 1092956340.844392 2.009000
10.1.1.254 8 1092956344.875392 4.031000
10.1.1.254 9 1092956348.882392 4.007000
10.1.1.254 10 1092956352.866392 3.984000
10.1.1.254 11 1092956356.902392 4.036000
10.1.1.254 12 1092956360.883392 3.981000
10.1.1.254 Implementation guess: Firewall-1 4.1/NG

Die Option "-trans=5,2,1,5 " gibt die zu testenden Parameter an: 3DES, SHA, Preshared Key, Diffie Hellman Gruppe 5. Die Meldung "IKE Main Mode Handshake returned" zeigt, dass das VPN Gateway diese Parameter akzeptiert und es wird auch gleich der Hersteller angezeigt. Der erfolgreiche Einsatz dieses Tools ist allerdings sehr stark von der Konfiguration und den unterstützten Parametern des VPN-Gateways abhängig. Hier ist es häufig hilfreich, die IKE- und IPSec-Parameter von Hand oder mit Hilfe eines Skriptes durchzuprobieren.

Ob man das Preisgeben solcher Informationen als Sicherheitsproblem einstuft, ist vielleicht noch Geschmackssache. Ein echtes Problem hat der Betreiber eines VPNs, wenn es Angreifern gelingt, die Authentifizierung zu knacken und sich unberechtigterweise am Gateway anzumelden. Unter bestimmten Umständen ist jedoch auch dies mehr oder minder leicht zu bewerkstelligen, beispielsweise, wenn zur Authentifizierung ein Preshared Key (PSK) verwendet wird und das Gateway im sogenannten Aggressive Mode arbeitet. Der Aggressive Mode verkürzt aus Geschwindigkeitsgründen den IKE-Handshake zum Schlüsselaustausch. Statt der sechs Pakete im konservativen Main Mode gehen dabei nur drei über die Leitung. Das hat allerdings seinen Preis: der Aggressive Mode ist anfällig für gezielte Angriffe.

Zur Authentifizierung sendet das Gateway einen aus dem PSK abgeleiteten Hashwert über das Netz. Da dieser Hash nicht verschlüsselt ist, lässt sich damit unter Umständen der Preshared Key über Wörterbuch- oder Brute-Force-Angriffe rekonstruieren [3]. Je nach Qualität des Keys dauert das dann wenige Minuten, einige Monate oder sogar Jahre. An den Hash zu gelangen, ist kein besonderes Kunststück: Das VPN-Gateway sendet ihn im Aggressive Mode bereits beim Kontaktversuch eines VPN-Clients übers Netz.

Mit dem von der Firma ERNW veröffentlichten VPN-Schwachstellen-Scanner IKEProbe lassen sich IPSec-VPN-Gateways gezielt auf diese Lücke hin untersuchen [4]. Das Tool simuliert dabei einen VPN-Client und versucht einen IKE-Handshake im Aggressive Mode. Dabei testet es alle unterstützten IKE-Parameter durch und prüft, ob das Gateway den PSK-Hash sendet. Sobald eine entsprechende Antwort vorliegt, ist es potenziell angreifbar. Ein Scan mit IKEProbe auf ein verwundbares Gateway kann beispielsweise folgendes Ergebnis liefern:

#ikeprobe 10.1.1.254
IKE Aggressive Mode PSK Vulnerability Scanner
Supported Attributes
Ciphers : DES, 3DES, AES-128, CAST
Hashes : MD5, SHA1
Diffie Hellman Groups: DH Groups 1, 2 and 5

IKE Proposal for Peer: 10.1.1.254
Aggressive Mode activated ...

Attribute Settings:
Cipher DES
Hash SHA1
Diffie Hellman Group 1

0.000 3: ph1_initiated(00443ee0, 00384708)
0.010 3: << ph1 (00443ee0, 244)
0.030 3: >> 40
0.030 2: sx_recv_notify: invalid doi
2.532 3: << ph1 (00443ee0, 244)
5.537 3: << ph1 (00443ee0, 244)
8.541 3: ph1_disposed(00443ee0)
(...)
Attribute Settings:
Cipher 3DES
Hash SHA1
Diffie Hellman Group 5

64.551 3: ph1_initiated(00443ee0, 00384708)
64.662 3: << ph1 (00443ee0, 340)
64.692 3: >> 328
64.842 3: ph1_get_psk(00443ee0)

System is vulnerable!!

Ein konkreter Angriff auf ein solch verwundbares VPN-Gateway ist erschreckend einfach zu realisieren. Das Passwort-Sniffing- und -Cracking-Tool Cain & Abel kann bei einem IKEProbe-Lauf den IKE-Verkehr mitlesen und mit seinem eingebauten IKE-Parser den Hash extrahieren [5].

Cain snifft den Hashwert während des IKE-Handshakes zwischen IKEProbe und Gateway

Doch Cain & Abel kann noch mehr: Mit dem eingebauten Passwort-Cracker versucht es auch gleich den passenden Key zu dem Hash zu ermitteln -- je nach Konfiguration mittels Wörterbuch- oder Brute-Force-Attacke. Prinzipiell gilt, dass ein guter Key nicht in einem praktikablen Zeitraum geknackt werden. Allerdings sind gute Preshared Keys in der Praxis erstaunlich selten.

Ein Grund dafür ist, dass der Aufwand für solche Angriffe immer noch oft überschätzt wird. So dauert beispielsweise das Durchprobieren einer Liste mit einer Million Wörtern weniger als eine Minute. Um alle Kombinationen kleiner Buchstaben eines sechsstelligen Keys durchzuprobieren, benötigt selbst ein schon etwas betagter PC mit 1.2GHz nur circa zwei Stunden. Zwei Stellen mehr erhöhen die Rechenzeit auf 55 Tage. Sind zusätzlich Großbuchstaben und Zahlen erlaubt, verlängert sich die Rechenzeit auf 148 Jahre.

Cain hat den Preshared Key erfolgreich errechnet

Um mit dem geknackten Key eine Verbindung zum VPN-Gateway aufzubauen, reicht ein handelsüblicher VPN-Client aus, etwa der in PGP enthaltene PGPNet oder Sentinel [6]. Um tatsächlich Zugang zum Firmennetz zu erlangen, muss ein Angreifer zwar noch die richtigen IP-Subnetze hinter dem Gateway erraten -- doch das ist reine Fleißarbeit. Mit einer dem Gateway nachgeschalteten Firewall ließe sich allerdings der Zugriff auf Ressourcen im Netz einschränken. VPN-Gateways sind deshalb oft in einer separaten, entmilitarisierten Zone (DMZ) platziert, um die unverschlüsselten Verbindungen ins LAN nochmals zu filtern.

Ob ein VPN-Gateway den riskanten Aggressive Mode verwendet, hängt von den jeweiligen Einstellungen ab. Bei manchen Produkten ist das sogar die Standardeinstellung, beispielsweise bei manchen Cisco-Geräten und älteren Versionen der Firewall-1 von Checkpoint. Andere Implementierungen wie FreeS/Wan verzichten hingegen ganz darauf und beschränken IKE auf den konservativen Main Mode, den alle IPSec-Implementierungen unterstützen müssen.

Die hier geschilderten Sicherheitsrisiken lassen sich am einfachsten vermeiden, indem man auf Preshared Keys komplett verzichtet und stattdessen Smartcards, HardwareTokens und X.509-Zertifikate einsetzt. Wer gezwungen ist, zur Authentifizierung weiterhin PSKs einzusetzen, weil das Netzwerk-Budget nichts anderes hergibt oder der organisatorische Aufwand einer Umstellung zu groß wäre, wählt Schlüssel, die zumindest 20 Zeichen lang sind und aus Buchstaben, Zahlen und Sonderzeichen bestehen. Der riskante Agressive Mode ist auf jeden Fall tabu.

[1] c't-Artikel: Das private Internet - Abhörsicher die weltweite Infrastruktur nutzen

[2] IKE-Scan

[3] heise Security-Artikel: Mit roher Gewalt - Angriff auf Passwörter in Windows-Netzwerken

[4] IKEProbe

[5] Cain & Abel

[6] PSK Cracking using IKE Aggressive Mode

[7] Cisco Security Notice: Response to BugTraq - Internet Key Exchange Issue (dab)