Habilitar el Modo Monitor de NexMon e Inyección de Paquetes en Android (chips Broadcom)
Reading time: 6 minutes
tip
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Descripción general
La mayoría de los teléfonos Android modernos incorporan un chipset Wi-Fi Broadcom/Cypress que se envía sin modo monitor 802.11 o capacidades de inyección de tramas. El marco de código abierto NexMon parchea el firmware propietario para agregar esas características y las expone a través de una biblioteca compartida (libnexmon.so
) y un asistente CLI (nexutil
). Al pre-cargar esa biblioteca en el controlador Wi-Fi de stock, un dispositivo con root puede capturar tráfico 802.11 en bruto e inyectar tramas arbitrarias, eliminando la necesidad de un adaptador USB externo.
Esta página documenta un flujo de trabajo rápido que toma un Samsung Galaxy S10 completamente parcheado (BCM4375B1) como ejemplo, utilizando:
- Módulo Magisk de NexMon que contiene el firmware parcheado +
libnexmon.so
- Aplicación Hijacker para automatizar el cambio de modo monitor
- Chroot opcional de Kali NetHunter para ejecutar herramientas inalámbricas clásicas (aircrack-ng, wifite, mdk4 …) directamente contra la interfaz interna
La misma técnica se aplica a cualquier dispositivo que tenga un parche NexMon disponible públicamente (Pixel 1, Nexus 6P, Galaxy S7/S8, etc.).
Requisitos previos
- Dispositivo Android con un chipset Broadcom/Cypress compatible (por ejemplo, BCM4358/59/43596/4375B1)
- Root con Magisk ≥ 24
- BusyBox (la mayoría de los ROMs/NetHunter ya lo incluyen)
- ZIP de NexMon Magisk o parche autocompilado que proporcione:
/system/lib*/libnexmon.so
/system/xbin/nexutil
- Hijacker ≥ 1.7 (arm/arm64) – https://github.com/chrisk44/Hijacker
- (Opcional) Kali NetHunter o cualquier chroot de Linux donde pretendas ejecutar herramientas inalámbricas
Flashear el parche NexMon (Magisk)
- Descarga el ZIP para tu dispositivo/firmware exacto (ejemplo:
nexmon-s10.zip
). - Abre Magisk -> Módulos -> Instalar desde almacenamiento -> selecciona el ZIP y reinicia.
El módulo copia
libnexmon.so
en/data/adb/modules/<module>/lib*/
y asegura que las etiquetas de SELinux sean correctas. - Verifica la instalación:
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
sha1sum $(which nexutil)
Configurando Hijacker
Hijacker puede alternar el modo monitor automáticamente antes de ejecutar airodump
, wifite
, etc. En Configuración -> Avanzado agrega las siguientes entradas (edita la ruta de la biblioteca si tu módulo es diferente):
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
Habilita "Iniciar el modo monitor al iniciar airodump" para que cada escaneo de Hijacker ocurra en modo monitor nativo (wlan0
en lugar de wlan0mon
).
Si Hijacker muestra errores al iniciar, crea el directorio requerido en el almacenamiento compartido y vuelve a abrir la aplicación:
mkdir -p /storage/emulated/0/Hijacker
¿Qué significan esas banderas nexutil
?
-s0x613
Escribir variable de firmware 0x613 (FCAP_FRAME_INJECTION) →1
(habilitar TX de tramas arbitrarias).-i
Poner la interfaz en modo monitor (el encabezado radiotap se añadirá).-v2
Establecer nivel de verbosidad;2
imprime confirmación y versión del firmware.-m0
Restaurar modo gestionado (utilizado en el comando disable).
Después de ejecutar Enable monitor mode deberías ver la interfaz en estado de monitor y poder capturar tramas en bruto con:
airodump-ng --band abg wlan0
Línea de comando manual (sin Hijacker)
# 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 solo necesitas sniffing pasivo, omite la bandera -s0x613
.
Usando libnexmon
dentro de Kali NetHunter / chroot
Las herramientas de espacio de usuario de stock en Kali no conocen NexMon, pero puedes forzarlas a usarlo a través de LD_PRELOAD
:
- Copia el objeto compartido preconstruido en el chroot:
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
- Habilita el modo monitor desde el host de Android (comando anterior o a través de Hijacker).
- Lanza cualquier herramienta inalámbrica dentro de Kali con el preload:
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0 # o aircrack-ng, mdk4 …
- Cuando termines, desactiva el modo monitor como de costumbre en Android.
Debido a que el firmware ya maneja la inyección de radiotap, las herramientas de espacio de usuario se comportan igual que en un adaptador Atheros externo.
Ataques Típicos Posibles
Una vez que el monitor + TX está activo, puedes:
- Capturar handshakes WPA(2/3-SAE) o PMKID con
wifite
,hcxdumptool
,airodump-ng
. - Inyectar tramas de desautenticación / desasociación para forzar a los clientes a reconectarse.
- Crear tramas de gestión/datos arbitrarias con
mdk4
,aireplay-ng
, Scapy, etc. - Construir APs maliciosos o realizar ataques KARMA/MANA directamente desde el teléfono.
El rendimiento en el Galaxy S10 es comparable a NICs USB externos (~20 dBm TX, 2-3 M pps RX).
Solución de Problemas
Device or resource busy
– asegúrate de que el servicio Wi-Fi de Android esté deshabilitado (svc wifi disable
) antes de habilitar el modo monitor.nexutil: ioctl(PRIV_MAGIC) failed
– la biblioteca no está pre-cargada; verifica el camino deLD_PRELOAD
.- La inyección de tramas funciona pero no se capturan paquetes – algunos ROMs bloquean canales; intenta
nexutil -c <channel>
oiwconfig wlan0 channel <n>
. - SELinux bloqueando la biblioteca – establece el dispositivo en Permissivo o corrige el contexto del módulo:
chcon u:object_r:system_lib_file:s0 libnexmon.so
.
Referencias
- Hijacker en el Samsung Galaxy S10 con inyección inalámbrica
- NexMon – marco de parches de firmware
- Hijacker (GUI de aircrack-ng para Android)
tip
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.