# Włącz tryb monitorowania NexMon i wstrzykiwanie pakietów na Androidzie (układy Broadcom) {{#include ../../banners/hacktricks-training.md}} ## Przegląd Większość nowoczesnych telefonów z Androidem zawiera układ Wi-Fi Broadcom/Cypress, który jest dostarczany bez trybu monitorowania 802.11 lub możliwości wstrzykiwania ramek. Framework open-source NexMon łata zastrzeżone oprogramowanie układowe, aby dodać te funkcje i udostępnia je za pośrednictwem biblioteki współdzielonej (`libnexmon.so`) oraz pomocnika CLI (`nexutil`). Poprzez wstępne załadowanie tej biblioteki do standardowego sterownika Wi-Fi, zrootowane urządzenie może przechwytywać surowy ruch 802.11 i wstrzykiwać dowolne ramki – eliminując potrzebę zewnętrznego adaptera USB. Ta strona dokumentuje szybki proces roboczy, który wykorzystuje w pełni załatany Samsung Galaxy S10 (BCM4375B1) jako przykład, używając: * Moduł NexMon Magisk zawierający załatane oprogramowanie układowe + `libnexmon.so` * Aplikacja Hijacker na Androida do automatyzacji przełączania trybu monitorowania * Opcjonalnie Kali NetHunter chroot do uruchamiania klasycznych narzędzi bezprzewodowych (aircrack-ng, wifite, mdk4 …) bezpośrednio na wewnętrznym interfejsie Ta sama technika ma zastosowanie do każdego telefonu, który ma publicznie dostępny łata NexMon (Pixel 1, Nexus 6P, Galaxy S7/S8 itp.). --- ## Wymagania wstępne * Telefon z Androidem z obsługiwanym układem Broadcom/Cypress (np. BCM4358/59/43596/4375B1) * Root z Magisk ≥ 24 * BusyBox (większość ROM-ów/NetHunter już go zawiera) * NexMon Magisk ZIP lub samodzielnie skompilowana łatka zapewniająca: * `/system/lib*/libnexmon.so` * `/system/xbin/nexutil` * Hijacker ≥ 1.7 (arm/arm64) – [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker) * (Opcjonalnie) Kali NetHunter lub dowolny Linux chroot, w którym zamierzasz uruchomić narzędzia bezprzewodowe --- ## Flashowanie łaty NexMon (Magisk) 1. Pobierz ZIP dla swojego dokładnego urządzenia/oprogramowania (przykład: `nexmon-s10.zip`). 2. Otwórz Magisk -> Moduły -> Zainstaluj z pamięci -> wybierz ZIP i uruchom ponownie. Moduł kopiuje `libnexmon.so` do `/data/adb/modules//lib*/` i zapewnia, że etykiety SELinux są poprawne. 3. Zweryfikuj instalację: ```bash ls -lZ $(find / -name libnexmon.so 2>/dev/null) sha1sum $(which nexutil) ``` --- ## Konfigurowanie Hijacker Hijacker może automatycznie przełączać tryb monitorowania przed uruchomieniem `airodump`, `wifite` itp. W **Ustawienia -> Zaawansowane** dodaj następujące wpisy (edytuj ścieżkę do biblioteki, jeśli twój moduł się różni): ``` Prefix: LD_PRELOAD=/data/user/0/com.hijacker/files/lib/libnexmon.so Enable monitor mode: svc wifi disable; ifconfig wlan0 up; nexutil -s0x613 -i -v2 Disable monitor mode: nexutil -m0; svc wifi enable ``` Włącz „Rozpocznij tryb monitorowania przy starcie airodump”, aby każde skanowanie Hijacker odbywało się w natywnym trybie monitorowania (`wlan0` zamiast `wlan0mon`). Jeśli Hijacker wyświetla błędy przy uruchomieniu, utwórz wymaganą katalog na wspólnej pamięci i ponownie otwórz aplikację: ```bash mkdir -p /storage/emulated/0/Hijacker ``` ### Co oznaczają te flagi `nexutil`? * **`-s0x613`** Zapisz zmienną firmware 0x613 (FCAP_FRAME_INJECTION) → `1` (włącz TX dowolnych ramek). * **`-i`** Ustaw interfejs w trybie monitorowania (nagłówek radiotap zostanie dodany). * **`-v2`** Ustaw poziom szczegółowości; `2` drukuje potwierdzenie i wersję firmware. * **`-m0`** Przywróć tryb zarządzany (używany w poleceniu *disable*). Po uruchomieniu *Włącz tryb monitorowania* powinieneś zobaczyć interfejs w stanie monitorowania i być w stanie przechwytywać surowe ramki za pomocą: ```bash airodump-ng --band abg wlan0 ``` --- ## Ręczny one-liner (bez Hijackera) ```bash # Enable monitor + injection svc wifi disable && ifconfig wlan0 up && nexutil -s0x613 -i -v2 # Disable and return to normal Wi-Fi nexutil -m0 && svc wifi enable ``` Jeśli potrzebujesz tylko pasywnego sniffingu, pomiń flagę `-s0x613`. --- ## Używanie `libnexmon` w Kali NetHunter / chroot Standardowe narzędzia użytkownika w Kali nie znają NexMon, ale możesz zmusić je do jego użycia za pomocą `LD_PRELOAD`: 1. Skopiuj wstępnie zbudowany obiekt współdzielony do chroot: ```bash cp /sdcard/Download/kalilibnexmon.so /lib/ ``` 2. Włącz tryb monitorowania z **gospodarza Android** (polecenie powyżej lub przez Hijacker). 3. Uruchom dowolne narzędzie bezprzewodowe w Kali z preload: ```bash sudo su export LD_PRELOAD=/lib/kalilibnexmon.so wifite -i wlan0 # lub aircrack-ng, mdk4 … ``` 4. Po zakończeniu, wyłącz tryb monitorowania jak zwykle na Androidzie. Ponieważ oprogramowanie układowe już obsługuje wstrzykiwanie radiotap, narzędzia użytkownika zachowują się tak samo jak na zewnętrznym adapterze Atheros. --- ## Typowe możliwe ataki Gdy monitor + TX jest aktywny, możesz: * Przechwytywać handshake WPA(2/3-SAE) lub PMKID za pomocą `wifite`, `hcxdumptool`, `airodump-ng`. * Wstrzykiwać ramki deautoryzacji / dezasocjacji, aby zmusić klientów do ponownego połączenia. * Tworzyć dowolne ramki zarządzające/dane za pomocą `mdk4`, `aireplay-ng`, Scapy itp. * Budować fałszywe AP lub przeprowadzać ataki KARMA/MANA bezpośrednio z telefonu. Wydajność na Galaxy S10 jest porównywalna z zewnętrznymi NIC USB (~20 dBm TX, 2-3 M pps RX). --- ## Rozwiązywanie problemów * `Device or resource busy` – upewnij się, że **usługa Wi-Fi Android jest wyłączona** (`svc wifi disable`) przed włączeniem trybu monitorowania. * `nexutil: ioctl(PRIV_MAGIC) failed` – biblioteka nie jest wstępnie załadowana; sprawdź ścieżkę `LD_PRELOAD`. * Wstrzykiwanie ramek działa, ale nie przechwycono żadnych pakietów – niektóre ROM-y blokują kanały; spróbuj `nexutil -c ` lub `iwconfig wlan0 channel `. * SELinux blokuje bibliotekę – ustaw urządzenie na *Permissive* lub napraw kontekst modułu: `chcon u:object_r:system_lib_file:s0 libnexmon.so`. --- ## Odniesienia * [Hijacker na Samsung Galaxy S10 z wstrzykiwaniem bezprzewodowym](https://forums.kali.org/t/hijacker-on-the-samsung-galaxy-s10-with-wireless-injection/10305) * [NexMon – framework do patchowania oprogramowania układowego](https://github.com/seemoo-lab/nexmon) * [Hijacker (interfejs graficzny aircrack-ng dla Androida)](https://github.com/chrisk44/Hijacker) {{#include ../../banners/hacktricks-training.md}}