
USBメモリは、仕事のファイルを移したり、データを持ち運んだりする身近な道具です。
では、机の上にUSBメモリらしきものが置いてあったらどうでしょうか。見た目は普通のUSBメモリ。PCに挿しても、最初から明らかな警告が出るとは限りません。
ところが、その正体がデータを保存するUSBメモリではなく、PCに「キーボード」として認識され、自動的にキー入力を送り込むデバイスだったとしたら話は変わります。
それが、Hak5がペネトレーションテストやセキュリティ教育向けに提供しているUSB Rubber Duckyです。
Hak5自身も現在の製品を「人間にはフラッシュドライブに見えるが、コンピューターにはキーボードとして認識される」と説明しており、Keystroke Injectionを利用するHotplug Attackツールとして位置付けています。
USB Rubber Duckyが面白いのは、複雑な脆弱性を突くことよりも、コンピューターが普段から信頼している“入力デバイス”を利用する点です。
TABLE OF CONTENTS
- 1. USB Rubber Duckyとは何か
- 2. なぜ「キーボード」として認識されると危険なのか
- 3. USB Rubber Duckyで何ができるのか
- 4. 数行のスクリプトでキーボード操作を自動化できる
- 5. 現在のUSB Rubber Duckyは「文字を高速入力するだけ」ではない
- 6. 「アンチウイルスは無意味」は正しくない
- 7. 一番怖いのは「数秒の物理アクセス」
- 8. 「知らないUSBメモリを挿さない」だけでは足りない
- 9. 企業でできるUSB Rubber Ducky対策
- 10. Red TeamでUSB Rubber Duckyを使う意味
- 11. USB Rubber Duckyが教えてくれるのは「信頼」の問題
USB Rubber Duckyとは何か
USB Rubber Duckyは、一見するとUSBメモリのような小型デバイスです。
しかし主な目的はファイルを保存することではありません。PCに接続すると、USB HID(Human Interface Device)としてキーボードのように振る舞い、あらかじめ用意した入力を自動的に実行できます。
現在のUSB Rubber Duckyでは、Hak5独自のDuckyScript 3.0を使って動作を記述でき、単純なキー入力だけでなく、OS DetectionやKeystroke Reflectionなどを利用した、より条件に応じた処理にも対応しています。
つまり、「USBメモリの中にウイルスを入れておく」というタイプの攻撃とは少し違います。
USBデバイスそのものが、人間の代わりにキーボード操作を行う。
ここがUSB Rubber Duckyを理解するうえで一番重要なポイントです。
なぜ「キーボード」として認識されると危険なのか
普段キーボードをPCへ接続したとき、
「このキーボードによる文字入力を許可しますか?」
と毎回確認されることはほとんどありません。
キーボードやマウスは、人がPCを操作するために必要な基本的な入力デバイスだからです。
USB Rubber Duckyは、この信頼関係を利用します。Hak5も、コンピューターがHIDとして接続されたキーボードを信頼する性質をKeystroke Injectionの基本原理として説明しています。
人間が操作する場合、
アプリケーションを開く。
文字を入力する。
コマンドを入力する。
Enterキーを押す。
といった操作にはある程度時間がかかります。
USB Rubber Duckyでは、これらをあらかじめ決められた順番で高速に入力できます。
PCから見ると、人がキーボードを操作しているように見えるため、単純な「USBメモリ禁止」だけでは、このタイプのデバイスへの対策にならない場合があります。
USB Rubber Duckyで何ができるのか

USB Rubber Ducky自体が、接続した瞬間にPCのすべての権限を取得するわけではありません。
できることは、OS、ログイン状態、ユーザー権限、アプリケーション制御、EDR、ネットワーク制御などによって大きく変わります。
一方で、接続された端末上でキーボード操作として実行可能な処理であれば、自動化できる可能性があります。
悪用された場合には、たとえば、
- 不正なコマンドの実行
- 外部からのファイル取得
- 情報の持ち出し
- 不正なプログラムの実行
- 永続化につながる設定変更
- 認証情報や端末情報の取得
などにつながる可能性があります。
現在のHak5公式ページでも、認証情報の取得、文書の持ち出し、バックドアの導入といった攻撃シナリオを、正規のセキュリティテストで模擬できる例として挙げています。
ただし、ここで大切なのは、
「USB Rubber Duckyを挿したら、必ずPCを乗っ取れる」わけではない
ということです。
ユーザー権限が限定されていたり、アプリケーション実行が制御されていたり、不審なコマンドや通信をEDRが遮断したりすれば、攻撃が途中で止まることもあります。
だからこそRed Teamやペネトレーションテストでは、「Duckyを挿せるか」だけではなく、挿された後に防御がどこで機能するかを見ることに意味があります。
数行のスクリプトでキーボード操作を自動化できる
USB Rubber Duckyでは、DuckyScriptという専用の記述方法を使います。
たとえば、仕組みだけを見る安全なデモであれば、Windowsで「ファイル名を指定して実行」を開き、メモ帳を起動して文字を入力する、といった動きを自動化できます。
DELAY 1000GUI rDELAY 300STRING notepadENTERDELAY 500STRING Hello! This is a harmless demo.ENTER
この例自体はメモ帳へ文字を入力するだけなので、危険な処理はしていません。
ただ、ポイントは人がキーボードでできる一連の操作を、デバイス側から自動入力できることです。
現行のUSB Rubber DuckyではDuckyScript 3.0が採用され、条件分岐などを含む、従来より高度な処理を構成できます。
現在のUSB Rubber Duckyは「文字を高速入力するだけ」ではない
昔からUSB Rubber Duckyを知っている方だと、「決められた文字列を高速入力するUSBデバイス」というイメージが強いかもしれません。
現在の製品は、それより機能が増えています。
Hak5では現行版の特徴として、
- Keystroke Injection
- DuckyScript 3.0
- OS Detection
- Keystroke Reflection
- Dynamic Attack Modes
- Hardware ID Cloning
などを案内しています。
特に興味深いのが、実行対象の環境に合わせて振る舞いを変えられる点です。
以前のように「このPCはWindowsだろう」と決め打ちして一方的に入力するだけではなく、より柔軟なテストシナリオを作れるようになっています。
もちろん、こうした能力は正規のセキュリティテストでは非常に便利です。
一方で、防御側から見るなら、単純なUSBストレージ制御だけでは考慮しきれない攻撃デバイスが存在するということでもあります。
「アンチウイルスは無意味」は正しくない
USB Rubber Duckyを紹介する記事では、
「キーボードとして動くからアンチウイルスでは検知できない」
と説明されることがあります。
半分は正しいのですが、半分は言い過ぎです。
確かに、USB Rubber Ducky自体を通常のマルウェアファイルとしてスキャンして検知するという考え方では、十分ではありません。
しかし、その後に、
- 不審なプロセスを起動する
- スクリプトを実行する
- 外部からプログラムを取得する
- 不審な接続先へ通信する
- 認証情報へアクセスする
といった振る舞いが発生すれば、EDRやアプリケーション制御、ネットワークセキュリティなどで検知・遮断できる可能性があります。
同じように、
「ファイアウォールも意味がない」
という表現も正確ではありません。
キー入力そのものはローカルで発生するため、ファイアウォールだけでは防げません。ただし、その後に外部通信が必要な攻撃であれば、ネットワーク制御が被害を防ぐ層になる可能性があります。
つまり、USB Rubber Duckyはセキュリティ製品を魔法のようにすべて無効化するわけではありません。
最初の入口が、一般的なマルウェアとは違う。
そう考えた方が分かりやすいです。
一番怖いのは「数秒の物理アクセス」
USB Rubber Duckyの攻撃シナリオでは、攻撃者がネットワーク越しに脆弱性を探す必要がない場合があります。
端末へ物理的にUSBデバイスを接続できれば、それが攻撃の入口になります。
Hak5も現行製品について「数秒のphysical access」を前提としたHotplug Attackツールとして紹介しています。
たとえば、
会議室にPCを置いたまま離席する。
受付やイベント会場でPCを開いたままにする。
社外の人物が業務スペースへ入れる。
共有PCのUSBポートへ自由にアクセスできる。
こうした状況は、ネットワークの脆弱性とは別のリスクです。
ただし、画面ロックしていれば何があっても安全、というわけでもありません。端末の構成やUSBデバイスに対するポリシーによって挙動は異なるため、「ロック画面+USB制御+最小権限」のように複数の対策を重ねる必要があります。
「知らないUSBメモリを挿さない」だけでは足りない

社員教育でよく使われるのが、
「道に落ちているUSBメモリを会社のPCへ挿してはいけません」
という例です。
もちろん重要です。
ただ、USB Rubber Duckyのようなデバイスを考えると、もう一歩進める必要があります。
危険なのはUSBメモリだけではありません。
- USBケーブル
- USBアダプター
- キーボード
- USBハブ
- ドッキングステーション
- 変換機器
- その他のUSB周辺機器
も、PCから見れば新しいハードウェアです。
前回紹介したO.MG Cableも同じですが、攻撃者が悪用できるのは「ファイル」だけではありません。
PCへ接続するデバイスそのものを攻撃経路として考える必要があります。
企業でできるUSB Rubber Ducky対策
出所不明のUSBデバイスを接続しない
一番基本的で、一番重要です。
「見つけたUSBメモリを挿さない」だけではなく、業務端末へ接続してよい周辺機器を社内で決めておく方が現実的です。
会社支給品や承認された機器だけを使用する運用にすると、社員一人ひとりがUSBデバイスの安全性を判断する必要がなくなります。
USBデバイスのインストールを制御する
Windowsでは、Device ID、Device Instance ID、Device Setup Classなどを使って、どのデバイスをインストール可能にするかをポリシーで制御できます。Microsoftは、特定デバイスだけを許可し、それ以外のデバイスのインストールを禁止する構成も提供しています。
Microsoft Intuneでも、USBデバイスについて、許可するDevice IDやデバイスクラスを指定し、それ以外を禁止するポリシーを配布できます。Microsoftの2026年5月時点の資料では、キーボードやマウスを許可対象として設定する例も紹介されています。
ただし、業務に必要なキーボードやマウスまで止めてしまえば仕事ができなくなります。
USB制御は「全部禁止すればよい」のではなく、自社で許可すべきデバイスを定義する設計が重要です。
ローカル管理者権限を必要以上に与えない
USB Rubber Duckyから入力された操作も、基本的にはその端末で利用可能な権限の影響を受けます。
一般社員が常時ローカル管理者として作業している環境と、通常ユーザーとして作業している環境では、同じ操作が行われた場合でも影響範囲が変わる可能性があります。
最小権限は、USB攻撃専用の対策ではありませんが、こうしたケースでも重要です。
アプリケーション制御を組み合わせる
攻撃者がキーボード入力を自動化できたとしても、端末上であらゆるプログラムを自由に実行できる必要はありません。
許可されていないプログラムやスクリプトの実行を制限できれば、攻撃チェーンを途中で止められる可能性があります。
EDRでは「USB」ではなく、その後の挙動も見る
USB Rubber Duckyそのものを検知できるかだけに集中すると、本質を見失うことがあります。
その後に、
- 不自然なプロセスツリー
- 短時間のコマンド実行
- 外部通信
- 認証情報へのアクセス
- セキュリティ設定の変更
などが発生していないかを見る方が重要なケースもあります。
入口を防げなかったとしても、その後の行動を止める層を用意しておく考え方です。
離席時には必ず画面をロックする
物理アクセスを前提とした攻撃では、誰でも操作可能な状態でPCを放置しないことも重要です。
オフィス内だから安全と考えず、短時間でも離席する場合は画面をロックする習慣を徹底します。
社員教育では実物を見せる
USB Rubber Duckyのようなツールは、文章だけで説明するよりも、
「これ、普通のUSBメモリに見えませんか?」
と実物や写真を見せた方が圧倒的に伝わりやすいです。
社員教育の目的はUSB Rubber Duckyという商品名を覚えてもらうことではありません。
「PCへ接続するものは、見た目だけでは信頼できないことがある」
と理解してもらうことです。
Red TeamでUSB Rubber Duckyを使う意味
USB Rubber Duckyは、Hak5が正規の監査やセキュリティ分析を目的として提供しているペネトレーションテストツールです。現行製品ページでも、authorized auditing / security analysisでの利用を前提としています。
企業のRed Team演習で使う場合、単に「USBからコマンドが動いた」で終わらせるのはもったいないです。
確認したいのは、
- 社員が未知のUSBデバイスを接続するか
- 未承認デバイスを端末側で制御できるか
- 不審なプロセスをEDRが検知するか
- SOCが異常を把握できるか
- ネットワーク側で通信を止められるか
- 一般ユーザー権限で被害が限定されるか
- インシデントとして正しく対応できるか
という、複数の防御層です。
こうしたテストをすると、
「EDRを入れているから大丈夫」
「USBメモリは禁止しているから大丈夫」
という思い込みが、実際の環境でどこまで通用するのか確認できます。
USB Rubber Duckyが教えてくれるのは「信頼」の問題
USB Rubber Duckyの仕組み自体は、とても分かりやすいです。
人間はUSBメモリだと思う。
PCはキーボードだと思う。
そして、コンピューターはキーボードから入力された操作を、人間の操作として処理する。
ここに攻撃の入口があります。
だから対策も、「USB Rubber Duckyという製品だけを禁止する」では足りません。
次の別製品が出てきても、同じ問題は残るからです。
重要なのは、
自社のPCが、何を信頼しているのか。
その信頼は本当に必要なのか。
信頼したデバイスが悪用されたとき、次の防御層は機能するのか。
という視点です。
サイバー攻撃というとインターネットの向こう側を警戒しがちですが、攻撃者にとって入口はネットワークだけではありません。
PCのUSBポートも、一つのセキュリティ境界です。
社員の机にある小さなUSBポートまで含めて考えると、自社のセキュリティ対策にまだ見えていなかった穴が見つかるかもしれません。
投稿者プロフィール

- イシャン ニム
-
Offensive Security Engineer
15年以上の実績を持つ国際的なホワイトハッカーで、日本を拠点に活動しています。「レッドチーム」分野に精通し、脆弱性診断や模擬攻撃の設計を多数手がけてきました。現在はCyberCrewの主要メンバーとして、サイバー攻撃の対応やセキュリティ教育を通じ、企業の安全なIT環境構築を支援しています。
主な保有資格:
● Certified Red Team Specialist(CyberWarFare Labs / EC-Council)
● CEH Master(EC-Council)
● OffSec Penetration Tester(Offensive Security)








