分析工具
1. binwalk
binwalk是一個(gè)文件的分析工具,旨在協(xié)助研究人員對(duì)文件進(jìn)行分析,提取及逆向工程。簡(jiǎn)單易用,完全自動(dòng)化腳本,并通過(guò)自定義簽名,提取規(guī)則和插件模塊,還重要一點(diǎn)的是可以輕松地?cái)U(kuò)展。支持python 擴(kuò)展, 支持插件擴(kuò)展,支持文件提取,速度快
優(yōu)點(diǎn)
- 多系統(tǒng)平臺(tái)支持
- 擴(kuò)展性強(qiáng)
缺點(diǎn)
Windows 支持弱
支持系統(tǒng)
- Linux
- OSX
- FreeBSD
- windows
參考
https://github.com/devttys0/binwalk/wiki
http://www.freebuf.com/sectool/15266.html
2. Firmwalker
在固件文件系統(tǒng)中進(jìn)行搜索和提取敏感內(nèi)容
優(yōu)點(diǎn)
- 在固件文件中遍歷,查找敏感內(nèi)容, 可擴(kuò)展,支持多種文件格式
缺點(diǎn)
- 功能單一
參考
https://github.com/misterch0c/firmwalker
3.Firmware Modification Kit
該項(xiàng)目包含一組腳本和工具用來(lái)提取和重新構(gòu)建基于 Linux 的固件。
優(yōu)點(diǎn)
-對(duì)固件進(jìn)行提取, 修改 , 重建
參考
https://code.google.com/archive/p/firmware-mod-kit/wikis/Documentation.wiki
4. angr
angr是一個(gè)多架構(gòu)的二進(jìn)制分析平臺(tái),具備對(duì)二進(jìn)制文件的動(dòng)態(tài)符號(hào)執(zhí)行能力(例如Mayhem,KLEE等)和多種靜態(tài)分析能力。
- 裝載二進(jìn)制文件到到分析平臺(tái)
- 轉(zhuǎn)換二進(jìn)制文件為中間語(yǔ)言(intermediate representation)(IR)
- 轉(zhuǎn)換IR為語(yǔ)義描述(即它做什么而不是它是什么)
- 部分或者全部的靜態(tài)分析(即依賴分析,程序分片)
- 對(duì)程序狀態(tài)空間的符號(hào)探索(比如“我們能否一直執(zhí)行它直到我們找到了一個(gè)溢出?”)
- 對(duì)上述的情況的一些混合(比如“讓我們執(zhí)行一部分可導(dǎo)致內(nèi)存寫的內(nèi)存切片,來(lái)發(fā)現(xiàn)一個(gè)溢出”)
優(yōu)點(diǎn)
- 裝載二進(jìn)制 轉(zhuǎn)換二進(jìn)制文件 轉(zhuǎn)換為語(yǔ)義描述
- 執(zhí)行深入靜態(tài)分析(依賴分析 程序分片)
- 動(dòng)態(tài)分析 對(duì)程序狀態(tài)進(jìn)行探索
- 可以進(jìn)行動(dòng)態(tài)靜態(tài)混合分析 執(zhí)行部分程序分片的能力
參考
https://github.com/a7vinx/angr-doc-zh_CN/blob/master/docs/overview.md
5. The Binary Analysis Tool
二進(jìn)制分析工具(BAT)使得查看二進(jìn)制代碼,查找合規(guī)性問(wèn)題以及在部署免費(fèi)和開(kāi)源軟件時(shí)減少不確定性變得更加便宜和便宜。它是一個(gè)模塊化框架,通過(guò)使用版權(quán)所有者采用相同類型的方法來(lái)發(fā)現(xiàn)消費(fèi)電子產(chǎn)品中的問(wèn)題,從而協(xié)助遵守和盡職調(diào)查活動(dòng)。BAT可以在Apache許可證下免費(fèi)使用,以便每個(gè)人都可以使用,學(xué)習(xí),分享和改進(jìn)它。
BAT可以打開(kāi)超過(guò)30種類型的壓縮文件,文件系統(tǒng)和媒體文件,搜索Linux內(nèi)核和BusyBox問(wèn)題,識(shí)別動(dòng)態(tài)鏈接庫(kù)并使用從源代碼提取的信息的數(shù)據(jù)庫(kù)掃描任意ELF,Android Dalvik和Java類文件找出什么軟件在里面
優(yōu)點(diǎn)
-可以打開(kāi)超過(guò)30個(gè)類型的壓縮文件,文件系統(tǒng), 媒體文件
- 檢索內(nèi)核問(wèn)題 識(shí)別動(dòng)態(tài)鏈接庫(kù)
- 在不進(jìn)行逆行工程的情況下 進(jìn)行二進(jìn)制分析
- 可自定義知識(shí)庫(kù) 提高掃描效率
參考
http://www.binaryanalysis.org/en/home
6. Firmadyne
Firmadyne是一款自動(dòng)化分析嵌入式Linux系統(tǒng)安全的開(kāi)源軟件,由卡內(nèi)基梅隆大學(xué)的Daming D. Chen開(kāi)發(fā)完成的。它支持批量檢測(cè),整個(gè)系統(tǒng)包括固件的爬取、root文件系統(tǒng)的提取、QEMU模擬執(zhí)行以及漏洞的挖掘
優(yōu)點(diǎn)
- 批量檢測(cè)
- 支持多固件模擬 并進(jìn)行修改
- 可使用腳本進(jìn)行自動(dòng)化分析
參考
https://github.com/firmadyne/firmadyne
7. Damn Vulnerable Router Firmware
這個(gè)項(xiàng)目的目的是來(lái)幫助人們學(xué)習(xí)X86_64之外其他架構(gòu)環(huán)境,同時(shí)還幫助人們探索路由器固件里面的奧秘
優(yōu)點(diǎn)
可以對(duì)非x86_64的cpu體系架構(gòu)進(jìn)行分析
缺點(diǎn)
路由器固件 可定制能力低
參考
https://github.com/praetorian-inc/DVRF
設(shè)備的固件漏洞:
- 過(guò)期的核心組件
- 不支持的核心組件
- 使用過(guò)期的或自簽名的證書(shū)
- 在多個(gè)設(shè)備上使用相同的證書(shū)
- Admin的Web接口
- 使用硬編碼或容易猜測(cè)是認(rèn)證憑據(jù)
- 敏感信息泄露
- 敏感URL泄露
- 加密密鑰曝光
- 后門賬戶
- 有漏洞的服務(wù)(web,ssh,ftp,tftp等)
工控漏洞
- 內(nèi)存溢出區(qū)內(nèi)的操作不正確的限制
- 不正確的輸入驗(yàn)證
- 限制目錄路徑名的不正確規(guī)則
- 權(quán)限和訪問(wèn)控制
- 信息曝光
- 憑證管理
- 驗(yàn)證不正確
- 資源管理錯(cuò)誤
- 頁(yè)面生成過(guò)程中的不正確(跨站腳本)
- 數(shù)字錯(cuò)誤