D-Link DI-704P firmware 分析
1.前言:
剛看到會員gjden發表的分析文章,讓我也想跟大家分享一下在今年初做的一些分析,由於實力不夠有很多都是野人獻曝,還請各位大神多多包涵、指點 謝謝
目地:了解firmware結構 找尋hardcode
2.準備:
使用工具:binwalk
分析檔案:DI-704P firmware (可從D-Link官網下載)
3.firmware 分析:
對firmware執行binwalk command
什麼?? 竟然是一堆gif檔 (說好的Squashfs文件系統呢?)
那主動提取文件看看會跑出什麼 (binwalk -e)
檔建立一個_firmware.bin.extracted資料夾
裡面有兩個html header的文建
由於我對於這種文建檔真的不了解該如何下手 所以就當它是沒用的東西了(有請大神指點!!!)
說真的 當初分析進行的滿不順利的 不過我們不能放棄 讓我們來硬的好了
用hexdump 跟 strings 把 firmware 裡的 string, hex 抓出來觀察
不曉得大家有沒有對於address:0 所出現的DLA50引發興趣(傳說中的Magic Number!?)
那我們就針對DLA50進行觀察吧(加入R參數)
Yeah!! 線索對了 可以很明顯的了解每0x4020會出DLA50就是Magic Number!!
(終於有點分析的樣子了) 但4020到底意味著什麼呢?
我們往hexdump出來的文件來看看
看著hex檔案讓我想要猜測一些東西 紅色圈起來的是否為地址 而藍色全起來的是否為大小
為了確認我的猜測 我們來到0x4020
很明顯的紅色圈的數值變為40 00 而藍色依舊是 40 00 (要倒著看喔!!!)
我們再跳到0x8040做最後一次的確認吧
我的猜測沒錯 紅色圈的值變為80 00 而藍色依舊是40 00
下個小結論:Magic Number 每4020出現
4020 = header(20) + 檔案大小(4000)
我們的分析還沒結束 但打得滿累的 (突然覺得那些大人好厲害喔!!!)
接下來回到剛剛找出Magic Number的關鍵點 (Binwalk -R) 發現有些區間並不是4020這是否 又是另外的線索呢?
那我們就到0x28140去觀察吧!
恩.... 好像沒什麼特別的... 沒關係 我們再到下個地方觀察
來到0x286B5
!!!!!! 我好像看到有趣的東西了 那個.js啊 不就是文件嗎? (由於0x286B5跟0x286D7很近 所以才能一次觀察到)
再回到這張圖
可已知道0x286D7後又恢復0x4020的區格
來做個小結論:這裡可能是file system
最後binwalk -R的搜尋還有一個可疑點 一樣是不遵守4020區隔的點
跳到0x54837觀察
可以看到還有"javascript"的字串 是否意味者file system還沒有結束?
沒關係 我們再跳到0x56F60觀察
恩....... 沒什麼特別的 在跳到下個地方觀察吧 可惡!!! 既然這樣我們跳到hex去觀察
(0x56F60跟0x56F82又可以一起觀察)
奇怪!? 0x56f80下面的hex怎麼很多 ff !? 感覺事有蹊翹
那我們往下看看還會有什麼訊息呢?
"Li" 感覺很熟悉又很陌生!? 沒關係 讓我來幫你下個結論
4.總結:
Magic Number: DLA50
End of Magic Number: Li (一個區間結束時會讓Li出現在DLA50前已是區隔)
Separator: 22 bytes(不知道大家有沒有發現 其中會有兩個22bytes的Separator)
故firmware的結構可能如下:
0-0x286b5:Executable code (猜測可能是執行檔 但沒有具體證據)
0x286b5-0x286d7:separator (22 bytes)
0x286d7-0x56f60:File system (有很明顯的.js文件)
0x56f60-0x56f82:separator (22 bytes)
0x56f82-0x5bdc0:Possibly configuration area (hex 顯示出 "ff" 很可能是參數)
我想有人一定有疑問既然有0x4020大小做為區隔 那22bytes又算什麼呢?
想想一間學校分為三個年級 一年級、二年級、三年級的區別顯而易見如同那22 bytes, 而那0xx4020得大小限制就如同一年一班、一年二班 必須將性質相同的檔案放在一起 而資料類型天差地遠的則用22 bytes做區別 不知道這樣有沒有了解呢? 以上是我的firmware初略分析 謝謝!!!
有任何問題歡迎發問、也請多多指教補充 謝謝!!!
[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!