mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
129 lines
6.0 KiB
Markdown
129 lines
6.0 KiB
Markdown
# Aktiveer NexMon Monitor Modus & Pakket Inspuiting op Android (Broadcom-skyfies)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
## Oorsig
|
||
Meeste moderne Android fone bevat 'n Broadcom/Cypress Wi-Fi skyfie wat sonder 802.11 monitor modus of raam-inspuitingsvermoëns verskaf word. Die oopbron NexMon-raamwerk patch die eiendomsfirmware om daardie funksies by te voeg en stel dit bloot deur 'n gedeelde biblioteek (`libnexmon.so`) en 'n CLI-helper (`nexutil`). Deur daardie biblioteek in die standaard Wi-Fi bestuurder te laai, kan 'n ge-root toestel rou 802.11 verkeer vasvang en arbitrêre rame inspuit – wat die behoefte aan 'n eksterne USB-adapter uitskakel.
|
||
|
||
Hierdie bladsy dokumenteer 'n vinnige werksvloei wat 'n volledig-gepatchte Samsung Galaxy S10 (BCM4375B1) as 'n voorbeeld neem, met behulp van:
|
||
|
||
* NexMon Magisk module wat die gepatchte firmware + `libnexmon.so` bevat
|
||
* Hijacker Android toepassing om monitor-modus skakeling te outomatiseer
|
||
* Opsionele Kali NetHunter chroot om klassieke draadlose gereedskap (aircrack-ng, wifite, mdk4 …) direk teen die interne koppelvlak te laat loop
|
||
|
||
Dieselfde tegniek is van toepassing op enige toestel wat 'n publiek beskikbare NexMon patch het (Pixel 1, Nexus 6P, Galaxy S7/S8, ens.).
|
||
|
||
---
|
||
|
||
## Vereistes
|
||
* Android toestel met 'n ondersteunde Broadcom/Cypress skyfie (bv. BCM4358/59/43596/4375B1)
|
||
* Root met Magisk ≥ 24
|
||
* BusyBox (meeste ROMs/NetHunter sluit dit reeds in)
|
||
* NexMon Magisk ZIP of self-gecompileerde patch wat voorsien:
|
||
* `/system/lib*/libnexmon.so`
|
||
* `/system/xbin/nexutil`
|
||
* Hijacker ≥ 1.7 (arm/arm64) – [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker)
|
||
* (Opsioneel) Kali NetHunter of enige Linux chroot waar jy van plan is om draadlose gereedskap te laat loop
|
||
|
||
---
|
||
|
||
## Flits die NexMon patch (Magisk)
|
||
1. Laai die ZIP vir jou presiese toestel/firmware af (voorbeeld: `nexmon-s10.zip`).
|
||
2. Maak Magisk oop -> Modules -> Installeer vanaf stoor -> kies die ZIP en herbegin.
|
||
Die module kopieer `libnexmon.so` in `/data/adb/modules/<module>/lib*/` en verseker dat SELinux etikette korrek is.
|
||
3. Verifieer installasie:
|
||
```bash
|
||
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
|
||
sha1sum $(which nexutil)
|
||
```
|
||
|
||
---
|
||
|
||
## Konfigureer Hijacker
|
||
Hijacker kan monitor modus outomaties skakel voordat dit `airodump`, `wifite`, ens. laat loop. In **Instellings -> Gevorderd** voeg die volgende inskrywings by (wysig die biblioteek pad as jou module verskil):
|
||
```
|
||
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
|
||
```
|
||
Stel “Begin monitor-modus op airodump begin” in sodat elke Hijacker skandering in die oorspronklike monitor-modus plaasvind (`wlan0` in plaas van `wlan0mon`).
|
||
|
||
As Hijacker foute by die bekendstelling toon, skep die vereiste gids op gedeelde stoorplek en heropen die app:
|
||
```bash
|
||
mkdir -p /storage/emulated/0/Hijacker
|
||
```
|
||
### Wat beteken daardie `nexutil` vlae?
|
||
* **`-s0x613`** Skryf firmware veranderlike 0x613 (FCAP_FRAME_INJECTION) → `1` (aktiveer TX van arbitrêre rame).
|
||
* **`-i`** Plaas die koppelvlak in monitor modus (radiotap kop sal voorafgevoeg word).
|
||
* **`-v2`** Stel verbose vlak; `2` druk bevestiging en firmware weergawe.
|
||
* **`-m0`** Herstel bestuurde modus (gebruik in die *deaktiveer* opdrag).
|
||
|
||
Na die uitvoering van *Aktiveer monitor modus* behoort jy die koppelvlak in monitor toestand te sien en in staat te wees om rou rame te vang met:
|
||
```bash
|
||
airodump-ng --band abg wlan0
|
||
```
|
||
---
|
||
|
||
## Handmatige een-liner (sonder 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
|
||
```
|
||
As jy net passiewe sniffing benodig, laat die `-s0x613` vlag weg.
|
||
|
||
---
|
||
|
||
## Gebruik `libnexmon` binne Kali NetHunter / chroot
|
||
Standaard gebruikersruimte gereedskap in Kali weet nie van NexMon nie, maar jy kan hulle dwing om dit te gebruik via `LD_PRELOAD`:
|
||
|
||
1. Kopieer die voorafgeboude gedeelde objek in die chroot:
|
||
```bash
|
||
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
|
||
```
|
||
2. Aktiveer monitor modus vanaf die **Android gasheer** (opdrag hierbo of deur Hijacker).
|
||
3. Begin enige draadlose gereedskap binne Kali met die preload:
|
||
```bash
|
||
sudo su
|
||
export LD_PRELOAD=/lib/kalilibnexmon.so
|
||
wifite -i wlan0 # of aircrack-ng, mdk4 …
|
||
```
|
||
4. Wanneer jy klaar is, deaktiveer monitor modus soos gewoonlik op Android.
|
||
|
||
Omdat die firmware reeds radiotap inspuiting hanteer, gedra gebruikersruimte gereedskap net soos op 'n eksterne Atheros-adapter.
|
||
|
||
---
|
||
|
||
## Tipiese Aanvalle Moglik
|
||
Sodra monitor + TX aktief is, kan jy:
|
||
* Capture WPA(2/3-SAE) handshakes of PMKID met `wifite`, `hcxdumptool`, `airodump-ng`.
|
||
* Inspuit de-authentisering / disassosiasie rame om kliënte te dwing om weer aan te sluit.
|
||
* Maak arbitrêre bestuur/data rame met `mdk4`, `aireplay-ng`, Scapy, ens.
|
||
* Bou rogue APs of voer KARMA/MANA aanvalle direk vanaf die telefoon uit.
|
||
|
||
Prestasie op die Galaxy S10 is vergelykbaar met eksterne USB NICs (~20 dBm TX, 2-3 M pps RX).
|
||
|
||
---
|
||
|
||
## Probleemoplossing
|
||
* `Device or resource busy` – maak seker **Android Wi-Fi diens is gedeaktiveer** (`svc wifi disable`) voordat jy monitor modus aktiveer.
|
||
* `nexutil: ioctl(PRIV_MAGIC) failed` – die biblioteek is nie vooraf gelaai nie; dubbelkontroleer `LD_PRELOAD` pad.
|
||
* Raam inspuiting werk maar geen pakkette gevang – sommige ROMs hard-blok kanale; probeer `nexutil -c <channel>` of `iwconfig wlan0 channel <n>`.
|
||
* SELinux blokkeer biblioteek – stel toestel in *Permissive* of reguleer module konteks: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
|
||
|
||
---
|
||
|
||
## Verwysings
|
||
* [Hijacker op die Samsung Galaxy S10 met draadlose inspuiting](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 vir Android)](https://github.com/chrisk44/Hijacker)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|