天天看點

USB流量驗證分析

USB是 UniversalSerial Bus(通用串行總線)的縮寫,是一個外部總線标準,用于規範電腦與外部裝置的連接配接和通訊,例如鍵盤、滑鼠、列印機、磁盤或網絡擴充卡等等。通過對該接口流量的監聽,我們可以得到鍵盤的擊鍵記錄、滑鼠的移動軌迹、磁盤的傳輸内容等一系列資訊。

USB流量指的是USB裝置接口的流量,攻擊者能夠通過監聽usb接口流量擷取鍵盤敲擊鍵、滑鼠移動與點選、儲存設備的銘文傳輸通信、USB無線網卡網絡傳輸内容等等。

USB協定版本有USB1.0, USB1.1, USB2.0, USB3.1等,目前USB2.0比較常用。

1. USB UART

UART,這種方式下,裝置隻是簡單的将 USB 用于接受和發射資料,除此之外就再沒有,其他通訊功能了。

2. USB HID

HID 是人性化的接口。這一類通訊适用于互動式,有這種功能的裝置有:鍵盤,滑鼠,遊戲搖桿和數字顯示裝置。

3. USB Memory

USB Memory是資料存儲

每一個 USB 裝置​<code>​(尤其是 HID 或者 Memory )​</code>​都有一個供應商 ID​<code>​(Vendor ID)​</code>​ 和産品識别碼​<code>​(Product Id)​</code>​ 。 Vendor ID 是用來标記哪個廠商生産了這個 USB 裝置。 Product ID 則用來标記不同的産品.

​<code>​lsusb​</code>​指令用于顯示本機的USB裝置清單,以及USB裝置的詳細資訊。
USB流量驗證分析

​<code>​Bus 002​</code>​:指明裝置連接配接到哪條總線

​<code>​Device 002​</code>​:表明這是連接配接到總線上的第二台裝置

​<code>​ID​</code>​ : 裝置的ID

​<code>​VMware, Inc. Virtual Mouse​</code>​:生産商名字和裝置名

​​詳細指令​​

網絡抓包,分析工具。wireshark 的 Linux指令行工具

常用指令

如果提取出來的資料有空行,可以将指令改為如下形式:

如果提取出來的資料沒有冒号,可以用腳本來加上冒号(因為一般的腳本都會按照有冒号的資料來識别,有冒号時提取資料的​<code>​[6:8]​</code>​,無冒号時資料在​<code>​[4:6]​</code>​)

參數:

​<code>​-r​</code>​:設定tshark分析的輸入檔案

​<code>​-T​</code>​:設定解碼結果輸出的格式,包括​<code>​fileds,text,ps,psml​</code>​和​<code>​pdml​</code>​,預設為​<code>​text​</code>​

​​參數詳解​​

滑鼠移動時表現為連續性,與鍵盤擊鍵的離散性不一樣,但實際上滑鼠動作所産生的資料包也是離散的。不同的滑鼠抓到的流量不一樣,一般的滑鼠流量都是四個位元組

每一個資料包的資料區有四個位元組。

第一個位元組代表按鍵:

第二個位元組可以看成是一個​<code>​signed byte​</code>​類型,其最高位為符号位:

第三個位元組與第二位元組類似,代表垂直上下移動的偏移。

USB流量驗證分析

這個代表的意思便是滑鼠右移01像素,垂直向上移動fc.

描述:

這是一道滑鼠流量分析題。

使用下​<code>​tshark​</code>​指令将資料給提取出來

USB流量驗證分析

沒有冒号,需要通過腳本來添加冒号,這題描述說了是滑鼠流量,是以長度設定為8即可

USB流量驗證分析

導出之後,利用通用的滑鼠流量腳本處理下(但這裡需要注意的是,因不知道操作者是用左鍵還是右鍵進行滑鼠移動以及拖動軌迹,是以需要自己嘗試一下),這道題經過測試發現是用右鍵畫的,将通用腳本中的​<code>​btn_flag​</code>​改為2即可。

即可恢複出一系列坐标内容

USB流量驗證分析

接下來使用指令​<code>​gnuplot​</code>​即可恢複出圖像

USB流量驗證分析

拿到本地旋轉一下即可獲得flag

USB流量驗證分析

除此之外,還可以使用主要用于GitHub上的工具

​​工具​​

指令:

鍵盤資料包的資料長度為8個位元組,擊鍵資訊集中在第3個位元組,每次擊鍵都會産生一個資料包。是以如果看到給出的資料包中的資訊都是8個位元組,并且隻有第3個位元組不為0000,那麼幾乎可以肯定是一個鍵盤流量了。

擊鍵資訊和資料包中16進制資料的對照表

USB流量驗證分析

​​詳細文檔​​

如:

USB流量驗證分析

擊鍵資訊為​<code>​0x09​</code>​,對應的按鍵資訊即為​<code>​F​</code>​。

安全評測人員在對某銀行卡密碼輸入系統進行滲透測試,截獲了一段通過USB鍵盤輸入6位數字密碼的流量,其中也包含了一些其他無關的USB裝置的流量,你能從中恢複出6位數字密碼嗎?最終送出的flag格式為flag。

先使用指令擷取到資料(不能有空格,否則會出錯)

USB流量驗證分析

利用腳本加上冒号,長度改為16即可

USB流量驗證分析

通用腳本如下:

USB流量驗證分析

​​關于usb流量分析​​

​​ga1axy​​