您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么使用Emba對基于Linux的嵌入式設備固件進行分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Emba是一款針對基于Linux的嵌入式設備固件的分析工具,本質上來說,Emba是一款固件掃描器,可以幫助廣大研究人員分析基于Linux的已提取出來的固件鏡像。在該工具的幫助下,我們可以輕松識別并分析大體積固件鏡像中有意思的部分。雖然Emba支持離線固件鏡像,但它可以同時對實時系統或已提取鏡像進行分析。除此之外,Emba還可以分析內核配置,其主要功能其實也是為滲透測試人員所設計的。該工具需要研究人員與之交互,并且能夠 盡可能多地給研究人員提供關于目標固件的任何信息。測試人員可以自行決定需要重點關注的鏡像區域,并對分析結果進行解釋和驗證。
readelf find grep modinfo realpath sed cut sort basename strings bc netstat 可選: tree 可選: shellcheck 可選: docker 可選: docker-compose 可選: yara 可選: qemu 可選: binwalk 可選: cve-search 可選: cve-searchsploit
如需檢測這些依賴組件,可運行下列命令:
sudo ./emba.sh -d
如需安裝所有的依賴組件,可以運行下列命令:
sudo ./installer.sh
在開始之前,我們需要檢測主機是否已經安裝并配置好了Emba運行所需的全部依賴組件,并使用installer.sh腳本進行安裝。
首先,我們需要使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/e-m-b-a/emba.git
接下來,運行安裝腳本:
sudo ./installer.sh
安裝好之后,我們就可以使用下列命令來運行Emba了:
sudo ./emba.sh
Test firmware / live system -a [MIPS] Architecture of the linux firmware [MIPS, ARM, x86, x64, PPC] -A [MIPS] Force Architecture of the linux firmware [MIPS, ARM, x86, x64, PPC] (disable architecture check) -l [./path] Log path -f [./path] Firmware path -e [./path] Exclude paths from testing (multiple usage possible) -m [MODULE_NO.] Test only with set modules [e.g. -m p05 -m s10 ... ]] (multiple usage possible, case insensitive, final modules aren't selectable, if firmware isn't a binary, the p modules won't run) -c Enable cwe-checker -g Create grep-able log file in [log_path]/fw_grep.log Schematic: MESSAGE_TYPE;MODULE_NUMBER;SUB_MODULE_NUMBER;MESSAGE -E Enable automated qemu emulation tests (WARNING this module could harm your host!) -D Run emba in docker container -i Ignore log path check Dependency check -d Only check dependencies -F Check dependencies but ignore errors Special tests -k [./config] Kernel config path Modify output -s Print only relative paths -z Add ANSI color codes to log Firmware details -X [version] Firmware version (double quote your input) -Y [vendor] Firmware vendor (double quote your input) -Z [device] Device (double quote your input) -N [notes] Testing notes (double quote your input) Help -h Print this help message
工具還提供了一個簡單的Docker-Compose安裝來幫助我們在一個Docker容器中運行Emba。接下來,我們需要按照下列方式在Docker中手動運行Docker。
構建:
docker-compose build emba
運行:
sudo ./emba.sh -l ./logs/path_log -f ./firmware/path_firmware/ -D
運行交互式Docker容器:
FIRMWARE=/absolute/path/to/firmware LOG=/home/n/firmware_log/ docker-compose run emba
我們還可以使用-D選項切換Emba的Docker模式:
sudo ./emba.sh -z -s -l ./logs_docker_test1 -f /home/m1k3/git-repos/testimages/testimages/testimages/MIPS_router -E -D
從上傳文件或閃存中使用binwalk提取固件;
使用下列命令執行Emba:
sudo ./emba.sh -l ./logs/arm_test -f ./firmware/arm_firmware/
sudo ./emba.sh -l ./logs/kernel_conf -k ./kernel.config
本項目的開發與發布遵循GPL v3.0開源許可證協議。
“怎么使用Emba對基于Linux的嵌入式設備固件進行分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。