It helps to identify and focus on the interesting areas of a huge firmware image.
Although Emba is optimized for offline firmware images, it can test both, live systems and extracted images.
Additionally, it can also analyze kernel configurations. Emba is designed to assist a penetration tester.
It is not designed as a standalone tool without human interaction.
Emba is designed to give as much information as possible about the firmware.
The tester can decide on the areas to focus on and is always responsible for verifying and interpreting the results.
Before starting, check that all dependencies are met and use the installer.sh script:
./emba.sh -d or ./emba.sh -d -F
-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
-E Enable automated qemu emulation tests (WARNING this module could harm your host!)
-D Run emba in docker container
-i Ignore log path check
-d Only check dependencies
-F Check dependencies but ignore errors
-k [./config] Kernel config path
-s Print only relative paths
-z Add ANSI color codes to log
-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)
-h Print this help message
Emba run it as if you were testing static firmware, but with / as firmware path:
sudo ./emba.sh -l ./logs/local_test -f /
-A [ARCH]if you don't want to use auto-detection for architecture
Test only a kernel configuration with the kernel checker of checksec:
sudo ./emba.sh -l ./logs/kernel_conf -k ./kernel.config
If you add -f ./firmware/x86_firmware/, it will ignore -k and search for a kernel config inside the firmware points to be noted while using:
Download Tool: https://github.com/e-m-b-a/emba
The recent pandemic was unexpected and unknown to most part of the world. It has changed our life and we are slowly adapting to our new lifestyle. The risks associated with the new lifestyle, both personal & corporate, are unknown to most of us.Read Details