WPA2-Angriff: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
No edit summary
Line 16: Line 16:
<code>PMKID = HMAC-SHA1-128(PMK, ESSID | BSSID | MAC Gerät)</code>
<code>PMKID = HMAC-SHA1-128(PMK, ESSID | BSSID | MAC Gerät)</code>



Wurden alle notwendigen Daten ermitellt, kann der Brute-Force-Angriff auf den PMK durchgeführt werden.

=== Angriff ===


Der Brute-Force-Angriff auf WPA/WPA2 lässt sich in drei Phasen unterteilen. Hierbei sind die ersten zwei Phasen im Netzwerk auszuführen, die dritte kann offline erfolgen. Im Folgenden werden die einzelnen Phasen des Angriffs erklärt.
Der Brute-Force-Angriff auf WPA/WPA2 lässt sich in drei Phasen unterteilen. Hierbei sind die ersten zwei Phasen im Netzwerk auszuführen, die dritte kann offline erfolgen. Im Folgenden werden die einzelnen Phasen des Angriffs erklärt.
Line 30: Line 34:
Im zweiten Schritt wird mittels der zuvor gesammelten Informationen die Kommunikation des Access Points belauscht. Es muss solange gewartet werden, bis ein neues Gerät in das WLAN-Netzwerk aufgenommen und dadurch ein 4-way-handshake durchgeführt wird. Dabei muss mindestens ein EAPOL-Frame des 4-way-handshakes aufgezeichnet werden. Aus dem mitgeschnittenen EAPOL-Frame können nun alle für die Brute-Force-Attacke benötigten Informationen abgeleitet werden, dies sind die MAC-Adresse des Gerätes, von dem aus die Authentifizierung erfolgte sowie die verwendete PMKID.
Im zweiten Schritt wird mittels der zuvor gesammelten Informationen die Kommunikation des Access Points belauscht. Es muss solange gewartet werden, bis ein neues Gerät in das WLAN-Netzwerk aufgenommen und dadurch ein 4-way-handshake durchgeführt wird. Dabei muss mindestens ein EAPOL-Frame des 4-way-handshakes aufgezeichnet werden. Aus dem mitgeschnittenen EAPOL-Frame können nun alle für die Brute-Force-Attacke benötigten Informationen abgeleitet werden, dies sind die MAC-Adresse des Gerätes, von dem aus die Authentifizierung erfolgte sowie die verwendete PMKID.
Dauert es zu lange, bis sich ein neues Gerät mit dem AP verbinden möchte, kann ein Deauthentifizierungs-Angriff durchgeführt werden. Dabei wird über die Netzwerkkarte des Angreifers die Reauthentifizierung aller mit dem anzugreifenden AP verbundenen Geräte erzwungen. Es besteht bei diesem Vorgehen jedoch eine Chance, durch die Benutzer des Netzwerks bemerkt zu werden.
Dauert es zu lange, bis sich ein neues Gerät mit dem AP verbinden möchte, kann ein Deauthentifizierungs-Angriff durchgeführt werden. Dabei wird über die Netzwerkkarte des Angreifers die Reauthentifizierung aller mit dem anzugreifenden AP verbundenen Geräte erzwungen. Es besteht bei diesem Vorgehen jedoch eine Chance, durch die Benutzer des Netzwerks bemerkt zu werden.



Im dritten Schritt wird der Brute-Force-Angriff durchgeführt. Folgende Informationen sind dazu vorhanden
Im dritten Schritt wird der Brute-Force-Angriff durchgeführt. Folgende Informationen sind dazu vorhanden



* ESSID
* ESSID
Line 39: Line 41:
* MAC Gerät
* MAC Gerät
* PMKID
* PMKID



es fehlt somit nur noch der verwendete PMK. Dieser PMK kann nun durch den Angriff erraten werden, indem mittels des oben vorgestellten Verfahrens zur Berechnung der PMKID versucht wird, eine Hash-Kollision zu finden. Wurde für einen geratenen PMK eine Kollision festgestellt, ist der Angriff beendet und das Zugangs-Passwort gefunden. Der Brute-Force-Angriff lässt sich, je nach Tool / Programmierung, auf mehrere verschiedene Weisen durchführen - als Wöterbuch-Angriff, als regelbasierter WörtebBuch-Angriff oder über reguläre Ausdrücke.
es fehlt somit nur noch der verwendete PMK. Dieser PMK kann nun durch den Angriff erraten werden, indem mittels des oben vorgestellten Verfahrens zur Berechnung der PMKID versucht wird, eine Hash-Kollision zu finden. Wurde für einen geratenen PMK eine Kollision festgestellt, ist der Angriff beendet und das Zugangs-Passwort gefunden. Der Brute-Force-Angriff lässt sich, je nach Tool / Programmierung, auf mehrere verschiedene Weisen durchführen - als Wöterbuch-Angriff, als regelbasierter WörtebBuch-Angriff oder über reguläre Ausdrücke.


=== Angriffsarten ===

==== Wörterbuch-Angriff ====
Für den Wörterbuch-Angriff wird z.B. eine Passwortliste benötigt. Diese Listen enthalten durch Angriffe aller Art erhaltene Passwörter, welche durch reale Benutzer bei verschiedensten Diensten benutzt werden. Es wird nun jedes Passwort dieser Liste ausprobiert. Ist das Passwort in der Liste enthalten, kann ein effizienter Brute-Force-Angriff durchgeführt werden. Ist das Passwort jedoch nicht in der Liste enthalten, bleibt der Wörterbuch-Angriff erfolglos.
Passwortlisten können online heruntergeladen, eine frei zugängliche ist z.B unter https://github.com/danielmiessler/SecLists/tree/master/Passwords zu finden. Als Alternative dienen auch Wörterbücher oder selbstgenerierte Listen.

==== Reguläre Ausdrücke ====
Einige Tools lassen die Verwendung von regulären Ausdrücken für Brute-Force-Angriffe zu. Hierbei muss mittels eines regulären Ausdrucks eine Vermutung über das Passwort angestellt werden, z.B. die Länge, die verwendeten Zeichen etc. Anschließend werden alle möglichen Kombinationen für den regulären Ausdruck berechnet. Dies ist für den Angreifer sehr rechenaufwändig, und kann gerade bei starken Passwörtern sehr lange dauern.

==== Regelbasierter Angriff ====
Der regelbasierte Angriff ist eine spezielle Art des Wörterbuchangriffs. Hierbei werden nach bestimmten Regeln Permutationen der in der Liste enthaltenen Passwörter generiert, welche ebenfalls als PMK probiert werden.

=== Wörterbuchangriff mit AirCrack unter Linux ===
Dieses Beispiel setzt die Installation folgender Tools in der aktuellsten Version voraus:

* hcxdumptool https://github.com/ZerBea/hcxdumptool
* hcxtools https://github.com/ZerBea/hcxtools
* hashcat https://github.com/hashcat/hashcat

Zudem muss eine Passwortliste lokal vorhanden sein.

==== Vorbereitung ====

Zuerst muss alles für den Angriff vorbereitet werden. Dazu muss die für den Angriff verwendete Netzwerkkarte in den Monitoring-Modus versetzt werden. Dazu kann wie folgt vorgegangen werden:

# Ermitteln des Interface-Namens der Netzwerkkarte:

<code>
root@kali: iwconfig

eth0 no wireless extensions.

wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=off
Retry short long limit:2 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
lo no wireless extensions.
</code>

# WLAN-Karte in den Monitor-Modus versetzen:

<code>
root@kali: airmon-ng start wlan0
</code>

AirCrack überprüft beim Ausführen des Befehls, ob Prozesse existieren, die das Aktivieren des Monitoring-Modus verhindern. Werden welche gefunden, fragt AirCrack, ob diese abgebrochen werden sollen. Diese Frage kann mit <code>Y</code> bestätigt werden. Andernfalls kann auch

<code>airmon-ng check kill</code>

verwendet werden und anschließend der Startbefehl erneut durchgeführt werden. Nun sollte die Netzwerkkarte in den Monitoring-Modus versetzt worden sein.

3. Überprüfen des Interfaces:

<code>
root@kali: iwconfig

eth0 no wireless extensions.


lo no wireless extensions.
* Wörterbuch-Angriff
*: Für den Wörterbuch-Angriff wird z.B. eine Passwortliste benötigt. Diese Listen enthalten durch Angriffe aller Art erhaltene Passwörter, welche durch reale Benutzer bei verschiedensten Diensten benutzt werden. Es wird nun jedes Passwort dieser Liste ausprobiert. Ist das Passwort in der Liste enthalten, kann ein effizienter Brute-Force-Angriff durchgeführt werden. Ist das Passwort jedoch nicht in der Liste enthalten, bleibt der Wörterbuch-Angriff erfolglos.
:* Passwortlisten können online heruntergeladen, eine frei zugängliche ist z.B unter https://github.com/danielmiessler/SecLists/tree/master/Passwords zu finden. Als Alternative dienen auch Wörterbücher oder selbstgenerierte Listen.


wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.457 GHz Tx-Power=20 dBm
* Reguläre Ausdrücke
Retry short long limit:2 RTS thr:off Fragment thr:off
*: Einige Tools lassen die Verwendung von regulären Ausdrücken für Brute-Force-Angriffe zu. Hierbei muss mittels eines regulären Ausdrucks eine Vermutung über das Passwort angestellt werden, z.B. die Länge, die verwendeten Zeichen etc. Anschließend werden alle möglichen Kombinationen für den regulären Ausdruck berechnet. Dies ist für den Angreifer sehr rechenaufwändig, und kann gerade bei starken Passwörtern sehr lange dauern.
Power Management:off


</code>
* Regelbasierter Angriff
*: Der regelbasierte Angriff ist eine spezielle Art des Wörterbuchangriffs. Hierbei werden nach bestimmten Regeln Permutationen der in der Liste enthaltenen Passwörter generiert, welche ebenfalls als PMK probiert werden.


== Key Reinstallation Attack (???) ==
== Key Reinstallation Attack (???) ==

Revision as of 11:29, 8 October 2018

WPA2 ist ein Sicherheitsprotokoll zum Schützen drahtloser Heim- und Firmennetzwerke. Dabei wird durch WPA2 der gesamte Netzwerkverkehr, der mit dem Netzwerk verbundenen Geräte, verschlüsselt sowie weitere Vorkehrungen getroffen, sodass Angreifern das Eindringen in das Netzwerk erschwert wird. Der WPA2-Standard ist eine Erweiterung des Vorgängers WPA. Der Nachfolger des WPA2-Standards wird derzeit unter dem Namen WPA3 entwickelt.

Mit dem Entwurf des neuen WPA3-Standards wurden bei der Suche nach weiteren Angriffsmöglichkeiten Sicherheitslücken innerhalb des von WPA/WPA2 verwendeten 4-way-handshakes gefunden. <ref>[1]</ref> Dabei ermöglicht die Sicherheitslücke einen Brut-Force-Angriff auf das WLAN-Passwort des Zielrouters, sodass der Angreifer Internetzugang über den angegriffenen Router erhalten kann.

Neben den Brute-Force-Angriffe auf das WLAN-Passwort, kann auch eine Key Reinstallation Attack (KRACK) ausgeführt werden. Ein solcher Angriff ermöglicht es dem Angreifer, den Netzwerk-Verkehr des Angegriffenen zu entschlüsseln und somit den Inhalt der Pakete zu lesen. So kann der Angreifer sensible Informationen wie Benutzernamen, Passwörter, Bankverbindungen und ähnliches erhalten.

Geschichte

WPA2-Grundlagen

Brute-Force-Angriff

Mittels des Brute-Force-Angriffs versucht der Angreifer das Zugangs-Passwort eines WLAN-Netzwerks zu erhalten. Dazu muss der Angreifer lediglich einen EAPOL-Frame, d. h. eine Nachricht des 4-Way-Handshakes, der bei der Verbindung eines Gerätes mit dem Access Point (AP) durchgeführt wird, mitschneiden. Der Mitschnitt enthält dabei die PMKID, welche für den Angriff benötigt wird. Die PMKID setzt sich dabei wie folgt zusammen:


PMKID = HMAC-SHA1-128(PMK, ESSID | BSSID | MAC Gerät)


Wurden alle notwendigen Daten ermitellt, kann der Brute-Force-Angriff auf den PMK durchgeführt werden.

Angriff

Der Brute-Force-Angriff auf WPA/WPA2 lässt sich in drei Phasen unterteilen. Hierbei sind die ersten zwei Phasen im Netzwerk auszuführen, die dritte kann offline erfolgen. Im Folgenden werden die einzelnen Phasen des Angriffs erklärt.


  1. Informationen über den anzugreifenden Access Point sammeln (ESSID, BSSID, Channel).
  2. Einen EAPOL-Frame des 4-way-handshakes mitschneiden
    • Deauthentifizierungs-Angriff
  3. Brute-Force-Angriff auf den mitgeschnitten 4-way-handshake


Um den Angriff erfolgreich ausführen zu können, muss zuerst der anzugreifende Access Point ausgewählt werden. Dazu muss die Netzwerkkarte des Angreifers in den Monitoring-Modus versetzt werden. Ist dies geschehen, kann der ESSID (Name) des Access Points, die BSSID (MAC-Adresse) des Access Points so wie der Channel (Funkkanal) ermittelt werden. Wurden die benötigten Informationen gesammelt, kann nun gezielt der Netzwerkverkehr zwischen dem Access Point und anderen Geräten abgehört werden.

Im zweiten Schritt wird mittels der zuvor gesammelten Informationen die Kommunikation des Access Points belauscht. Es muss solange gewartet werden, bis ein neues Gerät in das WLAN-Netzwerk aufgenommen und dadurch ein 4-way-handshake durchgeführt wird. Dabei muss mindestens ein EAPOL-Frame des 4-way-handshakes aufgezeichnet werden. Aus dem mitgeschnittenen EAPOL-Frame können nun alle für die Brute-Force-Attacke benötigten Informationen abgeleitet werden, dies sind die MAC-Adresse des Gerätes, von dem aus die Authentifizierung erfolgte sowie die verwendete PMKID. Dauert es zu lange, bis sich ein neues Gerät mit dem AP verbinden möchte, kann ein Deauthentifizierungs-Angriff durchgeführt werden. Dabei wird über die Netzwerkkarte des Angreifers die Reauthentifizierung aller mit dem anzugreifenden AP verbundenen Geräte erzwungen. Es besteht bei diesem Vorgehen jedoch eine Chance, durch die Benutzer des Netzwerks bemerkt zu werden.

Im dritten Schritt wird der Brute-Force-Angriff durchgeführt. Folgende Informationen sind dazu vorhanden

  • ESSID
  • BSSID
  • MAC Gerät
  • PMKID

es fehlt somit nur noch der verwendete PMK. Dieser PMK kann nun durch den Angriff erraten werden, indem mittels des oben vorgestellten Verfahrens zur Berechnung der PMKID versucht wird, eine Hash-Kollision zu finden. Wurde für einen geratenen PMK eine Kollision festgestellt, ist der Angriff beendet und das Zugangs-Passwort gefunden. Der Brute-Force-Angriff lässt sich, je nach Tool / Programmierung, auf mehrere verschiedene Weisen durchführen - als Wöterbuch-Angriff, als regelbasierter WörtebBuch-Angriff oder über reguläre Ausdrücke.

Angriffsarten

Wörterbuch-Angriff

Für den Wörterbuch-Angriff wird z.B. eine Passwortliste benötigt. Diese Listen enthalten durch Angriffe aller Art erhaltene Passwörter, welche durch reale Benutzer bei verschiedensten Diensten benutzt werden. Es wird nun jedes Passwort dieser Liste ausprobiert. Ist das Passwort in der Liste enthalten, kann ein effizienter Brute-Force-Angriff durchgeführt werden. Ist das Passwort jedoch nicht in der Liste enthalten, bleibt der Wörterbuch-Angriff erfolglos. Passwortlisten können online heruntergeladen, eine frei zugängliche ist z.B unter https://github.com/danielmiessler/SecLists/tree/master/Passwords zu finden. Als Alternative dienen auch Wörterbücher oder selbstgenerierte Listen.

Reguläre Ausdrücke

Einige Tools lassen die Verwendung von regulären Ausdrücken für Brute-Force-Angriffe zu. Hierbei muss mittels eines regulären Ausdrucks eine Vermutung über das Passwort angestellt werden, z.B. die Länge, die verwendeten Zeichen etc. Anschließend werden alle möglichen Kombinationen für den regulären Ausdruck berechnet. Dies ist für den Angreifer sehr rechenaufwändig, und kann gerade bei starken Passwörtern sehr lange dauern.

Regelbasierter Angriff

Der regelbasierte Angriff ist eine spezielle Art des Wörterbuchangriffs. Hierbei werden nach bestimmten Regeln Permutationen der in der Liste enthaltenen Passwörter generiert, welche ebenfalls als PMK probiert werden.

Wörterbuchangriff mit AirCrack unter Linux

Dieses Beispiel setzt die Installation folgender Tools in der aktuellsten Version voraus:

Zudem muss eine Passwortliste lokal vorhanden sein.

Vorbereitung

Zuerst muss alles für den Angriff vorbereitet werden. Dazu muss die für den Angriff verwendete Netzwerkkarte in den Monitoring-Modus versetzt werden. Dazu kann wie folgt vorgegangen werden:

  1. Ermitteln des Interface-Namens der Netzwerkkarte:

root@kali: iwconfig

eth0 no wireless extensions.

wlan0 IEEE 802.11 ESSID:off/any

         Mode:Managed  Access Point: Not-Associated   Tx-Power=off   
         Retry short  long limit:2   RTS thr:off   Fragment thr:off
         Encryption key:off
         Power Management:off
         

lo no wireless extensions.

  1. WLAN-Karte in den Monitor-Modus versetzen:

root@kali: airmon-ng start wlan0

AirCrack überprüft beim Ausführen des Befehls, ob Prozesse existieren, die das Aktivieren des Monitoring-Modus verhindern. Werden welche gefunden, fragt AirCrack, ob diese abgebrochen werden sollen. Diese Frage kann mit Y bestätigt werden. Andernfalls kann auch

airmon-ng check kill

verwendet werden und anschließend der Startbefehl erneut durchgeführt werden. Nun sollte die Netzwerkkarte in den Monitoring-Modus versetzt worden sein.

3. Überprüfen des Interfaces:

root@kali: iwconfig

eth0 no wireless extensions.

lo no wireless extensions.

wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.457 GHz Tx-Power=20 dBm

         Retry short  long limit:2   RTS thr:off   Fragment thr:off
         Power Management:off

Key Reinstallation Attack (???)

Einzelnachweise

<references/>