Skip to content
EG-ETCSPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

ESCS_VM (WireSploit)

Installer for a ready-to-use Ubuntu desktop VM aimed at firmware analysis, reverse engineering, serial/UART work, and hardware flashing/debug.

It configures the VM (hostname, theme, udev rules, hardware groups) and installs a curated toolset with categorized desktop shortcuts under ~/Desktop/Tools/.


Recommended OS

Use Ubuntu 22.04.5 LTS (Jammy Jellyfish) — Desktop image (AMD64).

Download from the official release page:

https://releases.ubuntu.com/jammy/

Recommended file:

Create a VM (VirtualBox, VMware, etc.), install Ubuntu from that ISO, then continue below inside the guest.

Prefer the Desktop image so GNOME themes, wallpaper, and Apps-menu launchers work. Disable Secure Boot in the VM firmware if you plan to use unsigned USB/JTAG drivers.


Requirements

  • Fresh or existing Ubuntu 22.04.5 LTS desktop install
  • Internet access (packages and some tools are downloaded during install)
  • sudo privileges
  • Enough disk space for heavy tools (Ghidra, QEMU, EMBA, FACT, etc.) — several GB free recommended

Quick install

  1. Clone or copy this repository onto the Ubuntu VM.
  2. Open a terminal in the repo directory.
  3. Run:
chmod +x install.sh preinstall.sh install-launchers.sh tools/*.sh
sudo ./install.sh

An interactive checklist appears (SPACE to toggle, ENTER to confirm). Preinstall and all active tools are selected by default.

  1. When finished, log out and log back in (or reboot) so group membership (dialout, plugdev, wireshark) takes effect.

Install everything without the menu

sudo ./install.sh --all

Install only VM settings (preinstall)

sudo ./preinstall.sh
# or
sudo ./install.sh preinstall

Install specific tools

sudo ./install.sh 05-binwalk.sh 07-ghidra.sh
# or by basename as listed in tools/
sudo ./install.sh 15-wireshark.sh

Refresh desktop / Apps-menu launchers only

sudo ./install-launchers.sh

What preinstall does

preinstall.sh prepares the VM before/alongside tools:

Setting Detail
Hostname wiresploit-vm
Theme Dark (Yaru-dark) + WireSploit wallpaper (if bg/bg.png is present)
Groups Adds your user to dialout, plugdev, wireshark
Udev Installs hardware rules for common UART/JTAG/ESP/SDR adapters
Kernel modules Autoload helpers for FTDI, CH340, CP210x, PL2303, CDC ACM
Secure Boot Checks status and guides disable if needed for USB/JTAG modules

Tools by category

Tools live in tools/ as numbered install scripts. After install, launchers appear under Desktop → Tools → <Category> and in the Apps menu.

System & Base

Tool Script Description
net-tools 01-net-tools.sh Classic networking utilities (ifconfig, netstat)
OpenSSH server 02-ssh.sh SSH daemon for remote access to the VM

Editors & IDEs

Tool Script Description
ImHex 03-imhex.sh Hex editor for reverse engineers
Cursor 04-cursor.sh Cursor IDE

Firmware Analysis

Tool Script Description
Binwalk 05-binwalk.sh Firmware carving / analysis
unblob 06-unblob.sh Extraction suite for nested firmware formats
7-Zip 08-7zip.sh Official 7-Zip archive tool
file 09-file.sh File type identification (libmagic)
strings 10-strings.sh Extract printable strings from binaries
EMBA 14-emba.sh Firmware security analyzer (heavy / slow)
FACT 16-fact.sh Firmware Analysis and Comparison Tool (web UI)

Reverse Engineering

Tool Script Description
Ghidra 07-ghidra.sh NSA Software Reverse Engineering framework
binutils 11-binutils.sh objdump, readelf, nm, and related tools
checksec 12-checksec.sh Binary hardening / security feature checks

Emulation

Tool Script Description
QEMU 13-qemu.sh ARM/MIPS system and user-mode emulation

Network Analysis

Tool Script Description
Wireshark 15-wireshark.sh Network protocol analyzer

Serial Consoles

Tool Script Description
minicom 17-minicom.sh Serial terminal
picocom 18-picocom.sh Lightweight serial terminal
screen 19-screen.sh Terminal multiplexer / serial access

Flashing & Debug

Tool Script Description
flashrom 20-flashrom.sh Read/write chip firmware via programmers
avrdude 21-avrdude.sh AVR microcontroller programmer
esptool 22-esptool.sh ESP8266 / ESP32 flash tool (esptool.py)
OpenOCD 23-openocd.sh On-chip debugging (JTAG/SWD)
stm32flash 24-stm32flash.sh STM32 UART bootloader flasher

Installer options

Command Behavior
sudo ./install.sh Interactive checklist (TTY)
sudo ./install.sh --all Install preinstall + all active tools (no menu)
sudo ./install.sh --no-menu Same as --all
sudo ./install.sh --skip-preinstall Menu without forcing preinstall on
sudo ./install.sh preinstall Preinstall only
sudo ./install.sh <script> Run one or more tool scripts

After install

  1. Log out / reboot so USB serial and capture groups apply.
  2. Open tools from Desktop → Tools or the Apps menu folders.
  3. For serial adapters, devices are typically /dev/ttyUSB0 or /dev/ttyACM0.
  4. If a USB/JTAG device fails to load a driver, confirm Secure Boot is disabled in the VM UEFI settings.

Project layout

ESCS_VM/
├── install.sh              # Main interactive installer
├── preinstall.sh           # VM hostname, theme, udev, groups
├── install-launchers.sh    # Refresh categorized desktop launchers
├── lib/
│   ├── common.sh           # Shared helpers + categories
│   └── tool_launchers.sh   # Per-tool launcher definitions
├── tools/                  # One install script per tool
└── vm/udev/                # Hardware udev rules

Notes

  • Run install scripts with sudo from a normal desktop user session (not a pure root login), so wallpaper, groups, and desktop shortcuts target the correct account.
  • Some tools (especially EMBA and FACT) take a long time and significant disk space; you can uncheck them in the menu if you do not need them yet.
  • Scripts expect an Ubuntu/Debian-style apt environment; 22.04.5 LTS is the supported target.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages