使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨

如今市面上出現了許多優秀的硬件黑客工具,但缺點是這些工具的價格往往非常的高昂。因此,許多黑客更願意自己動手打造更為廉價的專屬版本。本文我將教大家使用Digispark(一款類似於Arduino Uno基於Attiny85的微控制器開發板,相比之下它更便宜小巧。)和Duck2Spark,花3美元的價格打造一個廉價的USB橡皮鴨。廉價硬件除了價格上的優勢外,還體現在它的安全性上。由於大部分這些硬件都是一次性的,因此它們也幾乎不可能被追蹤到。

使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨

USB橡皮鴨是一款偽裝成U盤的擊鍵注入工具。插入電腦的USB接口後計算機就會將其識別為常規鍵盤,並以每分鐘超過1000個字的速度自動接受其預編程的擊鍵有效載荷。只需短短几秒的物理訪問,即可在目標計算機上輕鬆的部署一些先進的滲透測試攻擊或IT自動化任務。此外,Rubber Ducky還有一些惡搞功能,例如快速更改同事工作站壁紙的腳本等。雖說功能強大,但其價格方面並無優勢。目前官方的價格為45美金再加上運費,算起來並不便宜。

使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨

第1步:設置Digispark開發環境

在開始使用板子之前,我們必須先安裝Arduino IDE。之後,我們還需要下載該板的兼容包,操作非常簡單:

https://www.arduino.cc/en/main/software

使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨

安裝完成後,打開Arduino IDE應用程序,依次選擇 File ->

Preferences ,並在字段名為“Additional Boards Manager URL”的輸入框中,輸入以下URL。

http://digistump.com/package_digistump_index.json
使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨

打開 Arduino IDE – — Preferences Tools -> Board -> Boards Manager,從下拉菜單中選擇“Contributed”,選擇Digistump AVR Boards包並安裝。

現在,我們需要安裝Digispark Bootloader驅動。

https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip

通常,驅動程序安裝過程會出現一些問題。因此,請確保驅動程序的正確安裝。

使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨

最後,打開 Tools -> Board,然後選擇 Digispark (Default — 16.5mhz)並將其設置為默認值。

第2步:克隆Rubber Ducky腳本

Rubber Ducky使用簡單的腳本語言來創建payloads。而對於Digispark來說,就要複雜許多。我們需要使用Digikeyboard.h和Arduino IDE編寫自己的payloads。在網上也能找到一些可用於Digispark ATTiny85的腳本,但並不能滿足我們日常的任務需求。

這裡,首先我要感謝我的好友MaMe82 (Marcus Mengs) ,他創建的duck2spark項目,可將Rubber Ducky腳本轉化到Digispark上使用:

https://github.com/mame82/duck2spark

Duck2spark的一個很非常棒的功能是,支持非美語鍵盤佈局。該功能主要是藉助支持多種鍵盤佈局的DuckEncoder實現的。

Duck2spark使用也非常的簡單。以下是一個經典的hello world示例:

Generate a DuckyScript test.duck you want to use as output:
echo "STRING Hello World" > test.duck
Compile the/>java -jar encoder.jar -i test.duck -o raw.bin -l de
Use duck2spark.py to convert into Arduino Sketch (options for single run, 2 seconds startup delay):
duck2spark.py -i raw.bin -l 1 -f 2000 -o sketch.ino
After setting up the Arduino IDE load the example "DigisparkKeyboard" and replace the Sketch source by the one saved to sketch.ino

單擊Sketch -> Upload或單擊左上角的Upload按鈕。打開記事本。再次插入Digispark USB,我們將看到屏幕中“Hello World”自動輸入的過程。

你也可以創建其它用途的Rubber Ducky Payloads,這主要取決於你的目的和意圖。例如你可以創建無線網關聯,下載和執行payloads,反向shell等。在做滲透測試時,我們甚至還可以使用Meterpreter,Empire,Unicorn等powershell payloads:

https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads

最後提示大家,可以使用一些熱縮管來為你的Digispark-Ducky提供電絕緣,機械保護,密封及隱藏。

使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨


分享到:


相關文章: