mirror of
https://github.com/e-m-b-a/emba.git
synced 2026-10-12 02:13:21 +00:00
117 lines
4.0 KiB
Bash
Executable File
117 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# EMBA - EMBEDDED LINUX ANALYZER
|
|
#
|
|
# Copyright 2020-2026 Siemens Energy AG
|
|
# Copyright 2020-2023 Siemens AG
|
|
#
|
|
# EMBA comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
|
|
# welcome to redistribute it under the terms of the GNU General Public License.
|
|
# See LICENSE file for usage of this software.
|
|
#
|
|
# EMBA is licensed under GPLv3
|
|
#
|
|
# Author(s): Michael Messner, Pascal Eckmann
|
|
|
|
# Description: Installs live testing tools - used for full system emulation
|
|
|
|
IL15_emulated_checks_init() {
|
|
module_title "${FUNCNAME[0]}"
|
|
|
|
if [[ "${LIST_DEP}" -eq 1 ]] || [[ "${IN_DOCKER}" -eq 1 ]] || [[ "${DOCKER_SETUP}" -eq 0 ]] || [[ "${FULL}" -eq 1 ]]; then
|
|
INSTALL_APP_LIST=()
|
|
cd "${HOME_PATH}" || (echo "Could not install EMBA component system emulator" && exit 1)
|
|
print_git_info "testssl" "EMBA-support-repos/testssl.sh.git" "TestSSL.sh"
|
|
print_git_info "Nikto" "sullo/nikto" "external/nikto"
|
|
|
|
print_tool_info "bind9-dnsutils" 1
|
|
print_tool_info "nmap" 1
|
|
print_tool_info "snmp" 1
|
|
# nikto is somehow complicated with our read only container -> we install it manually
|
|
# print_tool_info "nikto" 1
|
|
# tools only available on Kali Linux:
|
|
if [[ "${OTHER_OS}" -eq 0 ]] && [[ "${UBUNTU_OS}" -eq 0 ]]; then
|
|
print_tool_info "snmpcheck" 1
|
|
else
|
|
echo -e "${RED}""${BOLD}""Not installing snmpcheck. Your EMBA installation will be incomplete""${NC}"
|
|
fi
|
|
print_tool_info "python3-pip" 1
|
|
# mini UPnP client
|
|
print_tool_info "miniupnpc" 1
|
|
# print_tool_info "cutycapt" 1
|
|
|
|
# needed for cutycapt
|
|
# print_tool_info "xvfb" 1
|
|
# print_tool_info "libqt5webkit5" 1
|
|
# print_tool_info "xfonts-100dpi" 1
|
|
# print_tool_info "xfonts-75dpi" 1
|
|
# print_tool_info "xfonts-cyrillic" 1
|
|
# print_tool_info "xorg" 1
|
|
# print_tool_info "dbus-x11" 1
|
|
# print_tool_info "g++" 1
|
|
# needed for cutycapt
|
|
#
|
|
# future extension
|
|
print_tool_info "libxslt1-dev"
|
|
print_tool_info "libxml2-dev"
|
|
# currently upnpclient failes during installing lxml:
|
|
# ERROR: Failed building wheel for lxml -> see also https://github.com/flyte/upnpclient/pull/44/files
|
|
# pip3 install lxml==5.3.1
|
|
# pip3 install upnpclient --no-dependencies lxml
|
|
print_pip_info "lxml" "5.3.1"
|
|
print_pip_info "upnpclient"
|
|
print_pip_info "dateutils"
|
|
print_pip_info "beautifulsoup4"
|
|
|
|
# chromium headless shell
|
|
print_tool_info "libnss3"
|
|
print_tool_info "libatk1.0-0t64"
|
|
print_tool_info "libatk-bridge2.0-dev"
|
|
print_tool_info "libxkbcommon0"
|
|
print_tool_info "libxdamage1"
|
|
print_tool_info "libasound2t64"
|
|
print_tool_info "npm"
|
|
|
|
# nikto
|
|
print_tool_info "libjson-perl"
|
|
print_tool_info "libxml-writer-perl"
|
|
print_tool_info "libnet-ssleay-perl"
|
|
|
|
if [[ "${LIST_DEP}" -eq 1 ]] || [[ "${DOCKER_SETUP}" -eq 1 ]]; then
|
|
ANSWER=("n")
|
|
else
|
|
echo -e "\\n""${MAGENTA}""${BOLD}""The live testing dependencies (if not already on the system) will be downloaded and installed!""${NC}"
|
|
ANSWER=("y")
|
|
fi
|
|
|
|
case ${ANSWER:0:1} in
|
|
y | Y)
|
|
|
|
apt-get install "${INSTALL_APP_LIST[@]}" -y --no-install-recommends
|
|
|
|
if ! [[ -d external/testssl.sh ]]; then
|
|
git clone --depth 1 https://github.com/EMBA-support-repos/testssl.sh.git external/testssl.sh
|
|
fi
|
|
|
|
if ! [[ -d external/nikto ]]; then
|
|
git clone https://github.com/sullo/nikto.git external/nikto
|
|
fi
|
|
|
|
# chrome-headless-shell
|
|
cd ./external || (echo "Could not install EMBA component chrome-headless-shell" && exit 1)
|
|
npx -y @puppeteer/browsers install chrome-headless-shell@stable
|
|
cd "${HOME_PATH}" || (echo "Could not install EMBA component chrome-headless-shell@stable" && exit 1)
|
|
|
|
# EMBAbite fuzzer used this:
|
|
# pip_install "lxml==5.3.1"
|
|
# pip_install helper function does not support further parameters
|
|
# Todo: fix this
|
|
pip_install "dateutils"
|
|
pip_install "ifaddr"
|
|
# pip3 install "upnpclient" --no-dependencies lxml
|
|
pip_install "upnpclient"
|
|
;;
|
|
esac
|
|
fi
|
|
}
|