Evil Twin EAP-TLS

Reading time: 4 minutes

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)

Unterstützen Sie HackTricks

Zu einem bestimmten Zeitpunkt musste ich die vorgeschlagene Lösung aus dem untenstehenden Beitrag verwenden, aber die Schritte in https://github.com/OpenSecurityResearch/hostapd-wpe funktionierten in modernem Kali (2019v3) nicht mehr.
Trotzdem ist es einfach, sie zum Laufen zu bringen.
Sie müssen nur das hostapd-2.6 von hier herunterladen: https://w1.fi/releases/ und vor der erneuten Kompilierung von hostapd-wpe installieren: apt-get install libssl1.0-dev

Analyzing and Exploiting EAP-TLS in Wireless Networks

Hintergrund: EAP-TLS in Wireless Networks

EAP-TLS ist ein Sicherheitsprotokoll, das eine gegenseitige Authentifizierung zwischen Client und Server mithilfe von Zertifikaten bietet. Die Verbindung wird nur hergestellt, wenn sowohl der Client als auch der Server die Zertifikate des jeweils anderen authentifizieren.

Aufgetretene Herausforderung

Während einer Bewertung trat ein interessantes Problem auf, als das Tool hostapd-wpe verwendet wurde. Das Tool wies die Verbindung des Clients aufgrund des Zertifikats des Clients zurück, das von einer unbekannten Zertifizierungsstelle (CA) signiert war. Dies deutete darauf hin, dass der Client dem Zertifikat des gefälschten Servers nicht vertraute, was auf nachlässige Sicherheitskonfigurationen auf der Client-Seite hinwies.

Ziel: Einrichtung eines Man-in-the-Middle (MiTM) Angriffs

Das Ziel war es, das Tool so zu modifizieren, dass es jedes Client-Zertifikat akzeptiert. Dies würde die Herstellung einer Verbindung mit dem bösartigen drahtlosen Netzwerk ermöglichen und einen MiTM-Angriff ermöglichen, der potenziell Klartext-Anmeldeinformationen oder andere sensible Daten erfassen könnte.

Lösung: Modifizierung von hostapd-wpe

Die Analyse des Quellcodes von hostapd-wpe ergab, dass die Validierung des Client-Zertifikats durch einen Parameter (verify_peer) in der OpenSSL-Funktion SSL_set_verify gesteuert wurde. Durch Ändern des Wertes dieses Parameters von 1 (validieren) auf 0 (nicht validieren) wurde das Tool so konfiguriert, dass es jedes Client-Zertifikat akzeptiert.

Ausführung des Angriffs

  1. Umgebungsprüfung: Verwenden Sie airodump-ng, um drahtlose Netzwerke zu überwachen und Ziele zu identifizieren.
  2. Einrichten eines gefälschten AP: Führen Sie das modifizierte hostapd-wpe aus, um einen gefälschten Access Point (AP) zu erstellen, der das Zielnetzwerk nachahmt.
  3. Anpassung des Captive Portals: Passen Sie die Anmeldeseite des Captive Portals an, damit sie legitim und vertraut für den Zielbenutzer erscheint.
  4. De-Authentifizierungsangriff: Führen Sie optional einen Deauth-Angriff durch, um den Client vom legitimen Netzwerk zu trennen und ihn mit dem gefälschten AP zu verbinden.
  5. Erfassung von Anmeldeinformationen: Sobald der Client mit dem gefälschten AP verbunden ist und mit dem Captive Portal interagiert, werden seine Anmeldeinformationen erfasst.

Beobachtungen aus dem Angriff

  • Auf Windows-Maschinen könnte das System automatisch eine Verbindung zum gefälschten AP herstellen und das Captive Portal anzeigen, wenn eine Webnavigation versucht wird.
  • Auf einem iPhone könnte der Benutzer aufgefordert werden, ein neues Zertifikat zu akzeptieren, und dann wird das Captive Portal angezeigt.

Fazit

Obwohl EAP-TLS als sicher gilt, hängt seine Wirksamkeit stark von der korrekten Konfiguration und dem vorsichtigen Verhalten der Endbenutzer ab. Fehlkonfigurierte Geräte oder ahnungslose Benutzer, die betrügerische Zertifikate akzeptieren, können die Sicherheit eines durch EAP-TLS geschützten Netzwerks untergraben.

Für weitere Details siehe https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/

References

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)

Unterstützen Sie HackTricks