ARM shellcode and exploit development - BSidesMunich 2018 logo

ARM shellcode and exploit development - BSidesMunich 2018

Free

Hands-on ARM exploit development workshop with shellcode and ROP labs

FreeFree tier
Type
Open Source

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