Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rtw89-monitor-injection — Linux / Kali Linux용 Realtek RTL8852AE / rtw89 모니터 모드 및 패킷 주입(Raw TX) 패치 | Kitploit
도구/GitHubGitHub/ph4ntom-rev/rtw89-monitor-injection
Packet Sniffing & AnalysisWi-Fi AuditingReverse EngineeringNetwork SecurityWireless SecurityPenetration TestingHardware Security
GitHubph4ntom-rev/rtw89-monitor-injection

rtw89-monitor-injection

Linux / Kali Linux용 Realtek RTL8852AE / rtw89 모니터 모드 및 패킷 주입(Raw TX) 패치

저장소 보기
2614일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Realtek RTL8852AE / rtw89 모니터 모드 및 패킷 주입(Raw TX) 패치

License: GPL-2.0 OR BSD-3-Clause Linux Kernel Kali Linux Packet Injection Firmware Safety

English | Русская документация | Architecture Reference

메인라인 rtw89 무선 드라이버(Realtek RTL8852AE PCIe [10ec:8852], RTL8852BE 및 RTL8852CE에 대한 아키텍처 호환성 포함)를 위한 호스트 측 Linux mac80211 드라이버 확장 및 버그 수정 패치셋입니다.

Wireshark / tcpdump를 위한 완전한 IEEE 802.11 NL80211_IFTYPE_MONITOR Radiotap 패킷 캡처, 완전한 airmon-ng / airodump-ng 호환성, 그리고 표준을 준수하는 원시 프레임 전송 / 패킷 주입(IEEE80211_TX_CTL_INJECTED / aireplay-ng)을 가능하게 합니다.

공식 배포판 linux-firmware 패키지의 수정되지 않은, 암호학적으로 서명된 rtw89 펌웨어 이미지를 사용하여 호스트 커널 드라이버 측에서 100% 동작합니다. 펌웨어 리버스 패치나 바이너리 수정이 필요하지 않습니다.


실제 환경 검증 사례 (Kali Linux 검증)

[!TIP] Kali Linux에서 100% 동작: 아래 스크린샷은 **Realtek RTL8852AE PCIe 무선 어댑터([10ec:8852])**가 장착된 Kali Linux (커널 7.1.5+kali-amd64) 실행 시스템에서의 실제 실행 결과를 보여줍니다.

1. Wireshark에서의 IEEE 802.11 Radiotap 캡처

관리 프레임(Beacon, Probe Request/Response), 제어 프레임(ACK, Block Ack, RTS, CTS), 데이터 프레임을 BSSID 전반에 걸쳐 완전한 프로미스큐어스 수신으로 보여주는 실시간 802.11 패킷 캡처로, 안테나별 RSSI(-18 dBm, -24 dBm)와 채널 주파수(2462 MHz / CH 11) 메타데이터가 완전히 포함되어 있습니다:

Wireshark RTL8852AE Monitor Mode Capture

2. 고성능 패킷 주입 벤치마크 (aireplay-ng -9)

활성 AP를 대상으로 100% 프레임 전달(30/30 프로브 요청이 2ms 미만의 핑 시간으로 확인됨)을 보여주는 성공적인 IEEE 802.11 진단 패킷 주입 테스트로, verify_monitor_diag.py와 aireplay-ng에 의해 확인되었습니다:

RTL8852AE aireplay-ng Packet Injection Benchmark


RTL8852AE가 업스트림에서 모니터 모드 및 주입에 실패한 이유

수천 명의 Linux 및 Kali Linux 사용자들이 Realtek RTL8852AE 어댑터가 장착된 최신 Wi-Fi 6 노트북에서 airmon-ng를 실행하거나 패킷 주입을 시도할 때 실패한다고 보고합니다. lwfinger/rtw89 및 메인라인 Linux 커널에서 흔히 발생하는 업스트림 문제:

  • "RTL8852AE가 모니터 모드나 패킷 주입을 지원하나요?"
  • "펌웨어가 모니터 vif에서 TX를 차단합니다"
  • "airodump-ng가 비콘이나 제어 프레임을 보지 못합니다"
  • "802.11 프레임을 주입할 때 커널 크래시 또는 NULL 포인터 역참조가 발생합니다"

상세한 하드웨어 레지스터 리버스 엔지니어링과 rtw89 RISC-V 펌웨어 통신 프로토콜 분석을 통해, 이 프로젝트는 네 가지 근본 원인을 전적으로 호스트 커널 드라이버에서 해결합니다:

  1. 하드웨어 MAC RX 서브타입 및 주소 CAM 필터링 (reg.h / mac.c)
    • 문제: Band 0 MAC 레지스터가 하드웨어 ADDR_CAM과 일치하지 않는 802.11 제어 프레임(ACK, RTS, CTS, BlockAck) 및 교차 BSS 유니캐스트 데이터 프레임을 드롭합니다. 하드웨어 스캔 오프로드로 인해 Band 0 RX 패킷 필터가 일시 중지된 상태(R_AX_PKT_CTRL_B0_PAUSE)로 남을 수도 있습니다.
    • 수정: rtw89_mon_program_mac_rx_tx_regs()가 프로미스큐어스 마스크 0x55555555로 R_AX_RX_FLTR_OPT (0xCE20), R_AX_CTRL_FLTR (0xCE24), R_AX_MGNT_FLTR (0xCE28), R_AX_DATA_FLTR (0xCE2C)를 재구성하고, FIF_FCSFAIL을 준수하며, 채널 전환(rtw89_set_channel()) 전반에 걸쳐 필터 상태를 자동으로 재적용합니다.
  2. 모니터 TX 시 NULL vif 커널 패닉 (mac80211.c & core.c)
    • 문제: rtw89_ops_tx() 및 rtw89_core_tx_write()에서 매크로 vif_to_rtwvif(vif)가 info->control.vif가 NULL인지(이는 mac80211 Radiotap 주입의 표준 동작임) 확인하기 전에 지역 변수 선언에서 무조건 평가되었습니다.
    • 수정: rtw89_mon_resolve_tx_vif()가 역참조 전에 활성 모니터 VIF를 확인하여 커널 크래시를 방지합니다.
  3. rtw89_core_tx_update_injection()에서의 잘못된 레이트 인덱스 및 누락된 TXWD_INFO (core.c)
    • 문제: Radiotap 헤더에 명시적 비트레이트가 없을 때 mac80211은 부호 있는 s8 rates[0].idx = -1을 전달합니다. 업스트림은 이를 u8(255)로 캐스팅하여 잘못된 하드웨어 레이트 인덱스를 기록했고, 비관리 프레임에서 desc_info->en_wd_info를 누락시켰습니다.
    • 수정: rtw89_mon_fixup_tx_desc()가 유효한 하드웨어 레이트(기본값 RTW89_HW_RATE_OFDM6 / 6.0 Mbps)를 선택하고, en_wd_info / use_rate / dis_data_fb를 설정하며, IEEE80211_TX_CTL_NO_ACK가 설정된 경우 하드웨어 재시도 횟수를 제한(tx_cnt_lmt = 1)합니다.
  4. 초기화되지 않은 모니터 mac_id 스케줄러 컨텍스트 및 슬립 락 (fw.h)
    • 문제: 독립형 모니터 인터페이스(IEEE80211_HW_WANT_MONITOR_VIF)는 mac_id와 하드웨어 포트를 할당하지만, CMAC/DMAC 테이블을 구성하거나 링크를 펌웨어 스케줄러에 등록하지 않습니다. 펌웨어는 TX 큐를 일시 중지된 상태로 유지합니다.
    • 수정: rtw89_mon_add_vif_post()가 h2c_default_cmac_tbl / h2c_default_dmac_tbl을 프로그래밍하고, RTW89_NET_TYPE_NO_LINK와 함께 RTW89_SELF_ROLE_AP를 사용하여 rtw89_fw_h2c_join_info()로 역할을 등록하며(비콘 TX는 비활성화한 채로 클라이언트 역할 비콘 타임아웃 검사를 우회), rtw89_fw_h2c_macid_pause()로 MACID 일시 중지를 해제하고, R_AX_MACID_SLEEP_0 (0xC2C0)을 클리어합니다.

커널 및 배포판 호환성

AST/중괄호 인식 패처(scripts/patch_rtw89.py)는 빌드 시 core.h와 mac80211.c를 검사하고 두 업스트림 드라이버 세대 모두에 자동으로 적응합니다:

드라이버 세대커널 버전잠금 및 VIF 아키텍처배포판 예시
API Gen 1Linux 6.1 – 6.10struct rtw89_vif, rtwdev->mutexDebian 12 (Bookworm), Ubuntu 22.04 LTS (HWE)
API Gen 2Linux 6.11 – 7.x+ & lwfinger/rtw89MLO struct rtw89_vif_link, pure_monitor_mode_vif, wiphy_lockKali Linux 2024+, Ubuntu 24.04+, Arch Linux, Fedora

저장소 구조

rtw89-monitor-injection/
├── src/
│   ├── rtw89_mon.h                  # Extension API declarations & autoconf bridge
│   └── rtw89_mon.c                  # MAC RX filter, H2C monitor context & TX descriptor fixups
├── scripts/
│   ├── patch_rtw89.py               # AST/brace-aware source integrator (--detect-only, --apply, --revert)
│   ├── build_module.sh              # Kbuild build, live reload, /lib/modules/.../updates installer
│   └── verify_monitor_diag.py       # IEEE 802.11 Radiotap RX & single Null-Data diagnostic verifier
├── patches/
│   └── linux-7.1-rtw89-monitor.diff # Reference unified diff for Linux 6.11 - 7.x+
├── tests/
│   └── test_patch_rtw89.py          # Automated Gen 1 / Gen 2 patch & revert unit tests
├── docs/
│   ├── ARCHITECTURE.md              # Register, H2C, and mac80211 flow documentation
│   └── README.ru.md                 # Russian documentation
├── README.md                        # English documentation
└── README_RU.md                     # Russian documentation (root link)

Kali Linux & 침투 테스트 빠른 시작

1단계: 커널 헤더 및 빌드 도구 설치

sudo apt update
sudo apt install -y linux-headers-$(uname -r) linux-source build-essential python3

2단계: 패치된 모듈 빌드 및 설치

git clone https://github.com/ph4ntom-rev/rtw89-monitor-injection.git
cd rtw89-monitor-injection

# Extract distribution rtw89 source code
mkdir -p ~/rtw89_src
tar -xf /usr/src/linux-source-*.tar.xz \
  --strip-components=6 -C ~/rtw89_src \
  --wildcards '*/drivers/net/wireless/realtek/rtw89/*'

# Compile and install into /lib/modules/$(uname -r)/updates/rtw89
chmod +x scripts/*.sh scripts/*.py
./scripts/build_module.sh --rtw89-dir ~/rtw89_src --install

(팁: 디스크에 영구 설치하지 않고 메모리에서 모듈을 테스트하려면 ./scripts/build_module.sh --rtw89-dir ~/rtw89_src --reload를 사용하세요).


3단계: airmon-ng / iw를 사용한 모니터 모드

방법 A: airmon-ng 사용 (Kali Linux / Aircrack-ng)

sudo airmon-ng check kill
sudo airmon-ng start wlan0

# Verify monitor interface (usually wlan0mon or wlan0)
sudo airodump-ng wlan0mon

방법 B: 네이티브 iw 및 tcpdump / Wireshark

sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
sudo iw dev wlan0 set freq 2412

# Check kernel logs:
# rtw89_8852ae ...: monitor mode initialized on mac_id=0 port=0 (ret=0)
sudo dmesg | grep rtw89
도구 다운로드