BadUSBで遊んでみる

更新:2020/01/30

はじめに



実行環境
・Widnows 10 pro

使うもの
●BadUSB
これがないと何も始まりません。今回は、Aliexpressで売っているこちらのBadUSBを用意しました。
1個390円ぐらいなのでお手頃な価格ですが、到着まで1か月近く待ったので、不良品があることを考慮して幾つかまとめ買いしておくことをおすすめします。
私の場合、3つ買ってすべて動いたのでよかったですが。

●Arduino IDE
BadUSBへのプログラムの書き込みに利用します。
Arduino IDEのインストールについてはこちらをご覧ください。

プログラムをBadUSBに書き込む手順
1. 適当なテキストエディタでDucky Scriptを書く
2. 「1」で書いたDucky Scriptをこちら(Duckuino.js)のサイトでBadUSBに書き込めるスケッチに変換する
3. 「2」で変換したスケッチをBadUSBに書き込む

Ducky Scriptを書く
Ducky Scriptは、BadUSBの元祖USB Rubber Ducky向けに開発されたスクリプト言語です。
今回使うDucky Scriptのコマンドは下記のコマンドです。
コマンド 説明
DELAY 指定した時間(ミリ秒)待機する。
ENTER 「Enter」キーを押す。
GUI 「Windows」キーを押す。
STRING 文字を入力する。
詳しいコマンドの説明はこちらをご覧ください。

では、さっそくDucky Scriptを書いていきましょう。

今回は、メモ帳を開いて任意の文字を入力するBadUSBを作りたいと思います。
好きなテキストエディタで下記のコマンドを入力してください。
DELAY 1000
GUI r
DELAY 1000
STRING notepad
DELAY 1000
ENTER
DELAY 1000
STRING Hello World

Ducky Scriptをスケッチに変換する
こちら(Duckuino.jp)のサイトに行き、左側のテキストボックスに上で書いたDucky Scriptを貼り付けます。

そして、左上の「Compile」ボタンを押すとスケッチが生成されます。

スケッチをBadUSBに書き込む
Arduino IDE(インストールについてはこちら)を開き、「Ducky Scriptをスケッチに変換する」で生成されたスケッチをコピペします。

「ツール」->「ボード」で「Arduino Leonardo」を選択します。

シリアルポートで「Arduino Leonardo」と書かれているCOMポートを選択します。

あとは、BadUSBにスケッチを書き込むだけです。
書き込みが終わって、BadUSBを挿したままにしておくと、メモ帳が開いて「Hello World」と表示されたら成功です。
実行動画
準備中
おわりに
今回はBadUSBで遊んでみました。BadUSBは名前の通り悪いことに利用できますが、使い方によっては便利なツールです。色々と遊んでみてください。

関連記事