1. 程式人生 > >基於Wi-Fi的HID註射器,利用WHID攻擊實驗

基於Wi-Fi的HID註射器,利用WHID攻擊實驗

繼續 leon data- 設置 hsl password leonardo mode uart

WHID 代表基於 Wi-Fi 的 HID 註射器,即對 HID 攻擊進行無線化攻擊的一種註入工具。

實驗攻擊原理如下圖:

技術分享

攻擊者使用ESP8266作為AP,在自己的電腦創建客戶端連接AP。在客戶端鍵入命令發送到ESP8266,它再利用串口轉發給Arduino Leonardo。利用Arduino中的Keyboard庫就可以使用傳輸的命令控制目標主機的鍵盤。

前期準備

1. 硬件設備

Arduino Leonardo

技術分享

ESP8266 Wi-Fi模塊

技術分享

FT282串口調試模塊

技術分享

2. 軟件環境

sockettool

Arduino IDE

串口調試助手

TCP調試助手

實驗步驟

1.ESP8266設置

使用串口連接ESP8266,依次鍵入命令:

AT+CWMODE=3 //設置模式為AP兼Station模式;

技術分享

AT+RST //模式改變需重啟後生效;

技術分享

AT+CWSAP=”name”,”password”,11,2 //創建一個名為name,密碼為password的AP節點;

技術分享

AT+UART=9600,8,1,0,0 //設置波特率為9600,Arduino和ESP8266波特率需相同;

技術分享

AT+CIPSERVER=1,8089 //將esp8266設置為server模式,這樣才能夠在下面被訪問;

技術分享

2. 代碼燒錄

將寫好的代碼燒錄進Arduino Leonardo,這裏選擇了主要部分說明:

技術分享

在loop中循環讀取ESP8266向串口發送的數據,判斷收到數據時過濾並利用Keyboard庫打印在Arduino接入的電腦上。

3. 硬件接線

設置好ESP8266和Arduino之後就可以進行硬件接線了,接線原理圖如下:

技術分享

實際接線圖如下:

技術分享

4. 客戶端操作

①連接到之前創建的網絡name。

②打開sockettool.exe,點擊左側 “TCP Client” 後點擊“創建”來創建客戶端:

技術分享

③ 輸入IP:“192.168.4.1”,端口號:“8089”:

技術分享

④ 點擊“連接”,如果連接成功可以看到“已連接”字樣:

技術分享

實驗演示

確保在已連接狀態下,發送兩次“123”:

技術分享

可以在目標主機看到鍵入的結果:

技術分享

實驗總結

這裏實現的功能只是簡單地將輸入的字符顯示在目標機器上,危害性並不強。但是如果結合之前做過的BadUSB實驗(http://www.freebuf.com/news/141833.html?preview=true),則可以遠程執行命令,例如通過PowerShell遠程下載文件等等,這將會對目標主機造成難以預料的影響。

技術分享

因為是研究性質所以沒有繼續深入挖掘WHID的應用,而且也意識到使用Wi-Fi有一定的局限性,可以設想采用藍牙或2.4G傳輸的方式提高傳輸的穩定性或是傳輸距離等,相信對HID的攻擊絕不止於此。

和BadUSB類似,WHID可以模仿鍵盤、鼠標操作,所以常規的安全軟件、殺毒軟件不能起作用。顯然不讓任何不受信任的硬件連接自己的電腦是最安全的選擇。

基於Wi-Fi的HID註射器,利用WHID攻擊實驗