使用Digispark和Duck2Spark打造一個廉價USB橡皮鴨
如今市面上出現了許多優秀的硬體黑客工具,但缺點是這些工具的價格往往非常的高昂。因此,許多黑客更願意自己動手打造更為廉價的專屬版本。本文我將教大家使用 ofollow,noindex" target="_blank">Digispark (一款類似於Arduino Uno基於Attiny85的微控制器 開發板 ,相比之下它更便宜小巧。)和Duck2Spark,花3美元的價格打造一個廉價的USB橡皮鴨。廉價硬體除了價格上的優勢外,還體現在它的安全性上。由於大部分這些硬體都是一次性的,因此它們也幾乎不可能被追蹤到。
USB橡皮鴨是一款偽裝成U盤的擊鍵注入工具。插入電腦的USB介面後計算機就會將其識別為常規鍵盤,並以每分鐘超過1000個字的速度自動接受其預程式設計的擊鍵有效載荷。只需短短几秒的物理訪問,即可在目標計算機上輕鬆的部署一些先進的滲透測試攻擊或IT自動化任務。此外,Rubber Ducky還有一些惡搞功能,例如快速更改同事工作站桌布的指令碼等。雖說功能強大,但其價格方面並無優勢。目前官方的價格為45美金再加上運費,算起來並不便宜。
第1步:設定Digispark開發環境
在開始使用板子之前,我們必須先安裝Arduino IDE。之後,我們還需要下載該板的相容包,操作非常簡單:
https://www.arduino.cc/en/main/software
安裝完成後,開啟Arduino IDE應用程式,依次選擇 File -> Preferences ,並在欄位名為“Additional Boards Manager URL”的輸入框中,輸入以下URL。
http://digistump.com/package_digistump_index.json
開啟 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
通常,驅動程式安裝過程會出現一些問題。因此,請確保驅動程式的正確安裝。
最後,開啟 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 script using DuckEncoder with your keyboard layout (de in example) or use my python port: 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提供電絕緣,機械保護,密封及隱藏。
*參考來源: hackernoon ,FB小編 secist 編譯,轉載請註明來自FreeBuf.COM