WiFi hacking – Advanced 1/2
Na aanleiding van de vorige Easy WiFi Hacking post heb ik besloten om een post te maken die wat dieper ingaat op WiFi hacken. Het doel van deze 2-delige reeks is om nogmaals te laten zien hoe gevaarlijk onbekende en soms zelfs bekende WiFi netwerken zijn. In deze post gaat we dieper in op WiFi en bekijken we enkele standaarden. Deze informatie hebben we namelijk nodig in deel 2 van deze reeks, de werkelijke WiFi aanvallen.
WiFi:
Als we toch iets dieper ingaan op WiFi dan is het goed om eerst te kijken wat WiFi is en hoe het ontstaan is. Volgens de WiFi Alliance staat WiFi voor “Wireless Fidelity” zoals HiFi vroeger stond voor “High Fidelity”. Echter bestond de term WiFi al lang voordat er de “afkorting van Wireless Fidelity” aan werd gehangen. WiFi is een certificaatlabel / logo voor draadloze ethernetproducten. In de basis is WiFi gewoon een “draadloos netwerk” welke werkt volgens de internationale IEEE 802.11 standaard. WiFi is draadloos omdat het gedragen wordt middels radiofrequenties. WiFi opereert momenteel tussen op de 2.4 GHz (UHF) en 5 GHz (SHF) band en mag zonder licentie gebruikt worden.
WiFi kent 14 kanalen waarvan we er in kanaal 1 tot 13 kunnen gebruiken. Amerika en Canada hebben slechts beschikking over de kanalen 1 tot 11. Japan is het enige land die alle 14 kanalen kan gebruiken. De volgende frequenties horen bij de voor gedefinieerde kanalen (bron Wikipedia):

Er zijn momenteel 5 veelvoorkomende WiFi standaarden, namelijk de a,b,g,n en ac standaard. Daarnaast zijn er ook nog verbeteringen op deze standaarden zoals c,f,h en j. De ay standaard is een toekomstige WiFi standaard. Deze standaarden bepalen op welke frequenties de apparatuur kan werken en welke modulatie er gebruikt wordt. Modulatie bepaalde de manier woorop de bits over het draadloze netwerk verzonden worden. OFDM (Orthogonal Frequency Division Multiplexing) is een veel voorkomende standaard. Met OFDM wordt de beschikbare frequentieband verdeeld in een aantal (64) subkanalen waarbij enkele bits over deze subkanalen verstuurd worden. De zender codeert de bitstromen op de 64 subdragers d.m.v. BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying), of één van de twee niveaus van Quadrature Amplitude Modulation (16 of 64-QAM). Sommige van de verzonden informatie is redundant zodat de ontvanger niet alle datastromen op elke subdrager hoeft te ontvangen om de informatie te kunnen reconstrueren. Hieronder een overzicht van de veel voorkomende standaarden en hun eigenschappen:
Protocol | Jaartal | Frequentie (GHz) | Bandbreedte (MHz) | Modulatie |
---|---|---|---|---|
802.11a (Wi-Fi 2) | 1999 | 5 | 20 | OFDM |
802.11b (Wi-Fi 1) | 1999 | 2.4 | 22 | DSSS |
802.11g (Wi-Fi 3) | 2003 | 2.4 | 20 | OFDM |
802.11n (Wi-Fi 4) | 2009 | 2.4 & 5 | 20 & 40 | MIMO-OFDM |
802.11ac (Wi-Fi 5) | 2013 | 5 | 20 & 40 & 180 & 160 | MIMO-OFDM |
802.11ad | 2012 | 60 | 2,16 | OFDM / Single carrier / Low-Power Single Carrier |
802.11ay | 2017 | 60 | 8000 | OFDM / Single Carrier |
802.11ax (Wi-Fi 6) | 2019 | 1-7 (also: 2.4 & 5) | 20, 40, 80 & 160 | OFDMA / MU-MIMO |
WiFi kent 2 modus:
- Ad hoc modus
- Infrastructuur modus
In de ad hoc modus communiceren 2 cliënts met elkaar en zijn ze beide zowel zender als ontvanger. In de infrastructuur modus verbinden meerdere cliënts met 1 basisstation welke het verkeer regelt. Zo’n basisstation noemen we meestal een Access Point (AP). Momenteel is de meest voorkomende methode de infrastructuur modus. In deze modus kunnen apparaten overschakelen naar andere access points zonder hun netwerk te verliezen. Dit noemen we “roamen”.
Het grootste probleem van WiFi is dat data “door de lucht” verstuurd wordt. Dat betekend dat iedereen deze data (met de juiste apparatuur) kan afluisteren en onderscheppen. Speciaal hiervoor zijn er verschillende encryptiemethodes ontwikkeld om data te verzenden en om daarbij hun confidentiality (vertrouwelijkheid – is het werkelijk afkomstig van de juiste afzender), integrity (integriteit – is de data door niemand anders gemodificeerd en availability (beschikbaarheid – is de data op het juiste moment beschikbaar) te behouden. Deze 3 (Confidentiality, Integrity en Availability) noemen we ook wel de CIA driehoek (CIA Triad) ofwel beveiligings driehoek. Data encryptie kan hier absoluut aan bijdragen Helaas is niet elke data encryptie even sterk. Lees voor meer achtergrond over encryptie en informatie ook de post “Encryptie Introductie“. We kennen een aantal type WiFi data encrypties. Deze zijn:
WEP (IEEE 802.11)
WEP ofwel Wired Equivalent Privacy) was een van de eerste draadloze encryptiemethodes en zien we zelfs vandaag de dag nog regelmatig terug. WEP bestaat al sinds 1999 en is dus al 18 jaar oud. WEP gebruikt een 64 of 128 bits sleutel. WEP werkt door datapakketten te voorzien van een CRC32-checksum. Dit noemen we de “plaintext data. Vervolgens wordt de keystream berekend. De keystream bestaat uit de “initialization vector” + de encryptiesleutel (wachtwoord). De initialization vector zijn random getallen die bij elk pakket mogen (maar niet moeten) veranderen. Nu de plaintext en de keystream bekend zijn worden deze samen versleuteld middels XOR en dan ontstaat de “ciper tekst”. De IV (initialization vector) wordt nu voor het versleutelde pakket geplakt en het pakket gaat vervolgens over het WiFi netwerk.
Tegenwoordig is het kraken van WEP door diverse gaten in deze methode erg makkelijk en binnen enkele seconde tot maximaal een aantal minuten kan een WEP wachtwoord worden gekraakt.
Dus als nog iemand WEP gebruikt… stap hier dan heel snel vanaf.
WPA (IEEE 802.11i / D3.0)
WPA staat voor WiFi Protected Access en is stukken veiliger dan WEP. WPA gebruikt 256-bits sleutels en implementeert nieuwe beveiligingscontroles waaronder de controle op data integriteit (remember de CIA driehoek). Ook is het TKIP (Temporal Key Integrity Protocol) key system een grote verbetering over het default WEP wachtwoord. WPA is gemaakt om WEP te vervangen en sleutelonderdelen (TKIP) konden dan ook middels firmware updates op WEP apparaten worden gebruikt. Helaas hield dit in dat sommige WEP onderdelen ook hergebruikt moesten worden welke uiteindelijk weer de zwakste schakel in het geheel bleken en gehackt werden.
WPS (WiFi Protected Setup) is ook een onderdeel van WPA en is het onderdeel welke het gemakkelijkste te hacken is. WPS is een methode om gemakkelijk apparaten te verbinden met het WiFi Access Point. WPS maakte op de achtergrond gebruik van een zwakke pincode welke weer gebruikt kon worden om het wachtwoord te achterhalen. Directe aanvallen op WPA zijn al vele malen live getoond maar dit betreft meestal WPS aanvallen en minder vaak aanvallen op het WPA algoritme zelf.
WPA en WPA2 kan in 2 modus gebruikt worden. Personal en Enterprise. De personal variant wordt meestal gebruikt in thuisomgevingen en gebruikt een persoonlijke sleutel (PSK ofwel Pre-Shared Key). De Enterprise mode werkt met authenticatieservers (b.v. RADIUS) en certificaten. Deze methode wordt vaak gebruikt in zakelijke netwerken en is veiliger dan de personal variant maar uiteraard ook duurder en vergt meer onderhoud.
WPA is een layer 2 beveiligingsmethode en verstuurd en versleuteld het verkeer nadat een zogenaamde 4-way handshake is geaccordeerd. Deze 4-way handshake vindt plaats tussen het device en het access point. Deze handshake is niet altijd hetzelfde maar afhankelijk van welke modus (personal of enterprise) en afhankelijk van welke versie je gebruikt (WPA of WPA2). In de basis zorgt de 4-way handshake ervoor om op een veilige manier encryptiesleutels met elkaar te kunnen uitwisselen. De volgende zaken zijn nodig om deze encryptiesleutels te kunnen maken:
- PMK – Pairwise Master Key
- ANonce
- SNonce
- SA (Supplicant address) = MAC of cliënt
- AA (Authenticator address) = MAC of access point
Het 4-way handshake proces start (bij personal mode) na de 802.11 associatie tussen de devices. Bij Enterprise mode vindt de 4-way handshake plaats na de volledige 802.1x authentication en gaat als volgt:
1. Het accesspoint stuurt een ANonce (Authenticator Number used Once) naar het device. Dit is een random nummer welke gebruikt wordt tijdens het maken van de encryptiesleutels.
2. Op dit punt communiceren beide apparaten met elkaar en weten ze elkaars MAC adres. De cliënt heeft zijn eigen Snonce gecalculeerd en maakt met behulp van de ANonce zijn PTK (Pairwise Transient Key) sleutel (een set van encryptiesleutels welke voor verschillende functies gebruikt worden zoals unicast encryptie en data protection). Op dit punt zend de cliënt zijn SNonce terug naar het access point welke versleuteld is met een MIC (Message Integer Code). De cliënt kan dit versleutelen met zijn PTK sleutel.
3. Het access point calculeert ook zijn PTK en valideert de MIC van de cliënt om er zeker van te zijn dat deze data niet gemodificeerd is. Nu kunnen cliënt en access point samen de verdere handshake versleutelen middels de PTK sleutels. Het access point berekend nu met alle bekende gegevens de GTK (Group Temporal Key) en stuurt deze naar de cliënt middels MIC versleuteling.
4. De cliënt installeert de GTK en laat het access point weten dat beide sleutels geïnstalleerd zijn en de cliënt klaar is voor versleuteld verkeer.

WPA2 (IEEE 802.11i / D9.0)
WPA2 (WiFi Protected Access 2) is de opvolger van WPA. WPA2 bestaat sinds 2006. De belangrijkste aanpassing is dat TKIP niet meer het belangrijkste encryptieprotocol is maar een fallback protocol. Het belangrijkste encryptieprotocol is AES (Advanced Encryption Standard). Ook introduceert WPA2 “Counter Cipher Mode with Block Chaining Message Authentication Code Protocol” ofwel CCMP.
De zwakste schakel blijft nog steeds de WPS setup welke behouden is. Hoewel een WPA2 WPS netwerk lastiger te kraken is dan een WPA WPS netwerk is het heel erg goed mogelijk om dit binnen 24 uur te doen. Dus ook WPA2 gebruikers met een WPS Access Point raad ik sterk aan om de WPS functionaliteit uit te schakelen.
De sterkste WiFi beveiligingsmethodes die we momenteel kunnen gebruiken zijn (van goed naar slecht):
- WPA2 + AES
- WPA + AES
- WPA + TKIP/AES
- WPA + TKIP
- WEP
- Open Netwerk
Naast data encryptie kun je nog andere zaken doen om je draadloos netwerk te beveiligen. Zo kun je je SSID verbergen en een MAC filter activeren op je firewall zodat alleen toegestane MAC adressen (apparaten) toegang hebben tot je netwerk. Omdat verborgen SSID’s echter simpel te achterhalen zijn en MAC adressen gespoofd kunnen worden is WPA2 + AES beveiliging een absolute vereiste voor een veilig netwerk. Zorg er dan overigens ook voor dat je WiFi Access Points voorzien zijn van een sterk wachtwoord en dat je WiFi sleutel veilig is. Denk in dat geval aan 10 karakters of langer met afwisselende hoofdletters, kleine letters, cijfers en speciale tekens. Verander ook periodiek deze wachtwoorden en zorg voor een goede firewall.
Hoe vinden apparaten elkaar:
Is het niet raar dat je telefoon altijd meteen verbinding maakt met je wifi wanneer je weer thuis bent. Hier hoef je namelijk helemaal niets voor te doen. Dit komt omdat je apparaat (telefoon, tablet, laptop etc.) periodiek zoekt naar reeds bekende WiFi netwerken. Op het moment dat je verbinding maakt met een netwerk dan wordt dit netwerk opgeslagen en zal je apparaat proberen om periodiek (als er niet reeds een actieve WiFi verbinding is) te verbinden met de voor dat apparaat bekende netwerken. Dit noemen we een “Probe Request”. Dit gaat dan in de trend van “Hallo, ik zoek “Home_Wifi”, ben je online? … nee… is “WiFi_Werk” dan beschikbaar….” etc. In een probe request staat o.a. informatie over de ondersteunde WiFi standaarden en mogelijke snelheden.
Een “Probe Request” kan ook gestuurd worden als broadcast SSID waarbij alle routers het signaal ontvangen.
Op het moment dat WiFi access points een “Probe Request” zien zullen ze reageren met een “Probe Response”. Hierin geven ze aan wie ze zijn en welke standaarden en snelheden door het access point ondersteund worden.
Ook de router zend periodiek zijn WiFi netwerk uit. Dit noemen we “Beacon Interval”. Dit is in de trend van “Hey… ik ben WiFi_Gast_01, wil er nog iemand met mij verbinden”?
En met deze achtergrondinformatie gaan we dan eindelijk aan de slag 🙂