i mitt senaste inlägg gick vi igenom att ställa in en extern USB Wi-Fi-adapter och gick igenom konfigurationsstegen för att sätta adaptern i bildskärmsläge. Vi tittade också på standardutgången från airodump-ng och kunde få en massa bra information om alla åtkomstpunkter runt oss, inklusive deras ESSID, BSSID, vilken kanal de arbetade på, vilken typ av kryptering de använder och vilken typ av autentisering de använder.
nu när vi har all den informationen kan vi välja en enda AP för att vara vårt mål för att försöka bryta WPA2 pre-shared key (PSK) som är konfigurerad på åtkomstpunkten. När vi kan få den PSK, kommer vi att kunna associera med åtkomstpunkten och börja prodding runt vilket nätverk det är anslutet till.
ställa in vår Adapter och välja ett mål
vi börjar med att sätta vår USB Wi-Fi-adapter i bildskärmsläge. Om du inte är säker på vad som händer här, se föregående artikel.
låt oss nu se vilka åtkomstpunkter som finns nära oss och välj en att rikta in. För att göra detta kör vi airodump-ng i sin mest grundläggande form, bara med en enda parameter – namnet på bildskärmsgränssnittet.
airodump-ng wlan1mon
från den här listan väljer vi en AP att rikta in. Vi måste notera AP: s BSSID, ESSID och kanal. Eftersom vi riktar in WPA2-PSK i det här exemplet måste vi välja en AP vars krypteringstyp är listad som WPA2 och vars AUTH-typ är PSK.
fånga ramar till / från den riktade AP
när vi har den informationen kan vi använda airodump-ng för att rikta in den AP och dess anslutna klienter specifikt. Medan vi gör detta kommer vi också att ange ytterligare parametrar som vi inte angav tidigare. Vi kommer att ange namnet på den kanal som vår mål-AP körs på med –c-omkopplaren, namnet på BSSID med-bssid-omkopplaren och namnet på en utdatafil med-w-omkopplaren.
utdatafilen kommer att innehålla alla fångade ramar som vår monitor mode wireless adapter kan fånga. Det vi vill fånga specifikt är en WPA2-PSK-autentiseringshandskakning mellan en klient och AP. Den handskakningen innehåller en hashad version av den fördelade nyckeln, som vi kommer att tvinga senare.
i det här exemplet använder jag värdena som kom från mitt mål AP (med BSSID något obfuscated av integritetsskäl). Du använder dina egna värden, erhållna från vår tidigare airodump-ng-session för att ersätta mina. Du behöver inte ange ett tillägg för din utdatafil, eftersom flera kommer att skapas, var och en med ett lämpligt tillägg, automatiskt.
airodump-ng -c 1 --bssid 00:15:FF:EE:EE:EE -w capture wlan1mon
du kommer att märka att denna airodump-ng-utgång liknar den senaste utgången, bara listan över AP: er fyller inte med mer än bara den vi angav. Kanalfältet i det övre vänstra hörnet jagar inte heller, eftersom vi angav kanalen på kommandoraden. airodump-ng fångar nu bara paket för AP som vi angav, på den kanal vi angav. Längst ner på terminalen bör listan över anslutna klienter börja fylla.
denna process kan ta lite längre tid att köra, särskilt om det inte finns många klienter anslutna till AP. För att detta ska fungera behöver vi minst en ansluten klient som pratar med AP, men ju fler klienter som är anslutna samtidigt desto lättare blir det att fånga en WPA2-PSK-autentiseringshandskakning.
påskynda fångsten med en Deauthentication Attack
om din trådlösa adapter stöder paketinjektion kan vi påskynda processen med hjälp av aireplay-ng-verktyget. Vi kan göra detta genom att öppna ett nytt skal, eftersom vi vill hålla airodump igång / fånga i bakgrunden och använda följande sammanhang.
aireplay-ng -0 10 -a 00:15:FF:EE:EE:EE wlan1mon
-0-omkopplaren berättar för aireplay-ng hur många deauthentication (deauth) – paket som ska sändas ”från AP.”I teorin, vad som ska hända, är att alla klienter som är anslutna till AP ska ta emot dessa deauth-sändningar, deauthenticate från AP, och sedan automatiskt återautentisera till AP när deauth-sändningen slutar. I det här exemplet skickar vi 10, vilket borde vara tillräckligt för att tvinga ett handslag att hända vid reauthentication, med tanke på antalet klienter som är anslutna till denna AP.
– a-omkopplaren anger ESSID för AP, och det sista alternativet är bara namnet på vårt skärmlägesgränssnitt.
när jag har kört deauth-attacken, Lägg märke till något som vi inte såg tidigare. I det övre högra hörnet av airodumpfönstret kan vi nu se att ett WPA-handslag fångades. (Rulla upp till den sista bilden för att se att den inte var där förut). Eftersom vi fångade till vår utdatafil hela tiden, bör den filen nu innehålla en fångst av WPA2-PSK handskakning.
om du inte kan fånga ett handslag direkt kan det vara bra att vänta några minuter och försöka aireplay-attacken igen. Det kan också vara bra att lyssna på varningen som aireplay gav oss efter att jag körde kommandot och utföra en riktad attack. I stället för att skicka sändningar till alla anslutna klienter, kommer vi att rikta en deauthentication attack på en enda ansluten klient. Syntaxen för det är som följer.
aireplay-ng -0 10 -a 00:15:FF:EE:EE:EE -c E0:46:9A:11:22:33 wlan1mon
en riktad attack är i princip samma kommando, men har-c-omkopplaren tillagd och anger MAC-adressen för den trådlösa klienten som vi försöker deauth.
Bildtagningsfilinformation
nu när vi har tagit ett WPA2-PSK-handslag kan du stoppa airodump-sessionen genom att trycka på CTRL+C. Det kommer nu att finnas flera filer relaterade till fångsten i din hemkatalog. Den vi är mest bekymrade över är .cap-fil som motsvarar fångsten vi tog ovan. Jag använde-w-omkopplaren för att ringa min fångstutgång ”capturefile”, så filen jag är oroad över är capturefile-01.lock.
nu när vi har filen vi behöver kan vi ta den offline för att knäcka. Det finns ingen anledning att stanna i närheten av AP som du riktar in om du inte vill. Självklart om detta är i en labbmiljö spelar det ingen roll, men i den verkliga världen kan det. Vi kommer tillbaka efter att vi (förhoppningsvis) har brutit den fördelade nyckeln.
förutom bekvämligheten att inte behöva hänga runt ditt mål medan deras hash är knäckt (vilket kan ta lång tid), finns en annan verklig bekvämlighet i att sprickhashar med enbart CPU-kraft är en långsam och nästan meningslös process. Realistiskt skulle du ta fångstfilen tillbaka till en maskin som kör en eller flera GPU: er och använda dessa GPU: er för att knäcka nyckeln med ett verktyg som stöder GPU-sprickbildning, som Hashcat.
om du inte tror att en GPU skulle göra stor skillnad över en snabb CPU, notera den här verkliga studien som jag gjorde just häromdagen. I ett försök att knäcka en WPA2-PSK-nyckel använde jag ett kommando som skulle köra varje telefonnummer i ett riktnummer mot en fångad fil (många användare använder ett 10-siffrigt telefonnummer som en WPA2-nyckel). Att veta vilken Riktnummer jag skulle använda, som lämnade 10.000.000 möjligheter. En Intel Core i5-7400 som kördes vid 3.0 GHz tog 8 timmar och 14 minuter för att slutföra den operationen. En GeForce GTX 1070 gjorde detsamma på 52 sekunder.
i nästa inlägg visar jag dig hur du konverterar din .cap-fil till en .hccapx-fil, vilket är det format som Hashcat gillar att arbeta med. Jag ska också visa dig några av de metoder som jag gillar att använda för att knäcka hashes med Hashcat, som kan gälla för praktiskt taget alla hash, inte bara WPA2-PSK hashes.