Abilitare la modalità monitor NexMon e l'iniezione di pacchetti su Android (chip Broadcom)

Reading time: 6 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Panoramica

La maggior parte dei moderni telefoni Android integra un chipset Wi-Fi Broadcom/Cypress che viene fornito senza modalità monitor 802.11 o capacità di iniezione di frame. Il framework open-source NexMon patcha il firmware proprietario per aggiungere queste funzionalità e le espone tramite una libreria condivisa (libnexmon.so) e un helper CLI (nexutil). Pre-caricando quella libreria nel driver Wi-Fi stock, un dispositivo rootato può catturare il traffico 802.11 grezzo e iniettare frame arbitrari, eliminando la necessità di un adattatore USB esterno.

Questa pagina documenta un flusso di lavoro veloce che prende come esempio un Samsung Galaxy S10 completamente patchato (BCM4375B1), utilizzando:

  • Modulo Magisk NexMon contenente il firmware patchato + libnexmon.so
  • Applicazione Android Hijacker per automatizzare l'attivazione della modalità monitor
  • Chroot Kali NetHunter opzionale per eseguire strumenti wireless classici (aircrack-ng, wifite, mdk4 …) direttamente contro l'interfaccia interna

La stessa tecnica si applica a qualsiasi dispositivo che ha una patch NexMon disponibile pubblicamente (Pixel 1, Nexus 6P, Galaxy S7/S8, ecc.).


Requisiti

  • Dispositivo Android con un chipset Broadcom/Cypress supportato (es. BCM4358/59/43596/4375B1)
  • Root con Magisk ≥ 24
  • BusyBox (la maggior parte delle ROM/NetHunter lo include già)
  • ZIP Magisk NexMon o patch auto-compilata che fornisce:
  • /system/lib*/libnexmon.so
  • /system/xbin/nexutil
  • Hijacker ≥ 1.7 (arm/arm64) – https://github.com/chrisk44/Hijacker
  • (Opzionale) Kali NetHunter o qualsiasi chroot Linux dove intendi eseguire strumenti wireless

Flashing della patch NexMon (Magisk)

  1. Scarica il ZIP per il tuo dispositivo/firmware esatto (esempio: nexmon-s10.zip).
  2. Apri Magisk -> Moduli -> Installa da memoria -> seleziona il ZIP e riavvia. Il modulo copia libnexmon.so in /data/adb/modules/<module>/lib*/ e assicura che le etichette SELinux siano corrette.
  3. Verifica l'installazione:
bash
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
sha1sum $(which nexutil)

Configurazione di Hijacker

Hijacker può attivare automaticamente la modalità monitor prima di eseguire airodump, wifite, ecc. In Impostazioni -> Avanzate aggiungi le seguenti voci (modifica il percorso della libreria se il tuo modulo è diverso):

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

Abilita “Avvia la modalità monitor all'avvio di airodump” in modo che ogni scansione di Hijacker avvenga in modalità monitor nativa (wlan0 invece di wlan0mon).

Se Hijacker mostra errori all'avvio, crea la directory necessaria nella memoria condivisa e riapri l'app:

bash
mkdir -p /storage/emulated/0/Hijacker

Cosa significano quei flag nexutil?

  • -s0x613 Scrivi la variabile firmware 0x613 (FCAP_FRAME_INJECTION) → 1 (abilita TX di frame arbitrari).
  • -i Metti l'interfaccia in modalità monitor (l'intestazione radiotap sarà aggiunta).
  • -v2 Imposta il livello di verbosità; 2 stampa conferma e versione del firmware.
  • -m0 Ripristina la modalità gestita (utilizzata nel comando disable).

Dopo aver eseguito Enable monitor mode dovresti vedere l'interfaccia in stato monitor e essere in grado di catturare frame grezzi con:

bash
airodump-ng --band abg wlan0

Manual one-liner (senza 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

Se hai solo bisogno di sniffing passivo, ometti il flag -s0x613.


Utilizzo di libnexmon all'interno di Kali NetHunter / chroot

Gli strumenti di user-space di Kali non conoscono NexMon, ma puoi costringerli a usarlo tramite LD_PRELOAD:

  1. Copia l'oggetto condiviso precompilato nel chroot:
bash
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
  1. Abilita la modalità monitor dall'host Android (comando sopra o tramite Hijacker).
  2. Avvia qualsiasi strumento wireless all'interno di Kali con il preload:
bash
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0        # o aircrack-ng, mdk4 …
  1. Quando hai finito, disabilita la modalità monitor come al solito su Android.

Poiché il firmware gestisce già l'iniezione radiotap, gli strumenti di user-space si comportano proprio come su un adattatore Atheros esterno.


Attacchi Tipici Possibili

Una volta attivo monitor + TX puoi:

  • Catturare handshake WPA(2/3-SAE) o PMKID con wifite, hcxdumptool, airodump-ng.
  • Iniettare frame di deautenticazione/disassociazione per costringere i client a riconnettersi.
  • Creare frame di gestione/dati arbitrari con mdk4, aireplay-ng, Scapy, ecc.
  • Costruire AP fasulli o eseguire attacchi KARMA/MANA direttamente dal telefono.

Le prestazioni sul Galaxy S10 sono comparabili a NIC USB esterni (~20 dBm TX, 2-3 M pps RX).


Risoluzione dei Problemi

  • Dispositivo o risorsa occupata – assicurati che il servizio Wi-Fi di Android sia disabilitato (svc wifi disable) prima di abilitare la modalità monitor.
  • nexutil: ioctl(PRIV_MAGIC) fallito – la libreria non è pre-caricata; controlla il percorso di LD_PRELOAD.
  • L'iniezione di frame funziona ma nessun pacchetto catturato – alcune ROM bloccano hard i canali; prova nexutil -c <channel> o iwconfig wlan0 channel <n>.
  • SELinux blocca la libreria – imposta il dispositivo su Permissivo o correggi il contesto del modulo: chcon u:object_r:system_lib_file:s0 libnexmon.so.

Riferimenti

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks