
USBCoercerは、ネイティブUSB-OTGを備えたESP32開発ボードを、WPADを介してプロキシ設定を強制できるEthernet-over-USBガジェットに変換します。
| サポート対象ターゲット | ESP32-S3 |
|---|
USBCoercerは、ネイティブUSB-OTGを備えたESP32開発ボードを、WPADを介してプロキシ設定を強制できるEthernet-over-USBガジェットに変えます。これは**TinyUSB Network Control Model (NCM)**のサンプルに基づいており、必要に応じてEDRテレメトリをブロックするために、DHCPオプション252(WPAD/PAC)と、さらにクラスレス静的ルート(オプション121)を注入するミニマルなDHCPサーバーを追加しています。
このプロジェクトは、セキュリティテストとラボデモを目的としています。使用する前に必ず明示的な許可を得てください。
install.sh/export.shスクリプトでインストールされたESP-IDFツールチェーンとPython環境。. $HOME/esp/esp-idf/export.sh
idf.py menuconfig
USBCoercer Configurationメニューを確認して、ローカルIP、DHCPプール、WPAD設定などを調整します。idf.py build
idf.py flash
このプロジェクトは、idf.py menuconfig内に専用の
USBCoercer Configurationメニューを公開しています。
destination/prefix,gateway構文を使用したセミコロン区切りのルートリストを提供します(例:3.121.6.180/32,192.168.7.1)。リストを空にするとオプションは省略されます。sdkconfig.defaultsはラボ向けの設定を提供します。
192.168.7.1/24、デフォルトゲートウェイなし。192.168.7.2 – 192.168.7.4)。badnet。http://192.168.7.1/wpad.datを指します。設定されたオリジンでPACファイルをホストするか、必要に応じてURLを調整してください。sdkconfig.defaultsを調整するか、menuconfigを使用してテスト環境に合わせてください。パラメータを変更した後は、ファームウェアを再ビルド(idf.py build)してください。
DISCOVER/REQUESTメッセージに設定されたパラメータで応答します。現在、このデプロイには、NTLM認証プロキシを提供し認証を強制するための外部サーバーが必要です。Responderがこの用途に役立ちます。WPAD.DATファイルを配信する外部サーバーはオプションです。
このファームウェアはM5Stack AtomS3Uでテストされ、正常に動作しました。
楽しく(そして責任を持って)ハッキングしましょう!