https://www.bilibili.com/video/BV15S4y1M7MZ
參考視頻
簡介
通過硬件直接插入對方電腦,讓對方電腦執行代碼,達到干擾、控制主機或者竊取信息等目的。
HID攻擊
HID是Human Interface Device的縮寫,由其名稱可以了解HID設備是直接與人交互的設備,例如鍵盤、鼠標與游戲桿等。不過HID設備并不一定要有人機接口,只要符合HID類別規范的設備都是HID設備。一般來講針對HID的攻擊主要集中在鍵盤鼠標上,因為只要控制了用戶鍵盤,基本上就等于控制了用戶的電腦。攻擊者會把攻擊隱藏在一個正常的鼠標鍵盤中,當用戶將含有攻擊向量的鼠標或鍵盤,插入電腦時,惡意代碼會被加載并執行。
USB HID類是USB設備的一個標準設備類,包括的設備非常多。HID類設備定義它屬于人機交互操作的設備,用于控制計算機操作的一些方面,如USB鼠標、USB鍵盤、USB游戲操縱桿等。但HID設備類不一定要有人機接口,只要符合HID類別規范的設備都是HID設備。 USB HID設備的一個好處就是操作系統自帶了HID類的驅動程序,而用戶無需去開發驅動程序,只要使用API系統調用即可完成通信。 我們用到的是模擬鍵盤這部分。 參考:https://www.cnblogs.com/vonly/p/7403823.html
USB鼠標鍵盤協議介紹。
鼠標發送給PC的數據每次4個字節:BYTE1 BYTE2 BYTE3 BYTE4。定義分別是:
BYTE1 --
|--bit7: 1 表示 Y 坐標的變化量超出-256~255的范圍,0表示沒有溢出
|--bit6: 1 表示 X 坐標的變化量超出-256~255的范圍,0表示沒有溢出
|--bit5: Y 坐標變化的符號位,1表示負數,即鼠標向下移動
|--bit4: X 坐標變化的符號位,1表示負數,即鼠標向左移動
|--bit3: 恒為1
|--bit2: 1表示中鍵按下
|--bit1: 1表示右鍵按下
|--bit0: 1表示左鍵按下
BYTE2 -- X坐標變化量,與byte的bit4組成9位符號數,負數表示向左移,正數表右移。用補碼表示變化量
BYTE3 -- Y坐標變化量,與byte的bit5組成9位符號數,負數表示向下移,正數表上移。用補碼表示變化量
BYTE4 -- 滾輪變化。
由于手上沒有USB鼠標,對BYTE1的4-7位沒有測試,對于BYTE2 BYTE3做個測試,BYTE1的4-7全為0的時候,BYTE2 BYTE3的正負表示鼠標移動方向
備注:本人實測結果如下(win10x64):
BYTE1的高4位完全無用,
BYTE2,X坐標變化量,負數表示向左移,正數表示向右移,
BYTE3,Y坐標變化量,負數表示向上移,正數表示向下移
鍵盤發送給PC的數據每次8個字節:BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8。定義分別是:
BYTE1 --
|--bit0: Left Control 是否按下,按下為1
|--bit1: Left Shift 是否按下,按下為1
|--bit2: Left Alt 是否按下,按下為1
|--bit3: Left GUI 是否按下,按下為1
|--bit4: Right Control 是否按下,按下為1
|--bit5: Right Shift 是否按下,按下為1
|--bit6: Right Alt 是否按下,按下為1
|--bit7: Right GUI 是否按下,按下為1
BYTE2 -- 暫不清楚,有的地方說是保留位
BYTE3--BYTE8 -- 這六個為普通按鍵
鍵盤經過測試。
例如:鍵盤發送一幀數據 02 00 0x04 0x05 00 00 00 00
表示同時按下了Left Shift + ‘a’+‘b’三個鍵
審核編輯:湯梓紅
-
usb
+關注
關注
60文章
7936瀏覽量
264474 -
鍵盤
+關注
關注
4文章
859瀏覽量
39647 -
硬件
+關注
關注
11文章
3312瀏覽量
66200 -
HID
+關注
關注
2文章
130瀏覽量
46606
發布評論請先 登錄
相關推薦
評論