NexMonモニターモードとパケットインジェクションをAndroid(Broadcomチップ)で有効にする
Reading time: 9 minutes
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
概要
ほとんどの最新のAndroidフォンは、802.11モニターモードやフレームインジェクション機能なしで出荷されるBroadcom/Cypress Wi-Fiチップセットを内蔵しています。オープンソースのNexMonフレームワークは、これらの機能を追加するために独自のファームウェアをパッチし、それらを共有ライブラリ(libnexmon.so
)とCLIヘルパー(nexutil
)を通じて公開します。このライブラリをストックWi-Fiドライバーにプリロードすることで、ルート化されたデバイスは生の802.11トラフィックをキャプチャし、任意のフレームをインジェクトできます。これにより、外部USBアダプターの必要がなくなります。
このページでは、完全にパッチされたSamsung Galaxy S10(BCM4375B1)を例にした迅速なワークフローを文書化しています。使用するものは以下の通りです:
- パッチされたファームウェア +
libnexmon.so
を含むNexMon Magiskモジュール - モニターモードの切り替えを自動化するHijacker Androidアプリケーション
- 内部インターフェースに対して古典的なワイヤレスツール(aircrack-ng、wifite、mdk4など)を直接実行するためのオプションのKali NetHunter chroot
同じ技術は、公開されているNexMonパッチを持つ任意のハンドセット(Pixel 1、Nexus 6P、Galaxy 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
- (オプション)ワイヤレスツールを実行する予定のKali NetHunterまたは任意のLinux chroot
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
。
参考文献
- Hijacker on the Samsung Galaxy S10 with wireless injection
- NexMon – firmware patching framework
- Hijacker (aircrack-ng GUI for Android)
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をサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。