Skip to content

Commit

Permalink
Merge pull request #931 from 413x8/Pre_Templates
Browse files Browse the repository at this point in the history
Pre templates
  • Loading branch information
m-1-k-3 committed Dec 4, 2023
2 parents 13cb05b + 3c62a10 commit 14c960f
Show file tree
Hide file tree
Showing 92 changed files with 191 additions and 56 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/D05_firmware_diffing_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/D10_firmware_diffing-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/F05_qs_resolver-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The resolver module integrates OpenAIs GPT into EMBA reports."
2 changes: 1 addition & 1 deletion config/report_templates/F10_license_summary-post.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "EMBA was able to identify the shown software components with ${ORANGE}license details${NC}. These details should be checked for license violations."
print_output "EMBA was able to identify the shown software components with ${ORANGE}license details${NC}. These details should be checked for license violations."
2 changes: 1 addition & 1 deletion config/report_templates/F10_license_summary-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

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."
print_output "This module collects license details."
2 changes: 1 addition & 1 deletion config/report_templates/F20_vul_aggregator-pre.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

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."
print_output "Additionally the identified CVE details are matched with public exploit databases."
print_output "Additionally, the identified CVE details are matched with public exploit databases."
3 changes: 3 additions & 0 deletions config/report_templates/F21_cyclonedx_sbom-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The CycloneDX SBOM module generates a Software Bill of Materials (SBOM) in JSON format by processing vulnerability data through CycloneDX."
3 changes: 3 additions & 0 deletions config/report_templates/F50_base_aggregator-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
2 changes: 1 addition & 1 deletion config/report_templates/L10_system_emulation-pre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

print_output "This module builds and emulates Linux firmware - this module is based on the great work of firmadyne"
print_output "Check out the original firmadyne project at https://github.com/firmadyne"
print_output "${MAGENTA}Warning:${NC} This module changes your network configuration and it could happen that your system looses network connectivity."
print_output "${MAGENTA}Warning:${NC} This module changes your network configuration and it could happen that your system looses network connectivity."
3 changes: 3 additions & 0 deletions config/report_templates/L15_emulated_checks_nmap-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The Nmap tester module evaluates Nmap scans on the emulated firmware."
3 changes: 3 additions & 0 deletions config/report_templates/L20_snmp_checks-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/L22_upnp_hnap_ckecks-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The UPnP and HNAP module conducts live tests on UPnP, HNAP and JNAP services, using upncp and curl."
3 changes: 3 additions & 0 deletions config/report_templates/L23_vnc_checks-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/L25_web_checks-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/L30_routersploit-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/L35_metasploit_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/P02_firmware_bin_file_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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"
2 changes: 1 addition & 1 deletion config/report_templates/P05_patools_init-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module extracts zip, tar, tgz firmware images with patool."
print_output "The patools module extracts zip, tar and tgz firmware images with patool."
3 changes: 3 additions & 0 deletions config/report_templates/P10_vmdk_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
12 changes: 0 additions & 12 deletions config/report_templates/P11_dlink_SHRS_enc_extract-post.sh

This file was deleted.

2 changes: 1 addition & 1 deletion config/report_templates/P14_ext_mounter-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module mounts and extracts ext2/3 images (currently binwalk destroys the permissions and the symlinks)."
print_output "The ext mounter module mounts and extracts ext2/3 images (currently binwalk destroys the permissions and the symlinks)."
2 changes: 1 addition & 1 deletion config/report_templates/P15_ubi_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module extracts UBI filesystems via ubireader_extract_images and ubireader_extract_files."
print_output "The ubi extractor module extracts UBI filesystems via ubireader_extract_images and ubireader_extract_files."
5 changes: 0 additions & 5 deletions config/report_templates/P16_EnGenius_decryptor-post.sh

This file was deleted.

2 changes: 1 addition & 1 deletion config/report_templates/P17_gpg_decompress-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "Extracts gpg compressed (not encrypted) firmware images. This technique is used by multiple Linksys/Belkin firmware images"
print_output "Extracts gpg compressed (not encrypted) firmware images. This technique is used by multiple Linksys/Belkin firmware images"
3 changes: 3 additions & 0 deletions config/report_templates/P18_BMC_decryptor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The BMC decyptor module decrypts and extracts firmware from BMC images."
5 changes: 0 additions & 5 deletions config/report_templates/P18_qnap_decryptor-post.sh

This file was deleted.

3 changes: 3 additions & 0 deletions config/report_templates/P19_bsd_ufs_mounter-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/P20_foscam_decryptor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The Foscam extraction module is designed to decrypt Foscam encrypted firmware files, extracting their contents and handling UBI filesytems if present."
3 changes: 3 additions & 0 deletions config/report_templates/P21_buffalo_decryptor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/P22_Zyxel_zip_decrypt-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/P23_qemu_qcow_mounter-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The QCOW2 extraction module extracts the firmware."
3 changes: 3 additions & 0 deletions config/report_templates/P25_android_ota-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The Android OTA extraction module extracts data from Android OTA payload.bin files using the external/payload_dumper/payload_dumper.py script."
3 changes: 3 additions & 0 deletions config/report_templates/P35_UEFI_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/P55_unblob_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
2 changes: 1 addition & 1 deletion config/report_templates/P60_deep_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

print_output "This module extracts firmware with all available extractors and checks if a root filesystem can be found."
print_output "As last resort EMBA will try to extract every available file multiple times."
print_output "As last resort EMBA will try to extract every available file multiple times."
3 changes: 3 additions & 0 deletions config/report_templates/P61_binwalk_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/P65_package_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The extraction module extracts package archives (DEB, IPK, APK) from firmware files and provides details about the extracted files and binaries."
3 changes: 3 additions & 0 deletions config/report_templates/P99_prepare_analyzer-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The analyzer preparation module performs essential checks and preparations to ensure successful firmware analysis."
3 changes: 3 additions & 0 deletions config/report_templates/Q02_openai_question-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The OpenAI module facilitates AI-assisted analysis by leveraging OpenAIs ChatGPT as a second opinion on different static firmware analysis tasks."
3 changes: 3 additions & 0 deletions config/report_templates/S02_UEFI_FwHunt-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The UEFI_FwHunt module is designed for detecting and addressing UEFI firmware vulnerabilites and providing comprehensive analysis."
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module tries to identify the used operating system via simple counting of different keywords and doing some basic heuristics."
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."
3 changes: 3 additions & 0 deletions config/report_templates/S05_firmware_details-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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 number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module tries to identify the main Linux system (e.g. Kali Linux, Debian, Fedora, ...)"
print_output "The distribution identification module tries to identify the main Linux system (e.g. Kali Linux, Debian, Fedora, ...)"
3 changes: 3 additions & 0 deletions config/report_templates/S07_bootloader_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The Bootloader check module performs checks to identify the bootloader and system startup configuration."
3 changes: 3 additions & 0 deletions config/report_templates/S08_package_mgmt_extractor-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The package mgmt extractor module extracts package information from Debian, OpenWRT and RPM packaging systems, including package names and versions."
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

print_output "This module extracts version and license details from the firmware files."
print_output "On Linux based systems all binaries are analysed for version details."
print_output "On Non Linux systems all files are analysed for version details."
print_output "On Non Linux systems all files are analysed for version details."
3 changes: 3 additions & 0 deletions config/report_templates/S100_command_inj_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/S106_deep_key_search-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The deep key searching module searches for specific patterns in files, allowing the detection of potentially significant key material."
3 changes: 3 additions & 0 deletions config/report_templates/S107_deep_password_search-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The deep password searching module performs an analysis of files to locate password hash values."
3 changes: 3 additions & 0 deletions config/report_templates/S108_stacs_password_search-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The STACS password searching module utilizes STACS analysis to examine firmware for password hash values."
3 changes: 3 additions & 0 deletions config/report_templates/S109_jtr_local_pw_cracking-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The jtr local password cracking module cracks password hashes found in firmware using John the Ripper."
2 changes: 1 addition & 1 deletion config/report_templates/S10_binaries_basic_check-pre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

print_output "This module identifies the usage of critical binary functions in firmware via ${ORANGE}readelf${NC}."
print_output "Examples of binary functions are system, strcpy, printf and strcat. These functions are listed in the configuration"
print_output "file config/functions.cfg."
print_output "file config/functions.cfg."
3 changes: 3 additions & 0 deletions config/report_templates/S110_yara_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The YARA checking module checks for code patterns in firmware using YARA rules."
3 changes: 3 additions & 0 deletions config/report_templates/S115_usermode_emulator-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The usermode emulator module emulates exectuables from the firmware with Qemu to get version information."
2 changes: 1 addition & 1 deletion config/report_templates/S116_qemu_version_detection-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module extracts version and license details from the results of the user-mode emulation module (s115)."
print_output "This module extracts version and license details from the results of the user-mode emulation module (s115)."
3 changes: 3 additions & 0 deletions config/report_templates/S120_cwe_checker-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The CWE checker module checks binaries for security weaknesses using cwe-checker."
2 changes: 1 addition & 1 deletion config/report_templates/S12_binary_protection-pre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
print_output "Modern Linux distributions offer different mitigation techniques to make it harder to exploit software vulnerabilities reliably."
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."
print_output "Source: https://www.trapkit.de/tools/checksec/"
print_output "RELRO: https://www.trapkit.de/articles/relro/"
print_output "RELRO: https://www.trapkit.de/articles/relro/"
2 changes: 1 addition & 1 deletion config/report_templates/S13_weak_func_check-pre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ print_output "This module identifies the usage of critical binary functions in f
print_output "Examples of binary functions are system, strcpy, printf and strcat. These functions are configured in the configuration"
print_output "file config/functions.cfg. The module counts the usages per binary. For strcpy functions it also counts strlen functions"
print_output "right before the strcpy function. Additionally it checks if the binary is a known Linux binary or unknown and probably"
print_output "a vendor binary."
print_output "a vendor binary."
2 changes: 1 addition & 1 deletion config/report_templates/S14_weak_func_radare_check-pre.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ print_output "This module identifies the usage of critical binary functions in f
print_output "Examples of binary functions are system, strcpy, printf and strcat. These functions are configured in the configuration"
print_output "file config/functions.cfg. The module counts the usages per binary. For strcpy functions it also counts strlen functions"
print_output "right before the strcpy function. Additionally it checks if the binary is a known Linux binary or unknown and probably"
print_output "a vendor binary."
print_output "a vendor binary."
3 changes: 3 additions & 0 deletions config/report_templates/S15_radare_decompile_checks-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The Radare decompile checker module performs analysis of binary files and decompiles them to identify vulnerable functions."
3 changes: 3 additions & 0 deletions config/report_templates/S17_apk_ckeck-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The APK checking module performs comprehensive checks and analysis on Android APK files."
2 changes: 1 addition & 1 deletion config/report_templates/S20_shell_check-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

print_output "This module tries to identify shell scripts and analyses them with shellcheck - https://www.shellcheck.net/."
print_output "This module tries to identify shell scripts and analyses them with shellcheck - https://www.shellcheck.net/."
3 changes: 3 additions & 0 deletions config/report_templates/S21_python_check.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/S22_php_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

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."
3 changes: 3 additions & 0 deletions config/report_templates/S23_lua_check-pre.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

print_output "The Lua check module conducts security and coding checks on Lua scripts."
2 changes: 1 addition & 1 deletion config/report_templates/S24_kernel_bin_identifier-pre.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

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

0 comments on commit 14c960f

Please sign in to comment.