# Aktivieren des NexMon-Monitor-Modus & Paket-Injektion auf Android (Broadcom-Chips) {{#include ../../banners/hacktricks-training.md}} ## Übersicht Die meisten modernen Android-Handys verfügen über einen Broadcom/Cypress-Wi-Fi-Chipsatz, der ohne 802.11-Monitor-Modus oder Frame-Injektionsfähigkeiten ausgeliefert wird. Das Open-Source-NexMon-Framework patcht die proprietäre Firmware, um diese Funktionen hinzuzufügen, und stellt sie über eine Shared Library (`libnexmon.so`) und einen CLI-Helfer (`nexutil`) zur Verfügung. Durch das Vorladen dieser Bibliothek in den Standard-Wi-Fi-Treiber kann ein gerootetes Gerät rohen 802.11-Verkehr erfassen und beliebige Frames injizieren – was die Notwendigkeit eines externen USB-Adapters beseitigt. Diese Seite dokumentiert einen schnellen Workflow, der ein vollständig gepatchtes Samsung Galaxy S10 (BCM4375B1) als Beispiel verwendet, mit: * NexMon Magisk-Modul, das die gepatchte Firmware + `libnexmon.so` enthält * Hijacker Android-Anwendung zur Automatisierung des Umschaltens des Monitor-Modus * Optional Kali NetHunter Chroot, um klassische drahtlose Tools (aircrack-ng, wifite, mdk4 …) direkt gegen die interne Schnittstelle auszuführen Die gleiche Technik gilt für jedes Handy, das einen öffentlich verfügbaren NexMon-Patch hat (Pixel 1, Nexus 6P, Galaxy S7/S8 usw.). --- ## Voraussetzungen * Android-Handy mit einem unterstützten Broadcom/Cypress-Chipsatz (z. B. BCM4358/59/43596/4375B1) * Root mit Magisk ≥ 24 * BusyBox (die meisten ROMs/NetHunter enthalten es bereits) * NexMon Magisk ZIP oder selbstkompilierten Patch, der bereitstellt: * `/system/lib*/libnexmon.so` * `/system/xbin/nexutil` * Hijacker ≥ 1.7 (arm/arm64) – [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker) * (Optional) Kali NetHunter oder ein beliebiges Linux-Chroot, in dem Sie drahtlose Tools ausführen möchten --- ## Flashen des NexMon-Patches (Magisk) 1. Laden Sie die ZIP für Ihr genaues Gerät/Firmware herunter (Beispiel: `nexmon-s10.zip`). 2. Öffnen Sie Magisk -> Module -> Aus Speicher installieren -> wählen Sie die ZIP aus und starten Sie neu. Das Modul kopiert `libnexmon.so` in `/data/adb/modules//lib*/` und stellt sicher, dass die SELinux-Labels korrekt sind. 3. Überprüfen Sie die Installation: ```bash ls -lZ $(find / -name libnexmon.so 2>/dev/null) sha1sum $(which nexutil) ``` --- ## Konfigurieren von Hijacker Hijacker kann den Monitor-Modus automatisch umschalten, bevor `airodump`, `wifite` usw. ausgeführt werden. Fügen Sie in **Einstellungen -> Erweitert** die folgenden Einträge hinzu (bearbeiten Sie den Bibliothekspfad, wenn Ihr Modul abweicht): ``` 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 ``` Aktivieren Sie „Monitor-Modus beim Start von airodump starten“, damit jeder Hijacker-Scan im nativen Monitor-Modus erfolgt (`wlan0` anstelle von `wlan0mon`). Wenn Hijacker beim Start Fehler anzeigt, erstellen Sie das erforderliche Verzeichnis im gemeinsamen Speicher und öffnen Sie die App erneut: ```bash mkdir -p /storage/emulated/0/Hijacker ``` ### Was bedeuten diese `nexutil`-Flags? * **`-s0x613`** Schreibe Firmware-Variable 0x613 (FCAP_FRAME_INJECTION) → `1` (Aktivieren des TX von beliebigen Frames). * **`-i`** Setze das Interface in den Monitor-Modus (Radiotap-Header wird hinzugefügt). * **`-v2`** Setze die Ausführlichkeitsebene; `2` druckt Bestätigung und Firmware-Version. * **`-m0`** Stelle den Managed-Modus wieder her (wird im *disable*-Befehl verwendet). Nach dem Ausführen von *Enable monitor mode* solltest du das Interface im Monitor-Zustand sehen und in der Lage sein, rohe Frames mit: ```bash airodump-ng --band abg wlan0 ``` --- ## Manuelle Einzeile (ohne Hijacker) ```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 ``` Wenn Sie nur passives Sniffing benötigen, lassen Sie das `-s0x613` Flag weg. --- ## Verwendung von `libnexmon` in Kali NetHunter / chroot Standardbenutzerwerkzeuge in Kali kennen NexMon nicht, aber Sie können sie zwingen, es über `LD_PRELOAD` zu verwenden: 1. Kopieren Sie das vorgebaute Shared Object in das chroot: ```bash cp /sdcard/Download/kalilibnexmon.so /lib/ ``` 2. Aktivieren Sie den Monitor-Modus vom **Android-Host** (Befehl oben oder über Hijacker). 3. Starten Sie ein beliebiges drahtloses Tool in Kali mit dem Preload: ```bash sudo su export LD_PRELOAD=/lib/kalilibnexmon.so wifite -i wlan0 # oder aircrack-ng, mdk4 … ``` 4. Deaktivieren Sie den Monitor-Modus wie gewohnt auf Android, wenn Sie fertig sind. Da die Firmware bereits die Radiotap-Injektion verarbeitet, verhalten sich Benutzerwerkzeuge genau wie bei einem externen Atheros-Adapter. --- ## Typische Angriffe möglich Sobald Monitor + TX aktiv ist, können Sie: * WPA(2/3-SAE) Handshakes oder PMKID mit `wifite`, `hcxdumptool`, `airodump-ng` erfassen. * Deauthentifizierungs-/Dissoziationsrahmen injizieren, um Clients zum Wiederverbinden zu zwingen. * Beliebige Management-/Datenrahmen mit `mdk4`, `aireplay-ng`, Scapy usw. erstellen. * Rogue APs erstellen oder KARMA/MANA-Angriffe direkt vom Telefon ausführen. Die Leistung auf dem Galaxy S10 ist vergleichbar mit externen USB NICs (~20 dBm TX, 2-3 M pps RX). --- ## Fehlersuche * `Device or resource busy` – stellen Sie sicher, dass der **Android-WLAN-Dienst deaktiviert ist** (`svc wifi disable`), bevor Sie den Monitor-Modus aktivieren. * `nexutil: ioctl(PRIV_MAGIC) failed` – die Bibliothek ist nicht vorab geladen; überprüfen Sie den `LD_PRELOAD`-Pfad. * Rahmeninjektion funktioniert, aber keine Pakete erfasst – einige ROMs blockieren Kanäle hart; versuchen Sie `nexutil -c ` oder `iwconfig wlan0 channel `. * SELinux blockiert die Bibliothek – setzen Sie das Gerät auf *Permissive* oder beheben Sie den Modulkontext: `chcon u:object_r:system_lib_file:s0 libnexmon.so`. --- ## Referenzen * [Hijacker auf dem Samsung Galaxy S10 mit drahtloser Injektion](https://forums.kali.org/t/hijacker-on-the-samsung-galaxy-s10-with-wireless-injection/10305) * [NexMon – Firmware-Patching-Framework](https://github.com/seemoo-lab/nexmon) * [Hijacker (aircrack-ng GUI für Android)](https://github.com/chrisk44/Hijacker) {{#include ../../banners/hacktricks-training.md}}