# Habilitar Modo Monitor e Injeção de Pacotes NexMon no Android (chips Broadcom) {{#include ../../banners/hacktricks-training.md}} ## Visão Geral A maioria dos telefones Android modernos incorpora um chipset Wi-Fi Broadcom/Cypress que é enviado sem modo monitor 802.11 ou capacidades de injeção de quadros. O framework de código aberto NexMon modifica o firmware proprietário para adicionar esses recursos e os expõe através de uma biblioteca compartilhada (`libnexmon.so`) e um helper CLI (`nexutil`). Ao pré-carregar essa biblioteca no driver Wi-Fi padrão, um dispositivo com root pode capturar tráfego bruto 802.11 e injetar quadros arbitrários – eliminando a necessidade de um adaptador USB externo. Esta página documenta um fluxo de trabalho rápido que usa um Samsung Galaxy S10 totalmente corrigido (BCM4375B1) como exemplo, utilizando: * Módulo Magisk NexMon contendo o firmware corrigido + `libnexmon.so` * Aplicativo Android Hijacker para automatizar a alternância do modo monitor * Chroot Kali NetHunter opcional para executar ferramentas sem fio clássicas (aircrack-ng, wifite, mdk4 …) diretamente contra a interface interna A mesma técnica se aplica a qualquer dispositivo que tenha um patch NexMon disponível publicamente (Pixel 1, Nexus 6P, Galaxy S7/S8, etc.). --- ## Pré-requisitos * Dispositivo Android com um chipset Broadcom/Cypress suportado (por exemplo, BCM4358/59/43596/4375B1) * Root com Magisk ≥ 24 * BusyBox (a maioria das ROMs/NetHunter já o inclui) * ZIP Magisk NexMon ou patch auto-compilado fornecendo: * `/system/lib*/libnexmon.so` * `/system/xbin/nexutil` * Hijacker ≥ 1.7 (arm/arm64) – [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker) * (Opcional) Kali NetHunter ou qualquer chroot Linux onde você pretende executar ferramentas sem fio --- ## Flashing o patch NexMon (Magisk) 1. Baixe o ZIP para o seu dispositivo/firmware exato (exemplo: `nexmon-s10.zip`). 2. Abra o Magisk -> Módulos -> Instalar do armazenamento -> selecione o ZIP e reinicie. O módulo copia `libnexmon.so` para `/data/adb/modules//lib*/` e garante que os rótulos SELinux estejam corretos. 3. Verifique a instalação: ```bash ls -lZ $(find / -name libnexmon.so 2>/dev/null) sha1sum $(which nexutil) ``` --- ## Configurando o Hijacker O Hijacker pode alternar o modo monitor automaticamente antes de executar `airodump`, `wifite`, etc. Em **Configurações -> Avançado** adicione as seguintes entradas (edite o caminho da biblioteca se seu módulo for 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 ``` Ative “Iniciar modo monitor ao iniciar airodump” para que cada varredura do Hijacker aconteça no modo monitor nativo (`wlan0` em vez de `wlan0mon`). Se o Hijacker mostrar erros ao iniciar, crie o diretório necessário no armazenamento compartilhado e reabra o aplicativo: ```bash mkdir -p /storage/emulated/0/Hijacker ``` ### O que significam essas flags do `nexutil`? * **`-s0x613`** Escreve a variável de firmware 0x613 (FCAP_FRAME_INJECTION) → `1` (habilita TX de quadros arbitrários). * **`-i`** Coloca a interface em modo monitor (o cabeçalho radiotap será adicionado). * **`-v2`** Define o nível de verbosidade; `2` imprime confirmação e versão do firmware. * **`-m0`** Restaura o modo gerenciado (usado no comando *disable*). Após executar *Enable monitor mode*, você deve ver a interface em estado de monitor e ser capaz de capturar quadros brutos com: ```bash airodump-ng --band abg wlan0 ``` --- ## Linha única manual (sem 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 você só precisa de sniffing passivo, omita a flag `-s0x613`. --- ## Usando `libnexmon` dentro do Kali NetHunter / chroot As ferramentas de espaço do usuário padrão no Kali não conhecem o NexMon, mas você pode forçá-las a usá-lo via `LD_PRELOAD`: 1. Copie o objeto compartilhado pré-construído para o chroot: ```bash cp /sdcard/Download/kalilibnexmon.so /lib/ ``` 2. Ative o modo monitor a partir do **host Android** (comando acima ou através do Hijacker). 3. Inicie qualquer ferramenta sem fio dentro do Kali com o preload: ```bash sudo su export LD_PRELOAD=/lib/kalilibnexmon.so wifite -i wlan0 # ou aircrack-ng, mdk4 … ``` 4. Quando terminar, desative o modo monitor como de costume no Android. Como o firmware já lida com a injeção de radiotap, as ferramentas de espaço do usuário se comportam exatamente como em um adaptador Atheros externo. --- ## Ataques Típicos Possíveis Uma vez que monitor + TX está ativo, você pode: * Capturar handshakes WPA(2/3-SAE) ou PMKID com `wifite`, `hcxdumptool`, `airodump-ng`. * Injetar quadros de desautenticação / desassociação para forçar os clientes a reconectar. * Criar quadros de gerenciamento/dados arbitrários com `mdk4`, `aireplay-ng`, Scapy, etc. * Construir APs maliciosos ou realizar ataques KARMA/MANA diretamente do telefone. O desempenho no Galaxy S10 é comparável a NICs USB externos (~20 dBm TX, 2-3 M pps RX). --- ## Solução de Problemas * `Device or resource busy` – certifique-se de que o **serviço Wi-Fi do Android está desativado** (`svc wifi disable`) antes de ativar o modo monitor. * `nexutil: ioctl(PRIV_MAGIC) failed` – a biblioteca não está pré-carregada; verifique novamente o caminho `LD_PRELOAD`. * A injeção de quadros funciona, mas nenhum pacote capturado – alguns ROMs bloqueiam canais; tente `nexutil -c ` ou `iwconfig wlan0 channel `. * SELinux bloqueando a biblioteca – defina o dispositivo como *Permissivo* ou corrija o contexto do módulo: `chcon u:object_r:system_lib_file:s0 libnexmon.so`. --- ## Referências * [Hijacker on the Samsung Galaxy S10 with wireless injection](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 for Android)](https://github.com/chrisk44/Hijacker) {{#include ../../banners/hacktricks-training.md}}