淺談讀取USB鍵盤流量的隱藏數據技巧

0x00 預備

wireshark是一款可以用來抓取流量的工具,可以用它來分析流量,從中發現黑客所做的記錄和改動,對我們分析被攻擊情況和進行防禦有很大的幫助,usbkeyboard可以隱藏一些信息,通常,我們可以使用以上工具和方法從中發現一些隱藏信息。

0×01 數據準備

假設有一段流量,協議是usb,我用wiresharp打開這個包,可以看到裡面的字段和內容:

淺談讀取USB鍵盤流量的隱藏數據技巧

可以看出內容主要是Leftover Capture Data,首先要對usb協議進行分析,右鍵選項,然後點擊應用為列,可以將該域的值在主面板上顯示,usbkeyborad的數據包數據長度為8個字節,每兩位是一個字節,而按鍵的數據都在第三個字節處,就是00、01、02、03…11、12、13、14,鍵位和HEX數值之間的對應關係如下圖所示:

淺談讀取USB鍵盤流量的隱藏數據技巧

要提取出來這些數據以進行分析,就需要使用工具和腳本來對這些數據進行處理,以下是實現方法。

0×02 實現

首先,我們需要使用到wireshark裡的工具tshark,這是wireshark工具的命令行程序,效率更高,如果是linux系統,則需要安裝tshark包,安裝完之後就執行tshark命令,如果是windows則直接安裝wireshark,裡面自帶了tshark程序,可以直接執行。然後執行:

"tshark.exe" -r usb.Pcap -T fields -e usb.capdata > usb.data

這樣,就生成了一個usb.data文件,這個文件就是tshark對usb.pcap流量包內數據的截取,其實就是個txt文檔,可以直接查看。

當我們用文本文檔打開查看的時候:

淺談讀取USB鍵盤流量的隱藏數據技巧

發現裡面的數據就是原來Leftover Capture Data列的數據,這列數據就是usb鍵盤鍵位的代碼,可以對這列數據進行處理,過濾掉無用的流量,保留與鍵位有關的流量,也就是第三個字節的數據,精簡一下。

淺談讀取USB鍵盤流量的隱藏數據技巧

將以上python腳本保存為一個文件,然後執行:

淺談讀取USB鍵盤流量的隱藏數據技巧

打開這個txt文件,發現裡面有一段由數字組成的字段,很長,這就是我們需要的數據:

淺談讀取USB鍵盤流量的隱藏數據技巧

將這段字段拷貝出來,然後扔到010editor當中:

淺談讀取USB鍵盤流量的隱藏數據技巧

發現這段字段很像一種文件格式,就是zip壓縮包格式,因為它的開頭是504B,也就是PK,而PK這個文件頭就是壓縮包的頭,所以我們可以把這段字段保存為zip壓縮包格式:

淺談讀取USB鍵盤流量的隱藏數據技巧

保存之後,就直接打開這個壓縮包,看到裡面有個文件,叫flag.txt:

淺談讀取USB鍵盤流量的隱藏數據技巧

再點擊打開,發現沒有密碼,直接就打開了,裡面是隱藏的數據。

0×03 END

有時候不僅僅是在鍵位編碼當中,也可能在usb鼠標座標裡,也是需要先用tshark抽取鼠標座標數據信息,再運用python強大的作圖功能對座標數據進行繪製,以得到圖形化隱藏數據。

*本文作者:ohhatmy,轉自FreeBuf


分享到:


相關文章: