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をサポートする

概要

ほとんどの最新の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)

  1. 正確なデバイス/ファームウェア用のZIPをダウンロードします(例:nexmon-s10.zip)。
  2. Magiskを開く -> モジュール -> ストレージからインストール -> ZIPを選択して再起動します。 モジュールはlibnexmon.so/data/adb/modules/<module>/lib*/にコピーし、SELinuxラベルが正しいことを確認します。
  3. インストールを確認します:
bash
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
sha1sum $(which nexutil)

Hijackerの設定

Hijackerは、airodumpwifiteなどを実行する前にモニターモードを自動的に切り替えることができます。設定 -> 高度な設定で次のエントリを追加します(モジュールが異なる場合はライブラリパスを編集してください):

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が起動時にエラーを表示した場合は、共有ストレージに必要なディレクトリを作成し、アプリを再起動してください。

bash
mkdir -p /storage/emulated/0/Hijacker

それらの nexutil フラグは何を意味しますか?

  • -s0x613 ファームウェア変数 0x613 (FCAP_FRAME_INJECTION) を書き込み → 1 (任意のフレームのTXを有効にします)。
  • -i インターフェースをモニターモードに設定します (radiotap ヘッダーが前に追加されます)。
  • -v2 詳細レベルを設定します; 2 は確認とファームウェアバージョンを表示します。
  • -m0 管理モードを復元します ( disable コマンドで使用されます)。

Enable monitor mode を実行した後、インターフェースがモニターステートになり、生のフレームをキャプチャできるようになります:

bash
airodump-ng --band abg wlan0

手動ワンライナー(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

もし受動的スニッフィングのみが必要な場合は、-s0x613フラグを省略してください。


Kali NetHunter / chroot内でのlibnexmonの使用

KaliのストックユーザースペースツールはNexMonを認識しませんが、LD_PRELOADを使用して強制的に使用させることができます:

  1. プリビルドされた共有オブジェクトをchrootにコピーします:
bash
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
  1. Androidホストからモニターモードを有効にします(上記のコマンドまたはHijackerを通じて)。
  2. プリロードを使用してKali内の任意のワイヤレスツールを起動します:
bash
sudo su
export LD_PRELOAD=/lib/kalilibnexmon.so
wifite -i wlan0        # または aircrack-ng, mdk4 …
  1. 終了したら、通常通りAndroidでモニターモードを無効にします。

ファームウェアがすでにradiotapインジェクションを処理しているため、ユーザースペースツールは外部Atherosアダプタと同様に動作します。


可能な典型的攻撃

モニター + TXがアクティブになると、次のことができます:

  • wifitehcxdumptoolairodump-ngを使用してWPA(2/3-SAE)ハンドシェイクまたはPMKIDをキャプチャします。
  • クライアントが再接続するように強制するために、非認証/非関連フレームを注入します。
  • mdk4aireplay-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をサポートする