NexMon ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ ๋ฐ ํŒจํ‚ท ์ฃผ์ž… ํ™œ์„ฑํ™” (Broadcom ์นฉ)

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

๊ฐœ์š”

๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  Android ์ „ํ™”๋Š” 802.11 ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋‚˜ ํ”„๋ ˆ์ž„ ์ฃผ์ž… ๊ธฐ๋Šฅ ์—†์ด ์ถœํ•˜๋˜๋Š” Broadcom/Cypress Wi-Fi ์นฉ์…‹์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค NexMon ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ๋…์  ํŽŒ์›จ์–ด๋ฅผ ํŒจ์น˜ํ•˜๊ณ  ์ด๋ฅผ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(libnexmon.so)์™€ CLI ๋„์šฐ๋ฏธ(nexutil)๋ฅผ ํ†ตํ•ด ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ณธ Wi-Fi ๋“œ๋ผ์ด๋ฒ„์— ๋ฏธ๋ฆฌ ๋กœ๋“œํ•จ์œผ๋กœ์จ, ๋ฃจํŒ…๋œ ์žฅ์น˜๋Š” ์›์‹œ 802.11 ํŠธ๋ž˜ํ”ฝ์„ ์บก์ฒ˜ํ•˜๊ณ  ์ž„์˜์˜ ํ”„๋ ˆ์ž„์„ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€“ ์™ธ๋ถ€ USB ์–ด๋Œ‘ํ„ฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๋Š” ์™„์ „ํžˆ ํŒจ์น˜๋œ ์‚ผ์„ฑ ๊ฐค๋Ÿญ์‹œ S10 (BCM4375B1)์„ ์˜ˆ๋กœ ๋“ค์–ด ๋น ๋ฅธ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜๋Š” ํ•ญ๋ชฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ํŒจ์น˜๋œ ํŽŒ์›จ์–ด + libnexmon.so๋ฅผ ํฌํ•จํ•˜๋Š” NexMon Magisk ๋ชจ๋“ˆ
  • ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ ์ „ํ™˜์„ ์ž๋™ํ™”ํ•˜๋Š” Hijacker Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • ๋‚ด๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ํด๋ž˜์‹ ๋ฌด์„  ๋„๊ตฌ(aircrack-ng, wifite, mdk4 โ€ฆ)๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์„ ํƒ์  Kali NetHunter chroot

๊ฐ™์€ ๊ธฐ์ˆ ์€ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ NexMon ํŒจ์น˜๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ํ•ธ๋“œ์…‹(ํ”ฝ์…€ 1, ๋„ฅ์„œ์Šค 6P, ๊ฐค๋Ÿญ์‹œ S7/S8 ๋“ฑ)์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.


์ „์ œ ์กฐ๊ฑด

  • ์ง€์›๋˜๋Š” Broadcom/Cypress ์นฉ์…‹์ด ์žฅ์ฐฉ๋œ Android ํ•ธ๋“œ์…‹ (์˜ˆ: BCM4358/59/43596/4375B1)
  • Magisk โ‰ฅ 24๋กœ ๋ฃจํŒ…
  • BusyBox (๋Œ€๋ถ€๋ถ„์˜ ROM/NetHunter์— ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ์Œ)
  • NexMon Magisk ZIP ๋˜๋Š” ๋‹ค์Œ์„ ์ œ๊ณตํ•˜๋Š” ์ž์ฒด ์ปดํŒŒ์ผ๋œ ํŒจ์น˜:
  • /system/lib*/libnexmon.so
  • /system/xbin/nexutil
  • Hijacker โ‰ฅ 1.7 (arm/arm64) โ€“ https://github.com/chrisk44/Hijacker
  • (์„ ํƒ ์‚ฌํ•ญ) ๋ฌด์„  ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•  Linux chroot์ธ Kali NetHunter ๋˜๋Š” ๊ธฐํƒ€

NexMon ํŒจ์น˜ ํ”Œ๋ž˜์‹ฑ (Magisk)

  1. ์ •ํ™•ํ•œ ์žฅ์น˜/ํŽŒ์›จ์–ด์— ๋Œ€ํ•œ ZIP์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค (์˜ˆ: nexmon-s10.zip).
  2. Magisk๋ฅผ ์—ด๊ณ  -> ๋ชจ๋“ˆ -> ์ €์žฅ์†Œ์—์„œ ์„ค์น˜ -> ZIP ์„ ํƒ ํ›„ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์€ libnexmon.so๋ฅผ /data/adb/modules/<module>/lib*/์— ๋ณต์‚ฌํ•˜๊ณ  SELinux ๋ ˆ์ด๋ธ”์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์„ค์น˜ ํ™•์ธ:
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
sha1sum $(which nexutil)

Hijacker ๊ตฌ์„ฑ

Hijacker๋Š” airodump, wifite ๋“ฑ์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์ • -> ๊ณ ๊ธ‰์—์„œ ๋‹ค์Œ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (๋ชจ๋“ˆ์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค):

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

โ€œStart monitor mode on airodump startโ€๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ชจ๋“  Hijacker ์Šค์บ”์ด ๊ธฐ๋ณธ ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ(wlan0 ๋Œ€์‹  wlan0mon)์—์„œ ๋ฐœ์ƒํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Hijacker๊ฐ€ ์‹œ์ž‘ ์‹œ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๋ฉด, ๊ณต์œ  ์ €์žฅ์†Œ์— ํ•„์š”ํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์•ฑ์„ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค:

mkdir -p /storage/emulated/0/Hijacker

๊ทธ nexutil ํ”Œ๋ž˜๊ทธ๋Š” ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋‚˜์š”?

  • -s0x613 ํŽŒ์›จ์–ด ๋ณ€์ˆ˜ 0x613 (FCAP_FRAME_INJECTION)์„ 1๋กœ ์„ค์ • (์ž„์˜ ํ”„๋ ˆ์ž„์˜ TX ํ™œ์„ฑํ™”).
  • -i ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋กœ ์„ค์ • (radiotap ํ—ค๋”๊ฐ€ ์•ž์— ์ถ”๊ฐ€๋จ).
  • -v2 ์ƒ์„ธ ๋ ˆ๋ฒจ ์„ค์ •; 2๋Š” ํ™•์ธ ๋ฐ ํŽŒ์›จ์–ด ๋ฒ„์ „์„ ์ถœ๋ ฅ.
  • -m0 ๊ด€๋ฆฌ ๋ชจ๋“œ ๋ณต์› (disable ๋ช…๋ น์—์„œ ์‚ฌ์šฉ๋จ).

Enable monitor mode๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ชจ๋‹ˆํ„ฐ ์ƒํƒœ์— ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›์‹œ ํ”„๋ ˆ์ž„์„ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

airodump-ng --band abg wlan0

์ˆ˜๋™ ์›๋ผ์ด๋„ˆ (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

๋งŒ์•ฝ ์ˆ˜๋™ ์Šค๋‹ˆํ•‘๋งŒ ํ•„์š”ํ•˜๋‹ค๋ฉด -s0x613 ํ”Œ๋ž˜๊ทธ๋ฅผ ์ƒ๋žตํ•˜์„ธ์š”.


Kali NetHunter / chroot ๋‚ด์—์„œ libnexmon ์‚ฌ์šฉํ•˜๊ธฐ

Kali์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋„๊ตฌ๋Š” NexMon์„ ์ธ์‹ํ•˜์ง€ ์•Š์ง€๋งŒ, LD_PRELOAD๋ฅผ ํ†ตํ•ด ๊ฐ•์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๋ฏธ๋ฆฌ ๋นŒ๋“œ๋œ ๊ณต์œ  ๊ฐ์ฒด๋ฅผ chroot๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค:
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
  1. Android ํ˜ธ์ŠคํŠธ์—์„œ ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค (์œ„์˜ ๋ช…๋ น์–ด ๋˜๋Š” Hijacker๋ฅผ ํ†ตํ•ด).
  2. Kali ๋‚ด์—์„œ ํ”„๋ฆฌ๋กœ๋“œ์™€ ํ•จ๊ป˜ ๋ฌด์„  ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0        # ๋˜๋Š” aircrack-ng, mdk4 โ€ฆ
  1. ์™„๋ฃŒ๋˜๋ฉด Android์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํŽŒ์›จ์–ด๊ฐ€ ์ด๋ฏธ radiotap ์ฃผ์ž…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋„๊ตฌ๋Š” ์™ธ๋ถ€ Atheros ์–ด๋Œ‘ํ„ฐ์™€ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.


๊ฐ€๋Šฅํ•œ ์ผ๋ฐ˜์ ์ธ ๊ณต๊ฒฉ

๋ชจ๋‹ˆํ„ฐ + TX๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • wifite, hcxdumptool, airodump-ng๋กœ WPA(2/3-SAE) ํ•ธ๋“œ์‰์ดํฌ ๋˜๋Š” PMKID ์บก์ฒ˜.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์žฌ์—ฐ๊ฒฐํ•˜๋„๋ก ๊ฐ•์ œํ•˜๊ธฐ ์œ„ํ•ด ๋น„์ธ์ฆ/๋น„์—ฐ๊ฒฐ ํ”„๋ ˆ์ž„ ์ฃผ์ž….
  • mdk4, aireplay-ng, Scapy ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์˜์˜ ๊ด€๋ฆฌ/๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ์ƒ์„ฑ.
  • ํœด๋Œ€ํฐ์—์„œ ์ง์ ‘ ์•…์„ฑ AP๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ KARMA/MANA ๊ณต๊ฒฉ ์ˆ˜ํ–‰.

Galaxy S10์˜ ์„ฑ๋Šฅ์€ ์™ธ๋ถ€ USB NIC์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค (~20 dBm TX, 2-3 M pps RX).


๋ฌธ์ œ ํ•ด๊ฒฐ

  • Device or resource busy โ€“ ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์ „์— Android Wi-Fi ์„œ๋น„์Šค๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š” (svc wifi disable).
  • nexutil: ioctl(PRIV_MAGIC) failed โ€“ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ฏธ๋ฆฌ ๋กœ๋“œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค; LD_PRELOAD ๊ฒฝ๋กœ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜์„ธ์š”.
  • ํ”„๋ ˆ์ž„ ์ฃผ์ž…์€ ์ž‘๋™ํ•˜์ง€๋งŒ ํŒจํ‚ท์ด ์บก์ฒ˜๋˜์ง€ ์•Š์Œ โ€“ ์ผ๋ถ€ ROM์€ ์ฑ„๋„์„ ํ•˜๋“œ ๋ธ”๋กํ•ฉ๋‹ˆ๋‹ค; nexutil -c <channel> ๋˜๋Š” iwconfig wlan0 channel <n>์„ ์‹œ๋„ํ•˜์„ธ์š”.
  • SELinux๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐจ๋‹จํ•จ โ€“ ์žฅ์น˜๋ฅผ Permissive๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๋ชจ๋“ˆ ์ปจํ…์ŠคํŠธ๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”: chcon u:object_r:system_lib_file:s0 libnexmon.so.

์ฐธ๊ณ  ๋ฌธํ—Œ

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ