Skip to content

Commit 14c960f

Browse files
authored
Merge pull request e-m-b-a#931 from 413x8/Pre_Templates
Pre templates
2 parents 13cb05b + 3c62a10 commit 14c960f

File tree

92 files changed

+191
-56
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+191
-56
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The firmware diffing and information gathering module analyzes and compares two firmware binaries, calculating MD5 checksums, generating file details, creating entropy graphs and detecting binary components."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The firmware diffing extractor module is designed to extract, compare and analyze two firmware images, checking for their identity and providing detailed analyses and reports if they differ."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The firmware diffing module performs differential analysis between two firmware images, using tools like ssdeep and radare2 to identify, analyze and report differences in fields and functions within the firmware."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The resolver module integrates OpenAIs GPT into EMBA reports."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "EMBA was able to identify the shown software components with ${ORANGE}license details${NC}. These details should be checked for license violations."
3+
print_output "EMBA was able to identify the shown software components with ${ORANGE}license details${NC}. These details should be checked for license violations."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module collects license details and creates a details on the identified binaries, versions and the corresponding license (if available). The license details are maintained in the configuration file config/bin_version_strings.cfg."
3+
print_output "This module collects license details."
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/bash
22

33
print_output "This module aggregates all found version numbers together from S06, S08, S09, S24, S25 and S115 and searches with cve-search for known vulnerabilities."
4-
print_output "Additionally the identified CVE details are matched with public exploit databases."
4+
print_output "Additionally, the identified CVE details are matched with public exploit databases."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The CycloneDX SBOM module generates a Software Bill of Materials (SBOM) in JSON format by processing vulnerability data through CycloneDX."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The main aggregator module compiles and summarizes results from various analysis modules into a comprehensive overview by processing and logging detailed information from each identified element."

config/report_templates/L10_system_emulation-pre.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
print_output "This module builds and emulates Linux firmware - this module is based on the great work of firmadyne"
44
print_output "Check out the original firmadyne project at https://github.com/firmadyne"
5-
print_output "${MAGENTA}Warning:${NC} This module changes your network configuration and it could happen that your system looses network connectivity."
5+
print_output "${MAGENTA}Warning:${NC} This module changes your network configuration and it could happen that your system looses network connectivity."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Nmap tester module evaluates Nmap scans on the emulated firmware."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The SNMP checking module conducts SNMP checks on the emulated firmware, including searching for SNMP services, performing bacis SNMP checks and conducting vulnerability assessments if SNMP services are found."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The UPnP and HNAP module conducts live tests on UPnP, HNAP and JNAP services, using upncp and curl."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The VNC checking module is dedicated to perfoming live VNC tests on emulated firmware, which involves identifying open VNC ports, conducting basic VNC checks for service enumeration using nmap and probing for vulnerabilities through Metasploit-based VNC enumeration."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The web checking module conducts web testing, including SSL tests, web crawling and vulnerability scanning. It uses tools like Nikto, Archni and Testssl.sh to identify and analyze web services, generate screenshots and check for basic HTTP authentication. It also cross checks for the already discovered issues from PHP and Lua analysis."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Routersploit module conducts security tests on an emulated device using the Routersploit framework. Its designed to assess vulnerabilities in network devices, specifically targeting the devices router functionalities."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Metasploit module is designed to test the security of an emulated device using the Metasploit framework. It performs Metasploit checks by launching attacks against open ports on the device. It identifies vulnerabilitys and attempts to verify them via active exploitation in the emulated environment."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The firmware bin file check module conducts an analysis of binary firmware files, extracting key details like checksums and entropy, generating visual entropy graphs and identifying specific firmware types such as UEFI/BIOS, AVM or D-Link encrypted"
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module extracts zip, tar, tgz firmware images with patool."
3+
print_output "The patools module extracts zip, tar and tgz firmware images with patool."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The VMDK extractor module extracts contents from VMDK images by enumerating devices within the image, mounting each device and copying its contents to a designated extraction directory."

config/report_templates/P11_dlink_SHRS_enc_extract-post.sh

-12
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module mounts and extracts ext2/3 images (currently binwalk destroys the permissions and the symlinks)."
3+
print_output "The ext mounter module mounts and extracts ext2/3 images (currently binwalk destroys the permissions and the symlinks)."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module extracts UBI filesystems via ubireader_extract_images and ubireader_extract_files."
3+
print_output "The ubi extractor module extracts UBI filesystems via ubireader_extract_images and ubireader_extract_files."

config/report_templates/P16_EnGenius_decryptor-post.sh

-5
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "Extracts gpg compressed (not encrypted) firmware images. This technique is used by multiple Linksys/Belkin firmware images"
3+
print_output "Extracts gpg compressed (not encrypted) firmware images. This technique is used by multiple Linksys/Belkin firmware images"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The BMC decyptor module decrypts and extracts firmware from BMC images."

config/report_templates/P18_qnap_decryptor-post.sh

-5
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The BSD UFS filesystem mounter module extracts and analyzes BSD Unix File Systems formatted firmware files by mounting them read-only, copying their contents for further analysis and then cleaning up."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Foscam extraction module is designed to decrypt Foscam encrypted firmware files, extracting their contents and handling UBI filesytems if present."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Buffalo extraction module is designed for extracting Buffalo encrypted firmware files, removing an initial portion of the header and then decrypting the firmware contents, making them accessible for further analysis."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Zyxel extraction module is used to extract protected ZIP firmware files from Zyxel devices by identifying encryption keys for ELF executables and utilizing them for firmware extraction."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The QCOW2 extraction module extracts the firmware."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Android OTA extraction module extracts data from Android OTA payload.bin files using the external/payload_dumper/payload_dumper.py script."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The UEFI extractor module is responsible for analyzing and extracting data from UEFI firmware images, including NVARS, drivers, and architecture details, using the uefi-firmware-parser and UEFITool tools."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The unblob extraction module is the main extraction module and is responsible for analyzing binary firmware blobs using the unblob extractor, extracting firmware to a directory and performing basic Linux path identification within the extracted firmware."
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/bash
22

33
print_output "This module extracts firmware with all available extractors and checks if a root filesystem can be found."
4-
print_output "As last resort EMBA will try to extract every available file multiple times."
4+
print_output "As last resort EMBA will try to extract every available file multiple times."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Binwalk extraction module is designed to extract binary firmware components from firmware files using Binwalk tool, providing insights into the firmwares structure and contents."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The extraction module extracts package archives (DEB, IPK, APK) from firmware files and provides details about the extracted files and binaries."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The analyzer preparation module performs essential checks and preparations to ensure successful firmware analysis."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The OpenAI module facilitates AI-assisted analysis by leveraging OpenAIs ChatGPT as a second opinion on different static firmware analysis tasks."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The UEFI_FwHunt module is designed for detecting and addressing UEFI firmware vulnerabilites and providing comprehensive analysis."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module tries to identify the used operating system via simple counting of different keywords and doing some basic heuristics."
3+
print_output "The firmware bin base analyzer module tries to identify the used operating system via simple counting of different keywords and doing some basic heuristics."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The firmware details module is responsible for providing details about the firmware and testing information. It detects the number of files and directories present in the firmware, offers insights into release/version information and generates a filesystem tree to visualize the directory structure."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module tries to identify the main Linux system (e.g. Kali Linux, Debian, Fedora, ...)"
3+
print_output "The distribution identification module tries to identify the main Linux system (e.g. Kali Linux, Debian, Fedora, ...)"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Bootloader check module performs checks to identify the bootloader and system startup configuration."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The package mgmt extractor module extracts package information from Debian, OpenWRT and RPM packaging systems, including package names and versions."

config/report_templates/S09_firmware_base_version_check-pre.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
print_output "This module extracts version and license details from the firmware files."
44
print_output "On Linux based systems all binaries are analysed for version details."
5-
print_output "On Non Linux systems all files are analysed for version details."
5+
print_output "On Non Linux systems all files are analysed for version details."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The command injection module scans directories and files used for web scripts on a Linux system, checking for potential command injection vulnerabilities by searching for executable scripts and performing queries within these files. This module is in a very early state."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The deep key searching module searches for specific patterns in files, allowing the detection of potentially significant key material."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The deep password searching module performs an analysis of files to locate password hash values."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The STACS password searching module utilizes STACS analysis to examine firmware for password hash values."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The jtr local password cracking module cracks password hashes found in firmware using John the Ripper."

config/report_templates/S10_binaries_basic_check-pre.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
print_output "This module identifies the usage of critical binary functions in firmware via ${ORANGE}readelf${NC}."
44
print_output "Examples of binary functions are system, strcpy, printf and strcat. These functions are listed in the configuration"
5-
print_output "file config/functions.cfg."
5+
print_output "file config/functions.cfg."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The YARA checking module checks for code patterns in firmware using YARA rules."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The usermode emulator module emulates exectuables from the firmware with Qemu to get version information."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module extracts version and license details from the results of the user-mode emulation module (s115)."
3+
print_output "This module extracts version and license details from the results of the user-mode emulation module (s115)."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The CWE checker module checks binaries for security weaknesses using cwe-checker."

config/report_templates/S12_binary_protection-pre.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
print_output "Modern Linux distributions offer different mitigation techniques to make it harder to exploit software vulnerabilities reliably."
44
print_output "Mitigations such as RELRO, NoExecute (NX), Stack Canaries, Address Space Layout Randomization (ASLR) and Position Independent Executables (PIE) have made reliably exploiting any vulnerabilities that do exist far more challenging."
55
print_output "Source: https://www.trapkit.de/tools/checksec/"
6-
print_output "RELRO: https://www.trapkit.de/articles/relro/"
6+
print_output "RELRO: https://www.trapkit.de/articles/relro/"

config/report_templates/S13_weak_func_check-pre.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ print_output "This module identifies the usage of critical binary functions in f
44
print_output "Examples of binary functions are system, strcpy, printf and strcat. These functions are configured in the configuration"
55
print_output "file config/functions.cfg. The module counts the usages per binary. For strcpy functions it also counts strlen functions"
66
print_output "right before the strcpy function. Additionally it checks if the binary is a known Linux binary or unknown and probably"
7-
print_output "a vendor binary."
7+
print_output "a vendor binary."

config/report_templates/S14_weak_func_radare_check-pre.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ print_output "This module identifies the usage of critical binary functions in f
44
print_output "Examples of binary functions are system, strcpy, printf and strcat. These functions are configured in the configuration"
55
print_output "file config/functions.cfg. The module counts the usages per binary. For strcpy functions it also counts strlen functions"
66
print_output "right before the strcpy function. Additionally it checks if the binary is a known Linux binary or unknown and probably"
7-
print_output "a vendor binary."
7+
print_output "a vendor binary."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Radare decompile checker module performs analysis of binary files and decompiles them to identify vulnerable functions."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The APK checking module performs comprehensive checks and analysis on Android APK files."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module tries to identify shell scripts and analyses them with shellcheck - https://www.shellcheck.net/."
3+
print_output "This module tries to identify shell scripts and analyses them with shellcheck - https://www.shellcheck.net/."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Python checking module is designed to analyze Python scripts for security vulnerabilities, providing comprehensive logs and optional integration with ChatGPT for enhanced insights."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The PHP checker module performs securtiy checks on PHP scripts, identifies PHPinfo files with debugging information and assesses PHP config files for potential issues. Optional integration with ChatGPT."
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
print_output "The Lua check module conducts security and coding checks on Lua scripts."
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
print_output "This module tries to identify the Linux kernel version and the init command line."
3+
print_output "This module tries to identify the Linux kernel version and the init command line."

0 commit comments

Comments
 (0)