22 oktober 2026 · 11 min leestijd · Handleidingen
Een draadloos netwerk is de enige deur van je bedrijf waar iemand vanaf de parkeerplaats aan kan rammelen. Geen kabel, geen receptie, geen badge. Wie binnen bereik is, kan het verkeer zien en proberen binnen te komen. Daarom testen wij draadloze netwerken tijdens een WiFi pentest, en daarom is het nuttig om te begrijpen hoe zo’n aanval werkt.
In 2022 schreven we op pentests.nl een uitgebreide handleiding over Wifite2, een tool die dat testen grotendeels automatiseert. Die tool heeft een opvolger gekregen die de aanpak fundamenteel omgooit: wifit3. Geen aircrack-ng meer, geen gedoe met kernel-drivers, en hij draait net zo goed op Windows en macOS als op Linux. Er zijn ook aanvallen bijgekomen die Wifite2 niet kende, waaronder een die WPA3-netwerken terugduwt naar WPA2.
In dit artikel lees je hoe je wifit3 gebruikt, maar vooral wat er onder de motorkap gebeurt. Want als je begrijpt waarom een aanval werkt, weet je ook wat je ertegen moet doen.
Vooraf. Alles in dit artikel is bedoeld voor je eigen netwerk of voor een netwerk waarvoor je schriftelijke toestemming hebt. Een draadloos netwerk aanvallen dat niet van jou is, is strafbaar. Onderaan lees je daar meer over.
Om mee te kunnen doen heb je één ding echt nodig: een USB WiFi-adapter waarvan de chipset wordt ondersteund. De ingebouwde WiFi-kaart van je laptop werkt niet. Dat is bij wifit3 strenger dan bij Wifite2, want wifit3 praat rechtstreeks met de chip en heeft daarvoor een specifieke driver aan boord.
Een paar veelgebruikte keuzes:
| Adapter | Chipset | Banden |
|---|---|---|
| ALFA AWUS036NHA | Atheros AR9271 | 2,4 GHz |
| ALFA AWUS036ACM | MediaTek MT7612U | 2,4 en 5 GHz |
| ALFA AWUS036ACH | Realtek RTL8812AU | 2,4 en 5 GHz |
| Panda PAU09 N600 | Ralink RT5572 | 2,4 en 5 GHz |
Wil je ook 5 GHz testen, en dat wil je tegenwoordig, kies dan een dual-band kaart. De volledige lijst ondersteunde chipsets staat op de wifit3-pagina en in de documentatie van het project.
Een tweede adapter is geen vereiste, maar wel handig. wifit3 kan met meerdere kaarten tegelijk werken: de ene blijft luisteren terwijl de andere injecteert. Dat scheelt tijd en je mist minder.
Werk je in een virtuele machine, geef de adapter dan door aan de VM en niet aan het hostsysteem. In VirtualBox voeg je het apparaat vooraf toe aan de USB Filters. In VMware verbind je hem via VM, Removable Devices, en zet je de USB-controller in de instellingen op USB 3.0 of hoger, anders haalt de adapter zijn snelheid niet. Doe je dit niet, dan claimt je hostsysteem de adapter zodra je hem inplugt.
De snelste route is een kant-en-klaar binary van de releases-pagina. Er is geen Python-omgeving voor nodig:
# Linux, draait zonder sudo
chmod +x wifit3-linux-x64
./wifit3-linux-x64
Op Windows draai je het .exe-bestand. Op macOS moet je eerst de quarantaine-vlag weghalen:
xattr -d com.apple.quarantine wifit3-macos-universal2
chmod +x wifit3-macos-universal2
./wifit3-macos-universal2
Liever vanaf de broncode? Het project gebruikt uv:
git clone https://github.com/derv82/wifit3.git
cd wifit3
uv sync
uv run wifit3
Bij de eerste start regelt wifit3 de hardware zelf. Op Linux vraagt het één keer om rechten om udev-regels te schrijven, op Windows installeert het de WinUSB-driver via UAC, en op macOS klik je alleen op Allow. Je hoeft dus niet handmatig met airmon-ng in de weer, zoals bij Wifite2.
Na het starten kies je je adapter en klik je op START. wifit3 zet de kaart in monitor mode en begint te hoppen over de kanalen in zowel de 2,4 als de 5 GHz-band. Heb je meerdere kaarten, dan verdeelt hij de banden onderling.
Wat je ziet is een live overzicht van alles binnen bereik. Per netwerk staat de naam (ESSID), het kanaal, de signaalsterkte, de encryptie en het aantal clients dat eraan hangt. wifit3 gaat verder dan alleen opsommen: hij herkent fabrikant en model van het access point uit de WPS-beacons, en laat zien of een netwerk WPA3 draait of in transition mode staat.
Dat laatste is belangrijker dan het lijkt, en daar komen we verderop op terug.
Een aardigheidje is VAP-decloaking. Veel routers zenden meerdere netwerken uit vanaf dezelfde chip, bijvoorbeeld een hoofdnetwerk en een gastnetwerk. Die BSSID’s liggen vlak bij elkaar. Staat het gastnetwerk verborgen, dan kan wifit3 hem alsnog tonen door hem te koppelen aan de zichtbare buur op hetzelfde apparaat. Een netwerknaam verbergen is dus geen beveiliging.
Je selecteert je eigen netwerk en wifit3 opent de focusweergave. Daar zie je alleen dat ene access point, met de clients die eraan hangen en een dashboard met de pakketstromen: beacons, data, injecties en deauthenticaties.
Vanaf hier kies je een aanval. En dat is precies waar het interessant wordt, want elke aanval maakt gebruik van een ander ontwerpgebrek.
Dit is het deel dat vaak wordt overgeslagen, terwijl het de kern is. Je kraakt namelijk niet “de WiFi”. Je kraakt een wachtwoord, offline, op je eigen computer.
Als een apparaat verbinding maakt met een WPA2-netwerk dat één gedeeld wachtwoord gebruikt, zoals vrijwel elk thuisnetwerk en veel kantoornetwerken, sturen het access point en de client vier berichten heen en weer. In die uitwisseling bewijzen ze aan elkaar dat ze allebei het wachtwoord kennen, zónder dat wachtwoord ooit over de lucht te sturen. Ze gebruiken het als ingrediënt voor een berekening, en vergelijken de uitkomsten.
Dat is slim bedacht, maar het heeft een gevolg: wie die vier berichten opvangt, heeft genoeg materiaal om thuis te gaan gokken. Je probeert een wachtwoord, doet dezelfde berekening, en kijkt of de uitkomst klopt. Niet goed? Volgende wachtwoord. Dat gaat met een GPU miljoenen keren per seconde.
Je hebt dus twee dingen nodig: een client die verbinding maakt, en geduld. Dat eerste kun je meestal afdwingen. Met een deauthenticatieframe gooi je een verbonden apparaat er even af, tenzij het netwerk Protected Management Frames gebruikt (daarover verderop meer). Het apparaat merkt dat nauwelijks, want het verbindt automatisch opnieuw, en precies die hernieuwde verbinding levert je de handshake op.
wifit3 exporteert die vangst als .pcap en als .hc22000, het formaat dat Hashcat verwacht. Hij controleert ook meteen of de vangst compleet genoeg is om te kraken, zodat je er niet pas thuis achter komt dat je een halve handshake hebt.
In 2018 kwam er een methode bij die de client overslaat. Veel access points stoppen een stukje sleutelmateriaal, de PMKID, in het eerste bericht van de handshake. Je kunt dat bericht gewoon opvragen door zelf een verbindingspoging te doen.
Het verschil is groot. Je hebt geen verbonden client nodig, je hoeft niemand van het netwerk te gooien, en je bent in seconden klaar in plaats van wachten tot er iemand langskomt. Voor een pentest is het bovendien netter, want je verstoort niemand. Wat je daarna doet is identiek: offline gokken tegen het opgevangen materiaal.
Niet elk access point geeft een PMKID af. wifit3 probeert zowel de actieve variant, waarbij hij zelf associeert, als passief meeluisteren.
Hier wordt het ongemakkelijk. Hoe sterk je wachtwoord ook is, als WPS aanstaat en kwetsbaar is loopt een aanvaller er gewoon omheen.
WPS is bedoeld om verbinden makkelijk te maken: een knopje indrukken, of een achtcijferige pincode intypen. Die pincode is het probleem. Door een ontwerpfout wordt hij in twee helften gecontroleerd, waardoor er geen 100 miljoen combinaties te proberen zijn maar ongeveer elfduizend. Dat is een kwestie van uren.
Maar het kan nog sneller:
Het resultaat is in alle gevallen hetzelfde: je krijgt het echte wachtwoord van het netwerk. Een sleutel van 63 willekeurige tekens helpt daar niets tegen. Dit is de reden dat “zet WPS uit” altijd het eerste advies is.
Dit is de aanval die wifit3 heeft en Wifite2 niet, en hij verdient uitleg.
WPA3 loste het grootste probleem van WPA2 op. Door een ander protocol te gebruiken voor de sleuteluitwisseling, SAE, valt er uit een opgevangen handshake niets meer offline te gokken. In theorie ben je dus klaar met kraken zodra je WPA3 aanzet.
In de praktijk staat vrijwel elk WPA3-netwerk in transition mode. Daarbij accepteert het access point zowel WPA3 als WPA2 tegelijk, zodat oudere apparaten nog kunnen verbinden. En daar zit de opening.
De aanval werkt zo. wifit3 kloont het access point en zendt dezelfde netwerknaam uit, maar dan met alleen WPA2 erin. Vervolgens duwt hij de clients van het echte netwerk af. Dat doet hij niet alleen met deauthenticatie, maar ook met nette protocolmiddelen die lastiger te blokkeren zijn: een Channel Switch Announcement, waarmee hij het apparaat vertelt dat het netwerk naar een ander kanaal verhuist, en BSS Transition Management, waarmee hij het apparaat vriendelijk naar een ander access point verwijst.
Het apparaat wil opnieuw verbinden en ziet de kloon. Veel apparaten vallen daarbij terug op WPA2 en verbinden met de kloon. De handshake die zo ontstaat is een gewone WPA2-handshake, en die kun je offline kraken.
Je omzeilt dus niet de encryptie van WPA3. Je zorgt ervoor dat WPA3 helemaal niet wordt gebruikt.
Een opgevangen handshake is nog geen wachtwoord. Het is bewijsmateriaal waartegen je kunt gokken. Dat doe je met Hashcat, bij voorkeur op een machine met een fatsoenlijke GPU:
hashcat -m 22000 vangst.hc22000 /usr/share/wordlists/rockyou.txt
Staat het wachtwoord in je woordenlijst, dan rolt het er binnen minuten uit. Staat het er niet in, dan kun je regels toepassen die varianten genereren, of overgaan op een bruteforce van een specifiek patroon.
Lukt het kraken niet, dan stond het wachtwoord niet in je woordenlijst en werd het ook niet gevonden met de regels die je probeerde. Met een andere woordenlijst of andere regels kan het nog wel lukken, dus onkraakbaar is het niet. In een pentestrapport is “handshake opgevangen, niet gekraakt binnen de afgesproken tijd” een prima bevinding.
Alles hierboven leidt tot een korte lijst maatregelen. In deze volgorde.
Zet WPS uit. Dit is de belangrijkste. PixieDust kraakt een kwetsbaar access point in seconden, en dan doet de lengte van je wachtwoord er niet meer toe. Controleer het in de beheerinterface van je router, en vergeet de gastnetwerken niet.
Gebruik een lange, willekeurige WPA2-sleutel. Geen woord uit het woordenboek, geen bedrijfsnaam met een jaartal erachter. Een wachtwoordzin van vier of meer willekeurige woorden, of twintig willekeurige tekens, is ook met een snelle GPU niet binnen redelijke tijd te kraken. Heeft iemand je handshake al opgevangen, dan helpt alleen nog een sterk wachtwoord.
Zet WPA3 aan met Protected Management Frames. PMF ondertekent beheerframes, waardoor losse deauthenticatieframes genegeerd worden. Dat maakt het afdwingen van een nieuwe handshake veel lastiger.
Schakel transition mode uit zodra het kan. Dit wordt bijna altijd vergeten. Apparaten die WPA3 gebruiken zijn er beter door beschermd, maar zolang je access point daarnaast WPA2 aanbiedt, kan een aanvaller proberen ze terug te duwen. Inventariseer welke apparaten nog geen WPA3 aankunnen, zet die apart, en zet de rest op WPA3-only.
Scheid je netwerken. Gasten, slimme apparaten en bedrijfssystemen horen niet op hetzelfde netwerk. Lukt het iemand toch binnen te komen, dan bepaalt die scheiding hoe ver hij komt.
Let op het signaal. Deauthenticatieframes en een access point dat plotseling dubbel verschijnt op een ander kanaal, horen niet bij normaal verkeer. Een wireless intrusion detection systeem pikt dit op.
Wil je de twee tools naast elkaar zien, dan staat de volledige vergelijking op de Wifite2- en wifit3-pagina’s in onze begrippenlijst.
WiFi-beveiliging is in tien jaar flink verbeterd, maar de zwakste schakel is zelden de encryptie zelf. Het is een vergeten WPS-knop, een wachtwoord dat iemand “makkelijk te onthouden” vond, of een transition mode die aanstaat omdat er ooit één oude printer op het netwerk zat.
Wil je weten wat er bij jou binnen bereik te halen valt, dan brengt een WiFi pentest dat in kaart. Wij voeren precies deze aanvallen uit, in overleg en binnen een afgesproken scope, en leveren een rapport met wat er gevonden is en hoe je het oplost.
Een laatste waarschuwing. Het aanvallen van een draadloos netwerk dat niet van jou is, of waarvoor je geen toestemming hebt, is strafbaar. Deauthenticatie- en EvilTwin-aanvallen verbreken bovendien actief verbindingen van omstanders die niets met je test te maken hebben, ook buren en voorbijgangers. Test alleen je eigen netwerk, of leg toestemming schriftelijk vast voordat je begint.
Wij testen uw WiFi-omgeving op zwakke sleutels, open WPS en de nieuwste downgrade-aanvallen, en laten zien wat een aanvaller binnen bereik werkelijk kan bereiken. Neem vrijblijvend contact met ons op om de mogelijkheden te bespreken.
Neem contact opOf mail ons direct via [email protected]
Hoe werken Potato-aanvallen in Windows en hoe misbruiken aanvallers SeImpersonatePrivilege om SYSTEM-rechten te krijgen? Lees hoe u dit detecteert en voorkomt.
Wifite2 automatiseert het testen van draadloze netwerken: het brengt WiFi-netwerken in kaart en past per netwerk handshake-, PMKID- en WPS-aanvallen toe.
wifit3 (vaak gezocht als wifite3) is de opvolger van Wifite2: een WiFi pentest tool die zonder aircrack-ng werkt en op Linux, Windows en macOS draait.