在網路上一直很紅的一個案例是 插入一支USB 隨插即用裝置後,
自動輸入指令達到控制或安裝程式的效果 ...
HID = Human Interface Devices (縮寫)
USB HID Class 是走微軟標準驅動程式的, 正常人的理解就是隨插即用的裝置
主要用於以下幾種裝置居多
架構:
把想要執行的程式直接燒入韌體中, 透過USB HID 型態的裝置有隨插即用的功能而達成目的
於資安的紅隊演練中, 最常被應用的是在系統中植入後門程式
網路上有名的案例則是Bad USB 或Bad USB WiFi版的WiFi Ducky
實作:
插入USB 裝置後, 打開command line視窗.顯示Hello world
需要材料:
#include "DigiKeyboard.h"
void setup()
{
pinMode(1,OUTPUT);
DigiKeyboard.delay(1500);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(500);
DigiKeyboard.println("cmd");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(500);
DigiKeyboard.println("Hello World");
digitalWrite(1,HIGH);
delay(500);
digitalWrite(1,LOW);
}
void loop()
{ }
進階應用:
DigiKeyboard.println("python");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(500);
DigiKeyboard.delay(500);
DigiKeyboard.println("quit()");
PS: 這是很常見的一個手法, 將自動下載資料跟執行的部分寫好後. 使用base64編碼後再執行後達到目的
參考資料: