
ATTiny85プロセッサとmicronucleusブートローダを搭載したDigiduck Development Boards向けフレームワーク!
ATTiny85プロセッサとmicronucleusブートローダを搭載したDigiduck開発ボード用フレームワーク!
alt text DDFウェルカム画面のスクリーンショット
- ATTiny85または互換性のある「Digispark」開発ボード
- DigiSparkドライバ(Arduinoで使用できるなら問題ありません。)
- OSXまたはMacOS
- DigisparkライブラリがインストールされたArduinoIDE
DigiDuck Framework(DDFと呼称)の起動とセットアップは非常に簡単です!DDFに必要なサードパーティモジュールはありません!必要なのはPython 3.6以上がインストールされていることだけです(私はこれを使用して開発しましたが、後方互換性があるはずです多分)。このリポジトリをクローンし、コマンドラインからディレクトリに入ってください。ディレクトリ内で以下のコマンドを実行するだけです:
python start.py
これでプログラムが起動し、上記のウェルカム画面が表示されます。
このフレームワークには3つのコマンドがあります!ペイロードをボードに転送するために必要なコマンドは1つだけにして、できるだけ軽量にしたかったのです。
helpコマンドはこのメニューを表示します:
alt text
showコマンドはこのメニューを表示します:
alt text
利用可能なすべてのペイロードがここに表示されます。ただし、executeコマンドを実行すると再度表示されます。
DDFの3つ目で最後のコマンドはexecuteです。executeコマンドはshowコマンドと同じメニューを表示しますが、このメニューからペイロード名を入力します。末尾に.hexを含める必要があります。含めないと正しく読み込まれず、再入力を求められます。
alt text
executeコマンドの表示
ペイロードを選択すると、目的のボードをコンピュータに挿入するように促されます。その後、選択したペイロードがインストールされ、完了時に次のように表示されます:
alt text
以上です!これでbadUSB DigiSparkボードをコンピュータに挿入し、目的のペイロードを実行できます!
ペイロードは、micronucleusブートローダを使用してATTiny85または他のボードにインストールされるDigiSpark .ino hexファイルです。
現在のペイロードはすべてHak5のRubberDuckyスクリプト(こちら)からのものです。ペイロードの動作が不明な場合は、そのページで確認してください。ペイロード名はできるだけ同じに保つよう努力しますが、Windowsではrlcompleterが動作しないため、あまり長い入力を強いたくありません。
Duckyspark GitHubページにアクセスして、RubberDuckyスクリプトから翻訳された.inoファイルを作成する方法を確認してください。その後、.inoファイルをArduino IDEに読み込みます。設定でVerboseをオンにしてコードをコンパイルしてください。下のターミナル出力を開き、.hexファイルの場所を探します。MacOSではAppDataまたはそれに相当する一時ディレクトリにあるはずです。以下に例を示します:
alt text これはボードを挿入するよう指示されるすぐ上の部分です!
そのフォルダからpayloadname.cpp.hexファイルを取り出し、DDFフレームワーク内のpayloadsフォルダにドラッグします。プログラムを実行すると、ペイロードが利用可能なペイロードに読み込まれます!
上記のRubber Duckyスクリプトからカスタムペイロードやその他のペイロードを追加して自由に貢献してください!新しいペイロードでPRを作成してください。
Duckyspark - https://github.com/toxydose/Duckyspark
Micronucleus - https://github.com/micronucleus/micronucleus
Hak5 RubberDucky Payloads - https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads