ARM shellcode and exploit development - BSidesMunich 2018
FreeHands-on ARM exploit development workshop with shellcode and ROP labs
FreeFree tier
About ARM shellcode and exploit development - BSidesMunich 2018
This repository contains materials for the 'ARM shellcode and exploit development' workshop presented at BSidesMunich 2018. It provides a comprehensive hands-on guide to ARM exploitation, covering topics such as ARM architecture, CPU registers, calling conventions, shellcode development (ARM/Thumb), debugging, and bypassing protection mechanisms like NX and ASLR using Return Oriented Programming (ROP). The workshop includes seven lab exercises (stack1, stack_sh, stack_mprotect, stack_aslr) with slide presentations and source code, designed for a Raspberry Pi 3 running Raspbian.
Key Features
Covers ARM architecture, registers, instructions, and calling conventions
Includes shellcode development: shell spawning, bind TCP, reverse TCP shellcode (ARM/Thumb)
Exploit tools introduction: pwntools, ROPGadget
Seven lab exercises: stack overflow, ret2libc, ROP with mprotect, ASLR bypass
Provides slides in PDF and complete source code (Python, Assembly, C)
Targeted for Raspberry Pi 3 with Raspbian 2018-03-14 image
Pros & Cons
Pros
- Well-structured with clear lab objectives and step-by-step instructions
- Covers both ARM and Thumb mode shellcode
- Includes practical mitigation bypass techniques (NX, ASLR)
- Free and open-source with all materials provided
- Real-world environment using Raspberry Pi 3
Cons
- Requires a Raspberry Pi 3 or compatible ARM emulator to run labs
- Uses an older Raspbian image from 2018, tools may be outdated
- Limited to 32-bit ARM architecture
- No active maintenance or updates since the workshop
Best For
Learning ARM shellcode development and exploit techniquesPracticing Return Oriented Programming (ROP) to bypass NXUnderstanding ASLR bypass strategies on ARMTeaching or studying embedded systems securityPreparing for CTF challenges involving ARM exploitation