Learning Path
Embedded Systems & Firmware
Build an embedded security lab with Buildroot and QEMU, audit attack surfaces, reverse-engineer firmware, exploit UART consoles and ARM services, and implement secure boot.
- 1 intermediate
Cross-Compiling with Buildroot and QEMU
Set up an embedded Linux dev environment: build a custom ARM image with Buildroot, boot it in QEMU, and remotely debug binaries with GDB. No hardware required.
- 2 intermediate
Embedded Linux Attack Surface Analysis
Build a stripped embedded Linux image with Buildroot, then audit open ports, syscalls, suid binaries, kernel modules, and writable paths, and harden it.
- 3 advanced
Firmware RE with Binwalk and Ghidra
Extract firmware from an IoT update file, unpack the filesystem, identify interesting binaries, and reverse engineer them in Ghidra to find bugs.
- 4 intermediate
UART and Serial Console Exploitation
Identify and interact with UART interfaces on embedded devices using QEMU, extract boot logs, interrupt U-Boot for a root shell, and dump flash over serial.
- 5 advanced
Exploiting an Embedded Service: Buffer Overflow on ARM
Cross-compile a vulnerable network daemon for ARM, exploit a stack buffer overflow with ARM-specific techniques, and build ARM ROP chains in a QEMU/GDB lab.
- 6 advanced
Secure Boot and Firmware Integrity Verification
Implement a verified boot chain on embedded Linux with U-Boot FIT image signing, then attack it: downgrade attacks, unsigned image rejection, and bypasses.
- 7 advanced
SPI and JTAG Flash Dumping from Hardware
Identify SPI flash chips, dump them with a CH341A programmer or in-circuit SOIC clip, and use OpenOCD over JTAG to extract firmware with no removable chip.