hur jag knäckt 70% av Tel Avivs Wifi-nätverk (från ett urval av 5000 samlade WiFi).
under de senaste sju åren som jag har bott i Tel Aviv, jag har bytt lägenheter fyra gånger. Varje gång jag mötte samma scenario: Internetföretaget tog flera dagar att ansluta lägenheten och lämnade mig frånkopplad och frustrerad när jag försökte titta på laggy Netflix på TV: n med min mobiltelefon hotspot. En lösning Jag har på detta scenario är att ha ” Hej. Jag är den nya grannen” prata med grannarna medan du försöker få sitt mobilnummer i nödsituationer — och fråga om jag kunde använda deras WiFi tills kabelföretaget anslöt mig. Jag tror att vi alla kan komma överens om att inte ha internet lätt faller i kategorin nödsituation! Ofta var deras mobilnummer också deras WiFi-lösenord!
jag antog att de flesta som bor i Israel (och globalt) har osäkra WiFi-lösenord som lätt kan knäckas eller till och med gissas av nyfikna grannar eller skadliga aktörer.
kombinationen av min tidigare erfarenhet, en relativt ny WiFi attack som jag kommer att förklara tillfälligt, en ny monster sprickbildning rigg (8 x QUADRO RTX 8000 48GB GPU) i CyberArk Labs och det faktum att WiFi är överallt eftersom anslutning är viktigare än någonsin körde mig till forskning, om jag hade rätt med min hypotes eller kanske bara tur.
med den fortsatta övergången till fjärrarbete på grund av pandemin har det blivit nödvändigt att säkra hemnätverk och utgör en risk för företaget om det inte görs. Hemnätverk har sällan samma kontroller som företagsnätverk. Och ett säkerhetsprogram är bara lika starkt som dess svagaste länk.
Figur 1-CyberArk Labs new cracking rig
för att testa denna hypotes samlade jag 5 000 WiFi-nätverkshashar som min studiegrupp genom att promenera på gatorna i Tel Aviv med WiFi-sniffningsutrustning. I slutet av forskningen kunde jag bryta mer än 70% av de sniffade WiFi-nätverks lösenorden relativt enkelt. Tel Aviv storstadsområde har mer än 3.9 miljoner människor-du kan föreställa dig vad siffrorna skulle ha varit om vi inte avbröt vår forskning på 5,000 WiFi-nätverk. Och medan denna forskning genomfördes i Tel Aviv, används routrarna som var mottagliga för denna attack — från många av världens största leverantörer — av hushåll och företag över hela världen.
i den här bloggen visar jag hur lätt (du behöver inte en sprickrigg) och med lite utrustning osäkra WiFi-lösenord kan knäckas, vilket hackar WiFi-nätverket .I slutet kommer vi att avslöja statistik över de knäckta hasharna och förklara hur du försvarar ditt nätverk från denna typ av attack. Därför är det av yttersta vikt att vi känner till och förstår sprickmetoden för att bilda ett adekvat försvar.
Låt oss gräva i
innan Jens ”atom” Steubes (Hashcats ledande utvecklare) forskning, när en hacker ville knäcka ett WiFi-lösenord, behövde de fånga en levande fyrvägs handskakning mellan en klient och en router som endast inträffade under upprättandet av anslutningen. Enkelt uttryckt skulle angriparen behöva övervaka nätverket när användaren eller enheten ansluter till WiFi-nätverket. Därför behövde en hacker vara på en fysisk plats mellan åtkomstpunkten (routern) och klienten, i hopp om att användaren skulle ange rätt lösenord och att alla fyra handskakningspaketen snusades korrekt. Om en hackare inte ville vänta tills ett offer upprättar en anslutning (vilket kan ta timmar, vem ansluter till sitt hemnätverk medan de är på jobbet?) kan angriparen avaktivera en redan ansluten användare för att tvinga offret att få ett nytt fyrvägs handslag.
en annan attackvektor är att skapa ett skadligt tvillingnätverk med samma SSID (nätverksnamn) i hopp om att offret skulle försöka logga in på det falska nätverket. En stor brist på detta är naturligtvis att det är mycket bullrigt (vilket betyder att det lätt kan spåras) och lätt kan märkas.
på enkel engelska, om en motståndare ville hacka/knäcka ett WiFi-lösenord, måste de vara på rätt plats (mellan användare och en router) vid rätt tidpunkt (när användare loggar in) och ha tur (användare angav rätt lösenord och alla fyra paketen snusades korrekt).
allt detta förändrades med atoms banbrytande forskning, som avslöjade en ny sårbarhet som riktar sig mot RSN IE (Robust Security Network Information Element) för att hämta en PMKID-hash (kommer att förklaras i lite) som kan användas för att knäcka målnätverkslösenordet. PMKID är en hash som används för roamingfunktioner mellan AP. Den legitima användningen av PMKID är dock av liten betydelse för omfattningen av denna blogg. Uppriktigt sagt är det lite meningsfullt att aktivera det på routrar för personligt/privat bruk (WPA2-personligt), eftersom det vanligtvis inte finns något behov av roaming i ett personligt nätverk.
atoms teknik är kundlös, vilket gör behovet av att fånga en användares inloggning i realtid och behovet av användare att ansluta till nätverket alls föråldrat. Dessutom kräver det bara angriparen att fånga en enda ram och eliminera felaktiga lösenord och missbildade ramar som stör sprickprocessen.
tydligt uttryckt behöver vi inte vänta på att människor ansluter till sina routrar för att denna attack ska lyckas. Vi är bara i närheten av routern/nätverket som får en PMKID-hash och försöker knäcka den.
för att knäcka ett PMKID måste vi först förstå hur det genereras.
hur genereras pmkid hash och vilka element innehåller den
Figur 2 – flöde för beräkning av PMKID hash och PMK
hash-beräkningen kan verka skrämmande vid första anblicken men låt oss dyka in i den.
vi måste generera en PMK driven från SSID (nätverksnamnet) och lösenfrasen; då genererar vi en PMKID driven från den PMK vi genererade, AP MAC-adressen och klientens MAC-adress. Så låt oss se var vi kan hitta dem:
PMK beräknas enligt följande:
Figur 3 – PMK– beräkning
- lösenfras — WiFi-lösenordet-därmed den del som vi verkligen letar efter.
- SSID – namnet på nätverket. Den är fritt tillgänglig på routern beacons (Figur 3).
- 4096-antal PBKDF2-iterationer
Figur 4-SSID från en beacon
efter en PMK genererades, vi kan generera en PMKID.
pmkid beräknas enligt följande:
Figur 5 – pmkid beräkning
- PMK – vad vi söker efter, genereras ovan. I WPA2 personal är PMK PSK (kommer att förklaras i nästa stycke).
- ”PMK Name” – statisk sträng för alla PKMIDs.
- MAC_AP-åtkomstpunktens MAC-adress – den här adressen finns i vilken ram som helst som skickas av routern (Figur 4).
- MAC_STA-klientens Mac-adress finns i valfri ram som skickas av klientens dator (Figur 4). Det kan dessutom hittas i utmatningen av ifconfig\ip a-kommandon.
Figur 6-PMKID, AP: s MAC, klientens MAC
att knäcka pmkid-hash genererar i slutändan bara/beräknar PMK med SSID och olika lösenfraser, sedan beräknar PMKID från PMK och annan information vi fick. När vi genererade en PMKID lika med PMKID som hämtades från AP (Figur 3), är hash knäckt; lösenfraserna som användes för att generera rätt PMK som PMKID genererades från är rätt WiFi-lösenord.
nu vet vi hur en PMKID genereras, och vi kan fortsätta att sniffa och knäcka faser av vår forskning.
sniffa PMKID
för att samla WiFi PMKID hashes krävs ett trådlöst nätverksgränssnitt som har monitorlägefunktioner. Monitorläge tillåter paketfångst utan att behöva associera med en åtkomstpunkt.
jag köpte ett AWUS036ACH ALFA – nätverkskort för $50 (Det finns ännu billigare alternativ) som stöder bildskärmsläge och paketinjektion och gick runt i Tel Avivs centrum för att sniffa WiFis.
innan vi kan börja sniffa måste vi förbereda vår miljö:
jag använde en ubuntu-maskin med AWUS036ACH ALFA.
Figur 7-AWUS036ACH ALFA NIC
vi bygger paketet Hcxdumptool — ett bra verktyg av ZerBea för att fånga paket från WLAN-enheter.
git clone https://github.com/ZerBea/hcxdumptool.gitsudo apt-get install libcurl4-OpenSSL-dev libssl-dev pkg-configmake
Därefter måste vi installera drivrutiner med bildskärmsläge. Varje chipset har sina drivrutiner:
git clone -b v5.6.4.2 https://github.com/aircrack-ng/rtl8812au.gitmake && make install
det rekommenderas att stänga av tjänster som kan störa Hcxdumptool-utförandet:
sudo systemctl stop wpa_supplicantsudo service NetworkManager stop
då är det dags att börja sniffa. Hcxdumptool är ett kraftfullt verktyg som kan användas för olika attacker, inte bara PMKID; därför inaktiverar vi alla attacker som inte riktar sig mot PMKID.
sudo ../../tools/hcxdumptool/hcxdumptool -i wlx00c0caac2745 -o Wi-Fi_PMKID.pcapng --disable_deauthentication --disable_client_attacks --enable_status=3
- -i min Alfa NIC kan du köra ifconfig \ ip A för att hitta ditt gränssnittsnamn.
- -o utgången pcapng av utförandet.
bär nu en hoody, för att du kommer att få ett PMKID av varje nätverk du korsar som är sårbart för attacken.
figur 8 — mig i en hoodie
när jag nådde 5000 samlade nätverk bestämde jag mig för att sluta; Israelisk sommar var för varm för mig, så jag vände mig till den roliga delen-sprickbildning.
det är spricktid!
vårt första steg i sprickproceduren är att installera hashcat, världens snabbaste och mest avancerade lösenordsåterställningsverktyg. Eftersom sniffningsresultaten är i form av pcapng, behövde vi konvertera dem till ett hashfilformat för att passa det till hashcat. För detta mål använde jag ett annat verktyg från den stora sviten av hcxtools.
hcxpcapngtool -o Wi-Fi_pmkid_hash_22000_file.txt Wi-Fi_PMKID.pcapng
vilket resulterar i en hashfil som varje rad har följande struktur:
signatur * typ*PMKID/MIC*MACAP*MACSTA*ESSID* * *
här är ett exempel på en hashlinje:
WPA * 01 * c6d5c97b9aa88cbe182429275a83efdb * 302478bee0ee * acde48a84862*54686557494649***
- SIGNATURE = ”WPA”
- typ = 01 för PMKID, 02 för EAPOL, andra att följa
- PMKID/MIC = PMKID om typ==01, MIC om typ==02
- MACAP = MAC av AP
- MACSTA = MAC av station
- ESSID = ESSID
- används inte i en PMKID-Attack:
- ANONCE = ANONCE
- EAPOL = EAPOL (SNONCE är här)
- MESSAGEPAIR = Bitmask
nästa steg är att påbörja sprickproceduren genom att utföra hashcat:
Hashcats funktioner inkluderar flera sprickmetoder, varav de vanligaste är dictionary + rules och mask attack. Metoderna skiljer sig åt i hur de bildar lösenfrasen.
vi valde att börja med det som kallas en ”maskattack” på grund av den fruktansvärda vanan som många människor som bor i Israel har att använda sina mobiltelefonnummer som WiFi-lösenord. Du kan tänka på mask attack som Regex:
- ?d-siffror
- ?l-små bokstäver
- ?U-versaler
- ?s-speciella symboler som ? ! $ …..
masken för lösenordet: 202!$ ommaren skulle bli ?d?d?d?s?s?l?l?l?l?u
här är mitt Hashcat-kommando som försökte alla möjliga mobiltelefonnummer kombinationer i Israel
sudo hashcat -a 3 -w4 -m 22000 /home/tuser/hashes/Wi-Fi_pmkid_hash_22000_file.txt 05?d?d?d?d?d?d?d?d -o /home/tuser/hashes/pmkid_cracked.txt
under detta första utförande av maskattacken knäckte vi 2,200-lösenord. Låt oss beräkna antalet alternativ för israeliska mobilnummer:
det är 10 siffror långt och det börjar med 05. Därför måste vi gissa de återstående 8 siffrorna.
varje siffra har 10 alternativ (0-9), därav 10**8 möjliga kombinationer. Hundra miljoner verkar som en hel del kombinationer, men vår monster rig beräknar med en hastighet av 6819.8 kH/s som översätter till 6,819,000 hashes per sekund.
en sprickrigg krävs inte eftersom min bärbara dator kan komma till 194.4 kH/s, vilket översätts till 194,000 hash per sekund. Det motsvarar mer än tillräckligt med datorkraft för att cykla genom de möjligheter som krävs för att knäcka lösenorden. Följaktligen tog det min bärbara dator ungefär 9 minuter att bryta ett enda WiFi-lösenord med egenskaperna hos ett mobilnummer. (10**8)/194,000 = ~516 (sekunder) / 60 = ~9 minuter.
sprickhastigheten för hashtyper skiljer sig på grund av olika hashfunktioner och antalet iterationer. Till exempel är PMKID mycket långsam jämfört med MD5 eller NTLM. Ändå är det möjligt att knäcka en PMKID-hash om angriparen fokuserar på ett specifikt nätverk och lösenordet inte är tillräckligt komplicerat.
efteråt utförde vi en standardordbokattack med den vanligaste ordlistan, Rockyou.txt, och knäckt mer än 900 hashes. Här är en liten inblick i Rockyou.txt-innehåll:
123456 12345 123456789 lösenord iloveyou princess 1234567 rockyou 12345678 abc123 nicole daniel babygirl monkey lovely jessica 654321 michael ashley
Låt oss titta över statistiken över de knäckta hasharna:
knäckta lösenord efter deras längd:
lösenord längd | händelser |
10 | 2405 |
8 | 744 |
9 | 368 |
12 | 14 |
11 | 14 |
14 | 7 |
13 | 7 |
summa | 3,559 |
som du kan se, förutom det 10-siffriga lösenordet – som vi hade en skräddarsydd mask för – när lösenordslängden ökade, antalet spruckna lösenord minskade. Lektionen här? Ju längre lösenordet desto bättre.
topp 4 masker för spruckna lösenord:
Mask | händelser | betydelse |
Mask | händelser | betydelse |
?d?d?d?d?d?d?d?d?d?d | 2349 | 10 siffror |
?d?d?d?d?d?d?d?d | 596 | 8 siffror |
?d?d?d?d?d?d?d?d?d | 368 | 9 siffror |
?l?l?l?l?l?l?l?l | 320 | 8 små bokstäver |
summa | 3,633 |
vi kan se att spruckna lösenord oftast passar en mask som bara innehåller siffror eller endast små bokstäver.
inte alla routrar stöder roamingfunktioner och är därför inte sårbara för pmkid-attacken. Vår forskning fann dock att routrar som tillverkas av många av världens största leverantörer är sårbara.
som jag uppskattade i förväg var processen att sniffa WiFis och de efterföljande sprickförfarandena ett mycket tillgängligt företag när det gäller utrustning, kostnader och utförande.
summan av kardemumman är att om ett par timmar och med cirka $50, din granne eller en skadlig skådespelare kan äventyra din integritet och mycket mer om du inte har ett starkt lösenord.
slutsats
totalt knäckte vi mer än 3,500 WiFi – nätverk i och runt Tel Aviv-70% av vårt prov.
hotet om ett komprometterat WiFi-nätverk utgör allvarlig risk för individer, småföretagare och företag. Och som vi har visat, när en angripare kan knäcka mer än 70% av WiFi-nätverk i en stor global stad med relativt lätthet, måste större uppmärksamhet ägnas åt att skydda sig själv.
på den mest grundläggande nivån tar personer som använder ditt nätverk del av din bandbredd, vilket kan sakta ner din internetupplevelse. Men mer följd är att när angripare får tillgång till ditt nätverk kan de starta olika MITM-attacker (man-in-the-middle). Det kan leda till att angripare får tillgång till dina viktiga konton, till exempel ditt bankkonto, ditt e-postkonto (vilket är allt i det moderna livet) och äventyrar andra känsliga uppgifter. Detta öppnar också attackvektorer till dina IoT-enheter som smart hemutrustning, smarta TV-apparater, säkerhetssystem etc.
för det lilla företaget ligger risken i att en angripare infiltrerar ett nätverk och sedan flyttar i sidled till värdefulla applikationer eller data, till exempel ett faktureringssystem eller kassör.
när det gäller företaget är det möjligt för en angripare att få initial åtkomst till en fjärranvändares WiFi och sedan hoppa till användarens dator och vänta på en VPN-anslutning eller för användaren att gå till kontoret och flytta i sidled därifrån.
ur ett bredare perspektiv är datorer och andra enheter vanligtvis inte tillgängliga utanför nätverket på grund av NAT, men när en angripare är i nätverket underlättar det en rad attackvektorer.
hur ska jag skydda mig?
- Välj ett komplext lösenord. Ett starkt lösenord bör innehålla minst ett gemener, ett versaler, en symbol, en siffra. Det ska vara minst 10 tecken långt. Det bör lätt komma ihåg och svårt att förutse. Dåligt exempel: sommar$021
- ändra standard användarnamn och lösenord för din router.
- uppdatera routerns firmwareversion.
- inaktivera svaga krypteringsprotokoll (som WAP eller WAP1).
- inaktivera WPS.
det är viktigt att notera att implementering av multifaktorautentisering (MFA) för personlig WiFi är svårt och till stor del opraktiskt för en personlig WiFi och en icke-teknisk konsument. Det är också osannolikt att MFA kommer att vara allmänt tillgängligt för allmänna konsumentanvändningsfall i närheten.
jag skulle vilja ge en stor utrop till Atom och ZerBea för deras otroliga arbete med denna attackteknik och för deras arbete i allmänhet.
jag hoppas att du gillade den här bloggen och att du kommer att vidta nödvändiga åtgärder för att säkra ditt WiFi-nätverk. Och som en påminnelse användes inget av lösenorden vi knäckte för obehörig åtkomst till dessa WiFi-nätverk eller annan information som var tillgänglig via dessa nätverk.