Fluxion – Briljante Evil Twin WiFi Attack
In een vorige post (WiFi hacking – Advanced 2/2) noemde ik het Fluxion script maar ging ik hier niet diep op in (de post was al lang genoeg en ik wilde het niet nog meer rekken). Maaaarrrr aangezien ik het script zo f*cking awesome heb ik hier een separate post van gemaakt.
Fluxion is een Linux script gebaseerd op het linset script. Fluxion is een script om een slimme man-in-the-middle aanval / evil twin attack uit te voeren. Het doel is om het WiFi wachtwoord te achterhalen van een access point zonder het wachtwoord te kraken middels dictionary attacks / brute-force attacks. Fluxion doet dit door een captive portal te creëren op een SSID welke legitiem lijkt.
Dus wat gebeurt er, stap-voor-stap tijdens het uitvoeren van het Fluxion script.
- Scan netwerk
- Automatisch DeAuth clients en captures de WPA Handshake
- Lanceert een EvilTwin AP
- DeAuth cliënts van het doelnetwerk om ze vervolgens te laten verbinden met de EvilTwin AP
- Zet een eigen DHCP en DNS server op om ervoor te zorgen dat alle DNS Requests via de EvilTwin host gaan
- Zet een Captive Portal (webinterface) op met templates voor veel access points waar cliënts hun WiFi wachtwoord in moeten voeren
- Controleert het ingevoegde WPA wachtwoord, als correct wordt de aanval stopgezet en zo niet dan wordt het wachtwoord nogmaals gevraagd
Installatie Fluxion
Nu we weten wat Fluxion doet willen we dit natuurlijk ook in actie zien. Allereerst gaan we Fluxion installeren. Aangezien Fluxion een GitHub repository is kunnen we deze simpelweg kopiëren. Zorg er wel voor dat je in de juiste directory zit omdat Fluxion in deze directory (met subfolder “fluxion” geïnstalleerd wordt).
git clone https://github.com/deltaxflux/fluxion |

Vervolgens gaan we het script uitvoeren. Navigeer naar de Fluxion dir en start het script:
sudo ./fluxion |

Het script kijkt vervolgens of alle dependencies (benodigde onderdelen) aanwezig zijn. Zo niet, installeer deze dan middels:
sudo ./Installer.sh |

Uitvoeren Fluxion script
Als we vervolgens het script weer draaien (“sudo ./fluxion”) dan zal het programma prima draaien:

Nu krijgen we een aantal vragen. De eerste vraag is welke WiFi adapter we willen gebruiken in “monitor mode” (als er meerdere WiFi adapters aanwezig zijn) en welke WiFi kanalen we willen scannen. Kies hier voor alle kanalen mits je natuurlijk al een exact kanaal in gedachten hebt.

Fluxion start vervolgens een “airodump-ng” proces. Laat deze draaien tot het access point is gevonden zijn welke je wilt “namaken”. Als dit access point gevonden is druk je op de “stop” button (CTRL+C).

Vervolgens selecteer je het access point (noteer eventueel ook het MAC adres om te achterhalen om welk type het gaat).
Selecteer een aanval. Je hebt hierin een aantal keuzes waaronder een bruteforce en WPS attack. Wij kiezen echter voor de recommended aanval, de FakeAP Hostapd waarmee we een Evil-Twin gaan creëren.

Vervolgens wordt er gevraagd om de WPA handshake. Als deze nog niet gecaptured is dan kan het script dit automatisch doen door cliënts een DeAuth te sturen en de handshake uit te lezen. Om dit door het script te laten doen klikken we op


Als de WPA handshake is gevangen wordt deze rechts bovenin beeld getoond.

Kies vervolgens voor nummer 1 om de handshake te controleren Nu we de handshake hebben en OK gecontroleerd is kiezen we voor de “Web Interface” optie (Bruteforce optie heb ik niet geprobeerd) aangezien ik een captive portal (Web Interface) wil creëren.

In de volgende stap kiezen we de captive portal. Het script kent een aantal varianten waaronder een Netgear, Huawei en Arris portal (en verschillende talen). Als je wilt achterhalen met welk access point we te maken hebben gebruik dan het OUI gedeelte van het genoteerde MAC adres. Het OUI (Organizationally Unique Identifier) gedeelte zijn de eerste 6 karakters (24 bits) van het MAC adres. Gebruik b.v. deze pagina (Google maar, er zijn er genoeg).


Omdat ik een NL FritzBox probeer te dupliceren zijn deze keuzes geen van allen acceptabel. Ik ga hiervoor mijn eigen portal maken. Om dit te doen ga ik in de Fluxion folder naar : “Sites” en kopieer ik de “BELKIN-EN” folder en pas ik de juiste bestanden aan. Mijn nieuwe folder noem ik “FRITZBOX-NL”. Vervolgens pas ik het bestand “fluxion” aan:



De nieuwe portal is nu klaar. Als de portal nog niet bestond en je deze wel wilt gaan gebruiken dan moet Fluxion gereboot worden. De hiervoor gevangen handshake kan heel simpel en snel hergebruikt worden. Nu kunnen we als Web Interface ook kiezen voor de FRITZBOX interface.

Na het kiezen voor de FRITZBOX interface start Fluxion de nodige services.

Mijn WiFi apparaten ontvangen een DeAuth signaal en disconnecten van het juiste access point. En dan komt het enige grote nadeel aan het Fluxion script. Als ik nu zoek naar draadloze netwerkverbindingen dan zie ik 2 netwerken, het originele netwerk en het gecreëerde OPEN netwerk door Fluxion. Het is dus een open netwerk naast het bestaande netwerk. Het feit dat het een open netwerk is zorgt ervoor dat veel mensen al weten dat ze hier niet mee moeten verbinden. Het is dus zaak om ervoor te zorgen dat je signaal sterker is dan het originele signaal. Dit kun je doen door dichterbij te komen dan het originele access point of door een WiFi amplifier te gebruiken. Je kunt ook je eigen WiFi een sterker signaal laten uitzenden. Zo kun je in Nederland op maximaal 27dBm uitzenden. Er zijn echter landen die tot 30dBm toestaan zoals Bolivia. Door je netwerkkaart (voor dat je de aanval start) om te zetten kun je dus een sterker signaal uitzenden. Het volgende commando verteld je netwerkkaart dat je in Bolivia bent:
iw reg set BO |
En met het volgende commando vertel je dat de maximum zendkracht 30dBm mag zijn:
iwconfig wlan0 txpower 30 |
Nu de aanval loopt zullen cliënts van het originele access point DeAuth pakketjes blijven ontvangen. Dit gebeurt volgens mij niet vaak genoeg. Dit proces kunnen we versnellen door separaat een 2e terminal te openen en om daar een DeAuth attack op het originele access point los te laten middels “aireplay-ng”:
aireplay-ng --deauth 0 -a BC05433C59A1 –c E4F8EF5B4EC7 wlan0mon |
Als een cliënt verbindt met het open SSID dan ziet deze de volgende (door ons zelf gemaakte) portal:

Als het wachtwoord wordt ingevoegd controleert Fluxion of we hiermee de WPA handshake kunnen kraken. Zo ja, dan verschijnt het volgende venster:

Als het wachtwoord fout is dan zal de portal dit aangeven en kan men het nogmaals proberen:

Na het invoeren van het juiste wachtwoord stopt het script vanzelf. De gebruiker zal nu weer verbonden worden met het originele access point (let op, als er een separaat DeAuth proces is gestart om deze nog wel te stoppen).

De hacker is nu in het bezit van het juiste WiFi wachtwoord zonder het toepassen van een brute force aanval. Deze aanval werkt meestal binnen 30 minuten (hoe meer cliënts, des te sneller de kans op succes).
Nogmaals beste gebruikers… vertrouw nooit een open WiFi netwerk. Deze zijn slechts zelden veilig. U weet nooit wie uw verkeer monitored en wat men met deze gegevens doet.
Maar Fluxion… whow! Wat een prachtig script voor de security analist!
PS. Als er er nog iemand interesse heeft in de FritzBox portal, dan mag hij deze bestanden hier downloaden!