串列埠資料抓取及串列埠通訊模擬

wyzsk發表於2020-08-19
作者: Gowabby · 2015/12/25 11:21

0x00前言


對於串列埠通訊大多時候是固定的,所以對於大多數的攻擊主要就是對資料的抓取然後模擬通訊就可以了。如何確定設別是不是串列埠通訊的最簡單辦法,windows系統右鍵計算機,管理的裝置管理中可以檢視是否增加com口。

0x01 使用的工具


在抓取時要使用類似於wireshark的抓包工具SerialMonitor。

SerialMonitor程式截圖 Alt text

在進行模擬串列埠時,為了方便採用虛擬串列埠工具Virtual Serial Port Driver,在除錯時採用串列埠除錯助手(當然這裡也可以自己寫個串列埠程式除錯),然後就是模擬資料通訊程式,這個要自己編寫個人建議採用C#編寫(原因簡單方便)。

Virtual Serial Port Driver程式截圖 Alt text

串列埠除錯助手程式截圖 Alt text

0x01 串列埠資料抓取


安裝完SerialMonitor後,開啟程式選擇Session——>new Session後會跳出配置,框這裡選擇增加的com口和Select all後,點選Start monitoring。

Alt text

這個時候就開啟了監聽com口了。接下來就是就是使用設定正常操作,從而抓取通訊的資料內容。這裡拿一次SS628M10晶片的身份證讀卡器的資料來做演示。

抓取的資料如圖 Alt text

這裡我們主要看Dump view視窗。從視窗資料我們可以看見開啟埠然後使用的程式會向裝置傳送一段請求碼,然後會返回多次資料,對於抓取一次完整的通訊要從com口開啟到com口關閉,暫時遇到一直通訊的是GPS模組,其它都是通訊結束就會關閉。

到此通訊資料抓取完畢。

0x02 模擬串列埠資料通訊


先說一下模擬串列埠通訊的原因,由於使用串列埠通訊裝置的程式在通訊時是搜尋本機還有的com然後開啟未被佔用的最小的com口進行通訊,於是我們就可以建立一個虛擬的串列埠對,在然後使用數值比較小的串列埠號這樣就可以替代裝置進行通訊。這裡要使用串列埠對,要不然的話你傳送資料沒有回覆,串列埠對相當於一條資料線在裝置程式和虛擬串列埠程式間連線。

使用虛擬串列埠程式建立虛擬串列埠對如圖 Alt text

建立完串列埠後,按照上面分析裝置使用程式會開啟COM1進行通訊。這樣程式把資料發給COM1,透過串列埠對,資料會傳送給COM2從而讀出,這時只要對COM2口進行串列埠程式設計就可以模擬資料通訊了。

PS:這裡要說下大多程式都可以使用這種方法進行模擬通訊,不過在利用ActiveX控制元件的web頁面呼叫時會出現識別不出串列埠的問題,這裡要插一條相同晶片的資料線即可。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章