標籤:

淺析幾種HID硬體攻擊

淺析幾種HID硬體攻擊

來自專欄網安實驗室9 人贊了文章

本文原創作者:EEE

原創投稿詳情:重金懸賞 | 合天原創投稿等你


一、 What Is HID ?

HID 全稱為 Human Interface Device 直譯為人類介面設備,也被稱為人體學輸入設備,是指與人類直接交互的計算機設備,而pc端上的」HID」一般指的是USB-HID標準,更多指微軟在USB委員會上提議創建的一個人體學輸入設備工作組。

說了這麼多,其實就是設備管理器里的…這個

1.1HID標準的概念之前,設備往往要匹配滑鼠和鍵盤,更換新的設備時候,就需要重載所有協議和設備,極其繁瑣

類似於TCP/IP協議族一樣,在標準化協議發布之前,設備之間的通訊由開發商單方面的協議主導,不同品牌的設備從而因為協議不同,而無法通信。

1.2而HID標準概念之後,所有HID定義的設備驅動程序提供可包含任意數量數據類型和格式的自我描述包。計算機上的單個HID驅動程序就可以解析數據和實現數據I/O與應用程序功能的動態關聯。

1.3可以說:HID標準的誕生讓介面類型,功能更加豐富,多樣化,同時也加快了設備的創新與發展。

二、 What Is HID attack?

HID attack 通過插入帶有攻擊向量的USB設備等方式,惡意代碼直接就被載入執行,攻擊操作也就瞬時發生。此類方式屬於物理層面攻擊。

相對來說,攻擊者控制了用戶的鍵盤,則就可以說控制了對方主機的許可權。

攻擊者可以在一個晶元中,寫入編程進去的惡意代碼,誘導用戶,或其他方式插入主機中,即可完成整個攻擊操作。

2.1那麼造成HID攻擊的原因到底是什麼

HID設備類協議缺陷

在聊HID設備標識符之前,先說說滑鼠和鍵盤。早期的滑鼠鍵盤,如果網齡久一些的話,都知道,是那種PS/2的介面。

在今天,大部分的滑鼠和鍵盤都用USB來代替,ps/2的介面已經非常非常少見了。

既然,USB插得有可能是移動儲存設備,也有可能是類似鍵盤滑鼠的輸入設備,那麼計算機是如何分辨的呢?

答案就是 HID協議中的定義的HID設備標識符。

就我們人類而言,鍵盤之所以是鍵盤,是因為能打字,

滑鼠之所以能是滑鼠,是因為能控制游標的移動

U盤之所以是U盤,是因為他能長得像U盤,能傳入傳輸文件。

但是計算機不是人,他只認識0和1,Device Class Definition for Human Interface Devices是一個公開的國際標準,用於規定HID設備的類型。當任何一個HID設備在接入電腦時,操作系統就首先會讀取其設備標識符,

你如果具備U盤的標識,那我就給你掛載一個盤符。

你如果具備鍵盤的標識符,我就接受你給我輸入的信息。

原則上HID 是一出廠,就被設定好了的,出廠了就不能再更改了。

老生常談的一句話「互聯網本身是安全的,自從有了安全的人,互聯網就變得不安全了。

但是HID規範和協議是公開,通過自定義HID標識,讓計算機模擬了鍵盤的輸入。

則達到了我們所說的HID攻擊。

三、 發動 HID攻擊 需要什麼?

按理說這種物理攻擊,應該是玩物聯網的兄弟們鼓搗的東西,那麼就自然少不了單片機等硬體的支持。

如黑客想發動一次 HID 攻擊的話,有很多種硬體的選擇,

以下筆者只是簡單的舉三個例子

3.1digispark單片機:

自帶 8k 的快閃記憶體,除去(bootloader佔用2K,用戶可編程部分6K)

3.2CJMCU-Beetle

均價 32RMB左右,32KB 快閃記憶體(4kb bootloader 佔用)

3.3.商業版定製BadUSB---小黃鴨

價格不菲,40美刀是我等窮逼消費不起的。 按照匯率野爹小几百塊錢呢。

可以插入一個12MB的SD卡(相對於 淘寶9.9的內個,就儲存部分就擴展了幾百倍了。)長得也更像U盤啊。

對比圖

四、 如何對單片機寫簡單的模擬鍵盤程序。

提醒一下各位,所有的單片機都是可以跨平台攻擊的,前提是,你準備的payload是這個平台的payload的 不同平台的命令指示符的指令是不一樣的。

你如果去攻擊win的程序去插入了linux的伺服器上,那也毫無意義。

首先去官網下載編譯器

arduino.cc/en/Main/Soft

打開編譯器:

初始化界面:

初始化代碼部分

void setup() { // put your setup code here, to run once:}void loop() { // put your main code here, to run repeatedly:}

Arduino 提供了以下鍵盤函數

#include<Keyboard.h> //包含鍵盤模塊的頭文件

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

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

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

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

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

以下是單片機模擬打開 win+R echo helloworld

(更高階的操作,本文不再探究,互聯網資源豐富

還請小夥伴利用自己的搜索引擎去探索吧~)

寫完代碼之後,進行編譯

然後上傳(如果代碼寫的沒有問題的話)

注意:digispark 與其他arduino不太一樣。以前DigisparkArduino在SourceForge上提供了專用版的Arduino IDE,但是很久沒有更新,而且支持的板子較少,不方便。下面會介紹

如果你是DigisparArduino板子,就需要設置一下了。

然後運行Arduino,打開File菜單下的Preferences,在Additional Boards manager中輸入下面網址:

  1. digistump.com/package_d

去工具裡面的 打開開發板管理器,安裝一下 等5分鐘。

最後你選擇 工具開發板 digispark (default)

寫完程序後。

你就可以去你身邊小夥伴的電腦上 插插插了~

五、 一種新型的BadUSB(wifi版)

近兩年的 badusb社區又有geek鼓搗出新玩意,比如說這樣的:

將wifi模塊焊上去

增加了wifi模塊的badusb,可以通過wifi連接的形式,將代碼燒進內存。

在實際的攻擊場景則更容易按照需求對代碼進行測試,也為攻擊方式增加更多的可能性。

所需要的設備

  • ESP8266 Wi-Fi晶元

    我推薦使用ESP-12。它使用廣泛,價格便宜,體積小巧,擁有4MB的快閃記憶體。

    但是,如果你是初學者,你應該從NodeMCU或者Wemos d1 mini等開發者板開始。
  • ATmega32u4

    Arduino Micro和Arduino Leonardo使用ATmega32u4作為例子。您也可以購買Arduino Pro Micro或其他使用ATmega32u4的廉價Arduino克隆。我將使用ATmega32u4 CJMCU甲蟲。
  • (一個3.3V穩壓器)

    我把它放在括弧內,因為如果你的ATMega32u4板不提供3.3V,你只需要這個。ESP8266僅適用於3.3V,因此根據您的電路板,您可能需要一個穩壓器,以便從5V獲得3.3V電壓。

參考接線圖:

引腳連接圖:

具體步驟可以參考github地址: github.com/spacehuhn/wi

打開 NodeMCU Flasher 寫入軟體

刷入bin 固件 https://github.com/spacehuhn/wifi_ducky/releases

中文版固件:

files.cnblogs.com/files

將的Wi-Fi Ducky插入並連接到新的Wi-Fi

默認網路WiFi Duck。

密碼是quackquack。

輸入 192.168.4.1 進入管理地址

效果圖

(發揮你的想像力,就可以讓板子變得更強大)。

六、最危險的U盤—USB killer

USB kill用於測試USB埠防止電源浪涌攻擊。最新發布的USB Kill 3.0可以測試,設備是否有抵禦這種攻擊的能力。

(當然了,抵禦不了這種攻擊的設備,基本都會冒煙什麼的)

根據其最早開發團隊做的統計,約95%的設備,根據其發布在YouTube的視頻,包括三星GalaxyS9+在內的手機 也均無法抵禦USB 的攻擊。

那麼他的攻擊方式到底是什麼呢?

雖然外觀U盤長得差不多,但是其內部並不是真正的U盤結構,而換成了電容。它從其電容連接的元件的USB電源中收集功率,直到其達到高電壓,然後再將高電壓再反向放電到USB介面。

就好比,這東西就像個電荷儲存器,來收集USB介面供給他的能量,等達到足夠高壓的時候,再反向輸出給介面。

據他們團隊所說,蘋果是唯一一家,可以防禦這種攻擊方法的設備。

攻擊效果圖(三張 gif)

七、 思考

U盤作為人們常見的移動存儲設備,簡單,方便,便攜的特別,使人們經常會拿U盤來拷貝資料等等。 同時也吸引了一批對USB介面做手腳的人,HID安全同樣也是信息安全中不可或缺的一部分分支。

如果黑客要對於目標單位進行定向投放。U盤上再寫個什麼「重要資料」「島國優秀電影賞析」什麼的。肯定會有好奇的人拿過來插一插,學習學習的吧。

正是可以利用人們的獵奇心理,黑客們也就達到了目的。

八、聲明

本文介紹的關於HID攻擊的幾種方法,只是用於學習信息安全所使用,涉及到的攻擊行為只是希望讓大家提高安全意識。若讀者因此做出危害信息安全的行為後果自負,與合天智匯以及原作者無關,特此聲明

(註:本文屬合天智匯原創獎勵文章,未經允許,禁止轉載!)


推薦閱讀:

探秘香港廉政公署:硬體過硬 不輕易亮「傢伙」(圖)
民用檔案管理(硬體篇)
MacBookPro真的會像預測的那樣大賣么?
在美國當總統,都要啥硬體? | 千趣
硬體章 相機節 分類項--135照相機

TAG:硬體 | 科技 |