
USB Army Knife – ペネトレーションテスターやレッドチーマーのための究極のクローズアクセスツール。
🚀 USB Army Knife v2 を仕込み中 — しかも化け物級
v1での2年間の活発な開発を経て、v2はUSB Army Knifeを、ポケットに入る本格的なレッドチームプラットフォームへと変身させる計画です。今夏に大きな発表がありますが、少しだけ予告させてください:
- 真新しいWeb UI — より小型・高速・洗練された多言語対応。ブラウザから直接ターゲットを視認・操作できる内蔵VNCビューアを搭載。現行のように特定のWebツールに縛られないため、誰でも変更できます。
- 新しいUAKスクリプティングエンジン — DuckyScript v3互換。ただし、完全な文字列サポートと戻りコードサポートにより、DuckyScript 3ができることをはるかに超えます。これにより、より見通しが良く堅牢なペイロードの作成がはるかに容易になります。
- Windows、Linux および macOS向けの新しいクロスプラットフォームエージェント — ライブVNC、マイクキャプチャ、さらにはUSBシリアルリンクを介したネットワークアクセスも可能になるかもしれません。
- 多数の新機能 — ネットワーキング、ファイル、キャプティブポータル、Bluetoothなど、多岐にわたる真新しい機能! 読み取り専用・読み書き可能なコンテナにより、より高速なスループットを実現するUSB 2.0!
- AI対応 — 本物のUAKスクリプトバリデータを備えたMCPサーバーにより、AIがペイロードをデバイスに送信する前に作成・検証できます。
これは単なる予告に過ぎず、やるべきことはまだ山ほどあります! しかし、v2によってUAKが、自分でスクリプトを作り、ターゲットを選び、デバイスを制御し、部屋の音を聞き、さらには仲間と会話できるかもしれない、ひとつの小さなスティックになることを願っています...
コンパクトかつ多用途なこのデバイスは、USB HID攻撃、マスストレージエミュレーション、ネットワークデバイスへのなりすまし、WiFi/Bluetoothエクスプロイト(ESP32 Marauderのフォーク版による)など、その幅広い機能で侮れない実力を発揮します。
ペイロードの実行方法とタイミングを完全に制御できます。挿して即実行、置き去りにしてWiFi経由でトリガー、タイマーで実行、あるいはハリウッド風のUIを構築することも可能です。使いやすいBootstrap Webインターフェースを使用すれば、スマートフォンだけで攻撃を難なく管理・展開できます。
さらに欲しいですか? エージェントを展開すれば、マシンがロックされているときでもコマンドを実行できます。シリアルインターフェースを介した外部通信(egress)は検出が極めて困難です。デバイス専用のWiFi接続を介して被害者の画面を表示することもできます。
USB Army Knifeを装備して、ローカルアクセスツールキットを次のレベルへ引き上げましょう。
「あなたのデバイスは邪悪です。あなたは邪悪なことをしています。」 — Mr. Peoples(X経由)
今日の物理アクセス/USB攻撃には問題があります。単独では、それぞれの攻撃はほとんどの目的を達成するのに十分なソリューションにはなりません。
必要とされていたのは、適切なローグ(悪意ある攻撃者)が各攻撃の最良の部分を取り出し、それぞれの問題を別の攻撃で回避できるようにする物理アクセスプラットフォームです。理想的には、このプラットフォームが非常に安価で隠密性が高く、ひとつ失くしても問題にならないことでした。
これが、私がUSB Army Knifeの作成を決意した理由です。
https://github.com/user-attachments/assets/f373e18e-5cad-4871-9f2a-17523fa33398
USB PCAP機能を示し、Webインターフェースをちょっとだけ覗けるビデオ
https://github.com/user-attachments/assets/0d5b1485-b808-46c6-aaf7-7cf016088b8f
エージェントのインストール後に被害者のマシンを操作する方法を示すビデオ
https://github.com/user-attachments/assets/3c866d29-ef26-4eaf-943b-1206b8c40101
このプロジェクトは、簡単に隠せるUSB/WiFi/BTドングルをベースにしたさまざまな攻撃を実装しています。攻撃には、BadUSB(DuckyScriptを使用したUSB HIDコマンド)の送信、マスストレージデバイスとしての出現、USBネットワークデバイスとしての出現、ESP32 MarauderによるWiFi/Bluetooth攻撃の実行が含まれます。攻撃の展開には、おそらくあなたがすでに知っていて愛用しているDuckyライクな言語を使用します。この言語は、多数のカスタムコマンドに加えて、ESP32 Marauderの全機能(改良版)まで追加されています。攻撃には以下が含まれます:
まず、ステップバイステップのガイドやあらゆる種類のアドバイスについては、wikiをご確認ください。
USB Army Knifeファームウェアをデバイスに導入するには、2つのオプションがあります:
ESP-S2ベースのデバイスはWiFiをサポートしていますが、Webインターフェースはありません。攻撃はDuckyScriptファイルを介して管理されます。 RP2040デバイスにはESP32 Marauder機能がありません
USB Army KnifeがUSBホストモードでも動作できない理由はありません。これはコンピュータが動作するのと同じモードです。これにより、USB Army Knifeはあたかもコンピュータであるかのようにコマンドを発行できます。ほとんどのスマートフォンがPTP(Picture Transfer Protocol)をサポートしているため、理論上はUSB Army Knife(USBアダプタ付き)をスマートフォンに挿して、写真を取得させることができます。
EspressifにはUSBホストモードのドキュメントとサンプルコードがあります。PTPプロトコルのサンプルはありません。 USB PCAPを使用して、PTPでスマートフォンのPCAPを収集できます。WireShark用のdissectorもあります。
コントリビューションを歓迎します! リポジトリをフォークしてプルリクエストを送信してください。
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。
| 名前 | 説明 |
|---|
| Covert Storage | 2つの異なるUSBマスストレージデバイスになりすます方法を示す例。デバイスを最初に挿入したときはmicro SDカードの全内容が表示され、以降の挿入時は別の「無害な」ドライブが表示されます。 |
| Progress Bar | デバイスのLCD画面にプログレスバーを表示する画像。ハリウッド風の攻撃や、攻撃が展開されたことを示す視覚的インジケータが欲しい場合に最適です。 |
| Ultimate RickRoll | 有名なrickrollビデオを表示するキーストロークを注入するだけでなく、ESP32 Marauderを使用してWiFi経由で歌詞を流します。 |
| USB Ethernet PCAP | デバイスをUSBネットワークアダプタに変え、最初の数秒間のネットワークトラフィックのPCAPを収集します。 |
| Deploy the serial agent | エージェントが未インストールの場合は展開し、シリアルポート経由でコマンドを送信します。コマンド出力はWebインターフェースで確認できます。 |
| Pull the screen | エージェントを展開します。エージェントには小型VNCサーバーが含まれており、Webインターフェース経由で画面を閲覧できます。 |
| Simple UI | スクリプト/画像を選択し、ハードウェアボタンで実行するためのシンプルかつ強力なUI。複雑なUI操作を簡単に構築する方法を示します。 |
| Stream Mic audio over WiFi | M5Stack AtomS3Uにはマイクが内蔵されており、WiFi経由でストリーミングできます。 |
| Instantly crash Linux boxes | 自動マウントするLinuxマシンをパニックに陥れる不正なファイルシステムを展開します。 |
| Evil USB CDROM/NIC | USB NICになりすまし、NICを挿したときに現れるCDROMデバイスからドライバを要求させます。 |
| Use different keyboard layouts | ペイロードを書き直すことなく、異なるキーボードレイアウトを自動的にサポートします。 |
| ハードウェア | サポート状況 | 購入リンク |
|---|
LilyGo T-Dongle S3 (推奨)![]() | LilyGo T-Dongle S3は、USBペンドライブ型のESP32-S3開発ボードです。カラーLCD画面、物理ボタン、隠蔽式micro SDカードアダプタ(USB-Aコネクタ内)、そしてSPIアダプタを備えています。16MBのフラッシュメモリを搭載。ESP32-S3チップセットをベースとしており、WiFiステーションをホストできるだけでなく、さまざまなWiFiおよびBluetooth攻撃をサポートします。信じられないほど安価です! このデバイスには画面ありとなしの2つのバージョンがあります。テストされているのは画面ありのバージョンのみです。 | |
Evil Crow Cable Wind ![]() | Evil Crow Cable Windは、内部にESP32-S3が隠された悪意あるUSBケーブルで、いくつかのバリエーションがあります。一方の端はアクティブなUSB攻撃に使用でき、もう一方の端はデバイスの充電用です。そのユニークな設計により、USB Army Knife対応デバイスの中でも最も隠密性の高いデバイスの1つです。このため、画面、SDカード、LED、まともなハードウェアボタン(内部に1つありますが、磁石を使う必要があります)はありません。SDカードの代わりにフラッシュメモリがファイルの保存に使用されます。注記 これらのデバイスでワイヤレスアクセスポイントを実行することは可能ですが、ユニットが非常に熱くなることがあります。これに対処するため、USB Army Knifeはサーマルスロットリングをサポートしており、デバイスが過熱した場合はWiFiをオフにします。この問題を完全に回避するには、既存のワイヤレスネットワークに接続する(アクセスポイントをホストするのではなく)か、WiFiを無効にしてください。そうすればデバイスは過熱しません。このデバイスには専用のインストール手順があります | |
T-Watch S3 ![]() | T-Watch S3は、画面、WiFi、リアルタイムクロック、マイク、加速度計、赤外線、ハプティックフィードバック、LoRaトランシーバーなど、大量のハードウェアを内蔵したスマートウォッチプラットフォームです。これらの多くはすでにUSB Army Knifeプラットフォームでサポートされています。時計の竜頭がボタンとして機能し、充電/HID攻撃用のミニUSBポートもあります。この時計はESP32-S3チップセットをベースとしているため、WiFiステーションをホストできるだけでなく、さまざまなWiFiおよびBluetooth攻撃をサポートします。重要な点として、SDカードスロットはなく、ファイルの保存にはフラッシュメモリが使用されます。そのため、攻撃スクリプトと結果は約10MBに制限されます。このプラットフォームのフラッシュは少し複雑なので、デバイスのセットアップ方法についてはWikiを確認してください。このデバイスには専用のインストール手順があります | |
Waveshare ESP32-S3 1.47inch ![]() | このデバイスは、設計、サイズ、機能がLilyGo T-Dongle S3に類似しており、同じチップセットを使用しています。ケースが付属せず、下面に回路が露出しているため、明らかに開発ボードです。このデバイスがT-Dongle S3より優れている点は、非常に大きな高品質画面と8MBの追加RAMを備えていることです。 | |
M5Stack AtomS3U ![]() | 背面に2つの外部インターフェースを備えたESP32-S3開発ボードです。画面やSDカードはありませんが、LEDとボタンはあります。SDカードの代わりにフラッシュメモリがファイルの保存に使用されます。珍しいことに、現在はサポートされていないデジタルマイクとIR LEDも内蔵しています。デバイスをブートモードにするには、緑色のLEDが点灯するまでRESET(デバイス側面のボタン)を押し続けてください。 | |
ESP32 Udisk ![]() | USB Army Knifeコードを実行できる最も基本的なデバイスは、USBポートに接続されたESP32-S2チップです。これらはT-Dongle S3と非常によく似た筐体で販売されていることが多く、AliExpressなどのサイトでは「USB Dongle Udisk for P4」という名前のPlayStation 4 jailbreakとして宣伝されている傾向があります。これらのデバイスにはRAM、画面、SDカード、Bluetooth、LED、まともなハードウェアボタンがありません。SDカードの代わりにフラッシュメモリが小さなファイルの保存に使用されます。これらのデバイスは信じられないほど安価で、HID+WiFiペイロード(rick rollなど)の実行に適しています。警告 Webサーバーを実行するには処理能力が不足しています。購入時は、非常によく似た外観でCH343Pチップセットを搭載しリセットボタンがないデバイスと混同されることが多いので注意してください。購入するデバイスに、ペーパークリップで押せるボタンがあることを確認してください。 このデバイスにはGeneric-ESP32-S2構成でフラッシュしてください。 | |
Pocket-Dongle-S3 ![]() | LilyGo T-Dongle S3と非常によく似た外観ですが、SDカードとボタンのフォームファクタが異なります。LEDやQWIICインターフェーススロットはありません。内部では古いSDカードインターフェースを使用しているため、転送速度が遅いことを想定してください。 | |
ESP32 Key ![]() | ESP32 UDiskと非常によく似ています(できないことの一覧についてはその説明を参照してください)。これは回路基板上のESP32-S2です。おそらくUSB Army Knifeをかろうじて実行できる最も安価なデバイスで、それに見合った価格帯です。フラッシュモードにするには、挿すときにボタンを押し続ける必要があります。このデバイスにはGeneric-ESP32-S2構成でフラッシュしてください。 | |
Waveshare-ESP32-GEEK ![]() | ESP32-GEEKはWaveshareが設計した開発ボードです。USB-A、1.14インチLCD画面、SDカード、外部ポート(SWD、UART、I2C)を備えていますが、LEDはありません。フラッシュモードにするには、挿すときにボタンを押し続けてください。このデバイスにはSDカードに関するいくつかの問題(互換性と低速)があります。8GBのパーティションを使用し、互換性のあるものを見つけるために数ブランドのカードを試す必要があるかもしれません(9GBパーティションのKingston 64GBカードで動作しました。結果は人それぞれです)。 | |
Waveshare-RP2040-GEEK ![]() | RP2040-GEEKはWaveshareが設計した開発ボードです。USB-A、1.14インチLCD画面、SDカード、外部ポート(SWD、UART、I2C)を備えています。このボードはESP32チップセットでは動作しません。USBイーサネット(NCM)モードとSDのディスク全体使用は、どちらも現在サポートされていません。ESP32 Marauderはこのデバイスでは動作できません! Windowsでは、Zadigを使用してこのデバイスがWinUSBドライバを使用するように設定する必要がある場合もあります。フラッシュモードにするには、挿すときにボタンを押し続けてください。 |