1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのUSB Rubber Ducky:BadUSBの挙動を試してみた

Posted at

はじめに

最近、USB Rubber Ducky というデバイスを購入しました。

このデバイスはパソコンに挿すとキーボードとして認識され、自動で入力を行う特殊な仕組みを持っています。
見た目はUSBメモリですが、内部ではHID(キーボード)として振る舞い、自動入力が可能です。

これは「BadUSB」と呼ばれる攻撃手法の代表例であり、攻撃者がUSBを差し込むだけで特定の操作を実行させられる危険性があります。

本記事では「こうした攻撃ツールが存在する」という前提のもと、動作の仕組みを理解するためにいくつかの動作確認を行いました。
免責:本記事は検証・学習目的で作成しています。第三者の端末やネットワークでの実行、悪用は法律に触れる恐れがあります。検証は必ず自己管理下の環境で行ってください。

デバイスについて

Hak5から購入しました。
価格は100USDとなっていますが、日本への発送にあたりトータルで約140USDほどとなりました。注文から到着まで3週間くらいかかりました。

(参考: Hak5公式販売ページ

届いたUSB Rubber Duckyがこちらです。
スクリーンショット 2025-10-04 134249.png

見た目は一般的なUSBメモリとほとんど変わりません。

分解が可能で、内部にはマイクロSDカードスロットなどが搭載されています
また、PCに挿した時に「キーボードとして動作するモード」と「ストレージデバイスとして動作するモード」を切り替えるボタンがあります(初見では分かりづらい)

検証シナリオ

今回は初回ということで以下の簡単なシナリオを試してみようと思います。

  • シナリオ① USBを挿したらメモ帳が開く
  • シナリオ② USBを挿したら任意のWebページが開く
  • シナリオ③ USBを挿したら任意のオンラインストレージからファイルをダウンロードする

シナリオは下記の手順で検証が可能です。

  1. コードを準備する
  2. Hak5 PayloadStudioでバイナリファイルに変換する
  3. USB Rubber Duckyに2.のファイルを保存する
  4. PCにUSBを挿す

シナリオ①:メモ帳を開く

準備したコード例

このようなコードを準備しました。変換したものをUSB Rubber Duckyに保存します。

GUI r
DELAY 500
STRING notepad
ENTER
DELAY 1000
STRING Hello World
ENTER

動作結果

このような動作となりました。
scenario1_memo-ezgif.com-video-to-gif-converter.gif
DELAYを入れているため動作が遅く感じますが、この値を調整すればもう少し早く動作しそうです。

シナリオ②:任意のWebページを開く

準備したコード例(※掲載なし)

本シナリオで使用したDucky Scriptは公開していません。
対象 URL やコマンドを書き換えるだけで容易に悪用(フィッシング誘導やマルウェア配布など)できるため、本稿ではセキュリティ上の配慮からスクリプトの掲載を控えます。

今回は検証として、USBを挿すと既定ブラウザで Yahoo! JAPAN が開くようにしました。

動作結果

このような動作となりました。
scenario2_openurl-ezgif.com-video-to-gif-converter.gif
任意のWebページを開かせることは可能、という結果になりました。

シナリオ③:任意のオンラインストレージからファイルをダウンロードする

準備したコード例(※掲載なし)

悪用のリスクがあるため、こちらも本シナリオで使用したDucky Scriptは公開していません。

今回の検証では、予めOnedriveにテキストファイルを置いておき、それをダウンロードできるか?にしました。

動作結果

このような動作となりました。
scenario3_downloadfile-ezgif.com-video-to-gif-converter.gif

問題なくテキストファイルをダウンロードさせることができました。

まとめ

今回は比較的簡単なシナリオを検証しました。
次はスクリプトの実行や外部へのデータ持ち出し、スマホでの動作確認など高度なものにチャレンジしたいと思います。

また、それらの操作に対しデバイス側で検知は可能なのか?
そういった防御側の視点も含めて検証できればと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?