Activer le mode moniteur NexMon et l'injection de paquets sur Android (puces Broadcom)

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Aperçu

La plupart des tĂ©lĂ©phones Android modernes intĂšgrent une puce Wi-Fi Broadcom/Cypress qui est livrĂ©e sans mode moniteur 802.11 ni capacitĂ©s d'injection de trames. Le framework open-source NexMon patch le firmware propriĂ©taire pour ajouter ces fonctionnalitĂ©s et les expose via une bibliothĂšque partagĂ©e (libnexmon.so) et un helper CLI (nexutil). En prĂ©chargeant cette bibliothĂšque dans le pilote Wi-Fi d'origine, un appareil rootĂ© peut capturer le trafic 802.11 brut et injecter des trames arbitraires – Ă©liminant ainsi le besoin d'un adaptateur USB externe.

Cette page documente un flux de travail rapide qui prend un Samsung Galaxy S10 entiÚrement patché (BCM4375B1) comme exemple, en utilisant :

  • Module Magisk NexMon contenant le firmware patchĂ© + libnexmon.so
  • Application Android Hijacker pour automatiser le basculement du mode moniteur
  • Chroot Kali NetHunter optionnel pour exĂ©cuter des outils sans fil classiques (aircrack-ng, wifite, mdk4 
) directement contre l'interface interne

La mĂȘme technique s'applique Ă  tout appareil disposant d'un patch NexMon disponible publiquement (Pixel 1, Nexus 6P, Galaxy S7/S8, etc.).


Prérequis

  • Appareil Android avec une puce Broadcom/Cypress prise en charge (par exemple, BCM4358/59/43596/4375B1)
  • Root avec Magisk ≄ 24
  • BusyBox (la plupart des ROMs/NetHunter l'incluent dĂ©jĂ )
  • ZIP Magisk NexMon ou patch auto-compilĂ© fournissant :
  • /system/lib*/libnexmon.so
  • /system/xbin/nexutil
  • Hijacker ≄ 1.7 (arm/arm64) – https://github.com/chrisk44/Hijacker
  • (Optionnel) Kali NetHunter ou tout chroot Linux oĂč vous comptez exĂ©cuter des outils sans fil

Flasher le patch NexMon (Magisk)

  1. Téléchargez le ZIP pour votre appareil/firmware exact (exemple : nexmon-s10.zip).
  2. Ouvrez Magisk -> Modules -> Installer depuis le stockage -> sélectionnez le ZIP et redémarrez. Le module copie libnexmon.so dans /data/adb/modules/<module>/lib*/ et s'assure que les étiquettes SELinux sont correctes.
  3. Vérifiez l'installation :
bash
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
sha1sum $(which nexutil)

Configurer Hijacker

Hijacker peut basculer le mode moniteur automatiquement avant d'exécuter airodump, wifite, etc. Dans ParamÚtres -> Avancé, ajoutez les entrées suivantes (modifiez le chemin de la bibliothÚque si votre module diffÚre) :

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

Activez "Démarrer le mode moniteur au démarrage d'airodump" afin que chaque scan de Hijacker se fasse en mode moniteur natif (wlan0 au lieu de wlan0mon).

Si Hijacker affiche des erreurs au lancement, créez le répertoire requis sur le stockage partagé et rouvrez l'application :

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

Que signifient ces drapeaux nexutil ?

  • -s0x613 Écrire la variable de firmware 0x613 (FCAP_FRAME_INJECTION) → 1 (activer l'envoi de trames arbitraires).
  • -i Mettre l'interface en mode moniteur (l'en-tĂȘte radiotap sera ajoutĂ©).
  • -v2 DĂ©finir le niveau de verbositĂ© ; 2 imprime la confirmation et la version du firmware.
  • -m0 Restaurer le mode gĂ©rĂ© (utilisĂ© dans la commande disable).

AprĂšs avoir exĂ©cutĂ© Enable monitor mode, vous devriez voir l'interface en Ă©tat de moniteur et ĂȘtre capable de capturer des trames brutes avec :

bash
airodump-ng --band abg wlan0

Ligne de commande manuelle (sans 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

Si vous n'avez besoin que de l'écoute passive, omettez le drapeau -s0x613.


Utilisation de libnexmon dans Kali NetHunter / chroot

Les outils d'espace utilisateur de base dans Kali ne connaissent pas NexMon, mais vous pouvez les forcer Ă  l'utiliser via LD_PRELOAD :

  1. Copiez l'objet partagé pré-construit dans le chroot :
bash
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
  1. Activez le mode moniteur depuis l'hĂŽte Android (commande ci-dessus ou via Hijacker).
  2. Lancez n'importe quel outil sans fil dans Kali avec le préchargement :
bash
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0        # ou aircrack-ng, mdk4 

  1. Lorsque vous avez terminé, désactivez le mode moniteur comme d'habitude sur Android.

Parce que le firmware gÚre déjà l'injection radiotap, les outils d'espace utilisateur se comportent comme sur un adaptateur Atheros externe.


Attaques typiques possibles

Une fois le mode moniteur + TX actif, vous pouvez :

  • Capturer des handshakes WPA(2/3-SAE) ou PMKID avec wifite, hcxdumptool, airodump-ng.
  • Injecter des trames de dĂ©sauthentification / de dĂ©sassociation pour forcer les clients Ă  se reconnecter.
  • CrĂ©er des trames de gestion/donnĂ©es arbitraires avec mdk4, aireplay-ng, Scapy, etc.
  • Construire des APs malveillants ou effectuer des attaques KARMA/MANA directement depuis le tĂ©lĂ©phone.

Les performances sur le Galaxy S10 sont comparables Ă  celles des NIC USB externes (~20 dBm TX, 2-3 M pps RX).


Dépannage

  • Device or resource busy – assurez-vous que le service Wi-Fi Android est dĂ©sactivĂ© (svc wifi disable) avant d'activer le mode moniteur.
  • nexutil: ioctl(PRIV_MAGIC) failed – la bibliothĂšque n'est pas prĂ©chargĂ©e ; vĂ©rifiez le chemin LD_PRELOAD.
  • L'injection de trames fonctionne mais aucun paquet capturĂ© – certains ROMs bloquent les canaux ; essayez nexutil -c <channel> ou iwconfig wlan0 channel <n>.
  • SELinux bloque la bibliothĂšque – dĂ©finissez l'appareil sur Permissif ou corrigez le contexte du module : chcon u:object_r:system_lib_file:s0 libnexmon.so.

Références

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks