Włącz tryb monitorowania NexMon i wstrzykiwanie pakietów na Androidzie (układy Broadcom)
Reading time: 6 minutes
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
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
- (Opcjonalnie) Kali NetHunter lub dowolny Linux chroot, w którym zamierzasz uruchomić narzędzia bezprzewodowe
Flashowanie łaty NexMon (Magisk)
- Pobierz ZIP dla swojego dokładnego urządzenia/oprogramowania (przykład:
nexmon-s10.zip
). - Otwórz Magisk -> Moduły -> Zainstaluj z pamięci -> wybierz ZIP i uruchom ponownie.
Moduł kopiuje
libnexmon.so
do/data/adb/modules/<module>/lib*/
i zapewnia, że etykiety SELinux są poprawne. - Zweryfikuj instalację:
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ę:
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ą:
airodump-ng --band abg wlan0
Ręczny one-liner (bez Hijackera)
# 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
:
- Skopiuj wstępnie zbudowany obiekt współdzielony do chroot:
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
- Włącz tryb monitorowania z gospodarza Android (polecenie powyżej lub przez Hijacker).
- Uruchom dowolne narzędzie bezprzewodowe w Kali z preload:
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0 # lub aircrack-ng, mdk4 …
- 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 <channel>
lubiwconfig wlan0 channel <n>
. - 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
- NexMon – framework do patchowania oprogramowania układowego
- Hijacker (interfejs graficzny aircrack-ng dla Androida)
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.