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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
개요
대부분의 최신 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)
- 정확한 장치/펌웨어에 대한 ZIP을 다운로드합니다 (예:
nexmon-s10.zip
). - Magisk를 열고 -> 모듈 -> 저장소에서 설치 -> ZIP 선택 후 재부팅합니다.
모듈은
libnexmon.so
를/data/adb/modules/<module>/lib*/
에 복사하고 SELinux 레이블이 올바른지 확인합니다. - 설치 확인:
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
를 통해 강제로 사용할 수 있습니다:
- 미리 빌드된 공유 객체를 chroot로 복사합니다:
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
- Android 호스트에서 모니터 모드를 활성화합니다 (위의 명령어 또는 Hijacker를 통해).
- Kali 내에서 프리로드와 함께 무선 도구를 실행합니다:
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0 # 또는 aircrack-ng, mdk4 …
- 완료되면 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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.