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裝置的詳細資訊。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CN4QTMyQTM1ADOiBzN5EzNxYzX3IjNzADMyIzLcBTMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL3M3Lc9CX6MHc0RHaiojIsJye.png)
<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>類型,其最高位為符号位:
第三個位元組與第二位元組類似,代表垂直上下移動的偏移。
這個代表的意思便是滑鼠右移01像素,垂直向上移動fc.
描述:
這是一道滑鼠流量分析題。
使用下<code>tshark</code>指令将資料給提取出來
沒有冒号,需要通過腳本來添加冒号,這題描述說了是滑鼠流量,是以長度設定為8即可
導出之後,利用通用的滑鼠流量腳本處理下(但這裡需要注意的是,因不知道操作者是用左鍵還是右鍵進行滑鼠移動以及拖動軌迹,是以需要自己嘗試一下),這道題經過測試發現是用右鍵畫的,将通用腳本中的<code>btn_flag</code>改為2即可。
即可恢複出一系列坐标内容
接下來使用指令<code>gnuplot</code>即可恢複出圖像
拿到本地旋轉一下即可獲得flag
除此之外,還可以使用主要用于GitHub上的工具
工具
指令:
鍵盤資料包的資料長度為8個位元組,擊鍵資訊集中在第3個位元組,每次擊鍵都會産生一個資料包。是以如果看到給出的資料包中的資訊都是8個位元組,并且隻有第3個位元組不為0000,那麼幾乎可以肯定是一個鍵盤流量了。
擊鍵資訊和資料包中16進制資料的對照表
詳細文檔
如:
擊鍵資訊為<code>0x09</code>,對應的按鍵資訊即為<code>F</code>。
安全評測人員在對某銀行卡密碼輸入系統進行滲透測試,截獲了一段通過USB鍵盤輸入6位數字密碼的流量,其中也包含了一些其他無關的USB裝置的流量,你能從中恢複出6位數字密碼嗎?最終送出的flag格式為flag。
先使用指令擷取到資料(不能有空格,否則會出錯)
利用腳本加上冒号,長度改為16即可
通用腳本如下:
關于usb流量分析
ga1axy