Pentesting LEAP Encrypted WLAN
Das Lightweight Extensible Authentication Protocol (LEAP) ist ein Cisco-basiertes Legacy-Authentifizierungsprotokoll, das einen externen RADIUS-Server zur Authentifizierung von Benutzern verwendet. Es führt eine pseudo-gegenseitige Authentifizierung sowohl des drahtlosen Clients als auch des Authentifizierungsservers unter Verwendung von Hashing-Funktionen durch - MS-CHAP und MS-CHAPv2.
Die Sicherheitslücke von LEAP liegt in der Tatsache, dass -
Der Benutzername des Benutzers wird im Klartext gesendet. Daher muss der Hacker nur das Kennwort des Benutzers abrufen, beispielsweise mithilfe von Social Engineering.
Das Passwort des Benutzers wird mit MS-CHAPv2 gehackt - der Algorithmus ist anfällig für Offline-Wörterbuchangriffe.
Beginnen wir wie in früheren Fällen mit Airodump-ng, um herauszufinden, welche WLANs in der Umgebung gesendet werden.
Wie Sie sehen, ist der WLAN "LAB-Test" als WPA2-Netzwerk sichtbar. Bei diesem Typ wird der Authentifizierungsmodus in "MGT" geändert. Dies bedeutet, dass kein statischer Pre-Shared Key (PSK) vorhanden ist, die Authentifizierungsdienste jedoch auf einen externen Authentifizierungsserver (z. B. RADIUS) verschoben werden. Zu diesem Zeitpunkt können Sie nicht sagen, ob das jeweilige WLAN-Netzwerk auf LEAP, PEAP, EAP-TLS, EAP-TTLS oder einer anderen Art von EAP-Technologie basiert.
Der nächste Schritt ist das Aktivieren Wireshark, um in Paketdetails zu sehen - es gibt dem Penetrationstester viele wertvolle Informationen.
Wie Sie sehen können, hat der Authentifizierungsserver zuerst versucht, EAP-TTLS auszuhandeln, aber der Client hat dies abgelehnt. In den nächsten 2 Nachrichten haben sie der Verwendung von LEAP zugestimmt.
In den ersten beiden Nachrichten fragt der Authentifizierungsserver nach einem Benutzernamen (Identität) und der Client antwortet. Wie Sie sehen, wird die Antwort des Clients im Klartext übertragen.
Zu diesem Zeitpunkt wissen wir bereits, dass ein gültiger Benutzername des drahtlosen Clients "LAB_user" ist. Um das Passwort herauszufinden, schauen wir uns das anRequest/Response Austausch.
Am unteren Rand des 802.1x-Authentifizierungsheaders können Sie feststellen, dass der Authentifizierungsserver den drahtlosen Client mit dem Aufforderungstext "197ad3e4c81227a4" herausgefordert hat. Im Hintergrund hat der drahtlose Client einen MS-CHAPv2-Algorithmus in Kombination mit dem Kennwort von LAB_user verwendet und einen Hash mit dem Wert "ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89" erhalten, der an den Authentifizierungsserver zurückgesendet wurde. Wie Sie aus früheren Kapiteln wissen, ist MS-CHAPv2 zum Glück für uns anfällig für Offline-Wörterbuchangriffe. Dafür verwenden wir ein sehr verbreitetes Tool zum Brechen des LEAP-Passworts, genanntasleap.
Wie Sie sehen können, basierend auf der Paketerfassung, asleapkonnte alle Informationen des 802.1X-Paketaustauschs ableiten und MS-CHAPv2-Hashing knacken. Das Passwort für den Benutzer: "LAB_user" lautet "f8be4a2c".
Es besteht erneut die große Chance, dass Sie die LEAP-Authentifizierung in der Produktionsumgebung nie sehen werden - zumindest haben Sie jetzt einen sehr guten Beweis dafür, warum.