淺談IOT裝置分析

淺談IOT裝置分析

0×01:前言

pwn的學習有一段時間了,今天來看看IOT的一些知識。此篇文章會介紹IOT相關的基礎知識,韌體的概念以及IOT裝置的檔案系統,如何利用工具分析IOT裝置。

0×02:正文

1)物聯網裝置層次模型看網路風險

物理感知層(韌體提取)

通訊層

管理控制層

淺談IOT裝置分析

2)攻擊者角度看IOT資訊收集

埠掃描

流量抓取、分析(外部嗅探、內部除錯)

功能點評估

埠掃描中,我們可以注意一些私有協議,來進行分析。

所需技能

二進位制逆向分析

滲透測試

硬體焊接

工具:IDA/Ghidra

流量分析:wireshark

韌體分析攻擊:binwalk/qemu

韌體概念

我們可以把他簡單理解為作業系統。

韌體的組成

Bootloader: 最開始執行的軟體,初始化硬體裝置,建立記憶體空間對映圖,調節嵌入式的軟硬體。

核心:作業系統最基本的部分。

根檔案系統:核心啟動時所mount的第一個檔案系統,核心程式碼映像檔案儲存在根檔案系統中。

嵌入式韌體使用的系統大部分為linux系統,存在的目錄:

/bin目錄

目錄下的命令在掛接其他檔案系統之前就可以使用,所以/bin目錄必須與根檔案系統在一個分割槽中。

/dev目錄

裝置與裝置介面的檔案,裝置檔案是linux中特有的檔案型別。

/etc目錄

系統主要的配置檔案。root許可權才有修改許可權。

/lib

共享庫和驅動程式,共享庫用於啟動系統。 執行根檔案系統中的可執行程式。

/var

/var目錄中存放可變的資料,比如spool目錄(mail,news),log檔案,臨時檔案。

/proc

空目錄,常作為proc檔案系統的掛接點,proc檔案系統是個虛擬的檔案系統。

韌體提取

binwalk提取韌體

binwalk可以掃描許多不同嵌入式檔案型別和檔案系統的韌體映像,只需給他一個要掃描的Binkwalk +檔案 -e 對此檔案進行分離。

淺談IOT裝置分析

提取出的內容會存放在。extracted檔案裡,其中squashfs-root就是我們想要的該韌體的檔案系統。

進入分離出來的韌體系統

淺談IOT裝置分析

淺談IOT裝置分析

Squashfs檔案系統簡介:

squashfs可以將整個檔案系統或者某個單一的目錄壓縮在一起, 存放在某個裝置, 某個分割槽或者普通的檔案中。

沒有binwalk情況下提取韌體:

1。利用hexdump 搜尋hsqs的地址

淺談IOT裝置分析

淺談IOT裝置分析

2。利用dd命令擷取地址之後的資料,儲存到新檔案中

淺談IOT裝置分析

淺談IOT裝置分析

不識別16進位制,因此我們轉換為10進位制

淺談IOT裝置分析

3。最後,使用unsquashfs rt-n300-fs命令解析rt-n300-fs檔案,得到的squashfs-root就是韌體系統

淺談IOT裝置分析

淺談IOT裝置分析

此種方法與binwalk提取韌體的結果是相同的。

靜態分析IOT的韌體

拿到一個韌體壓縮包,解壓之後發現了很多YAFFS2檔案

淺談IOT裝置分析

我們利用binwalk對其進行分離

或者這裡再介紹一個工具unyaffs

淺談IOT裝置分析

然後檢視分離出來的檔案

淺談IOT裝置分析

利用find命令檢視 。conf配置檔案

find 。 -name ‘*。conf’

淺談IOT裝置分析

在/etc/inadyn-mt。conf下找到了賬號密碼

淺談IOT裝置分析

然後又看看/etc/shadow發現了root賬號和密碼

淺談IOT裝置分析

檢視程序,這裡有一個程式

淺談IOT裝置分析

用IDA開啟

淺談IOT裝置分析

只要連線該韌體的39889埠併發送HELODBG的字串,就可以進行RCE。

0×03:總結

最近研究了IOT中韌體的提取以及如何靜態分析韌體,IOT的前期準備工作並不太難,在學習路程中發現需要的各方面機能很多,流量分析、電子取證、彙編與反彙編等技能也都是必不可少的,所以要廣學知識,提升自己的技能。