Make ARM Shellcode Great Again
summary
Covers practical techniques for writing reliable ARM shellcode that works on modern, varied ARM hardware (including IoT devices) rather than just emulators. Discusses handling cache coherency, building reliable polymorphic and egghunter shellcode, and creating polyglot ARM shellcode, with demonstrations across different ARM architectures.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:20Make ARM Shellcode Great Again Saumil Shah
- 2:46Example: ARM execve() Shellcode
- 6:16THUMB Mode
- 7:08Some Concerns / Arguments
- 9:03ARM/THUMB Encoding: mov r1, #7
- 11:56Opening the Box
- 12:39Quantum Leap' Shellcode
- 13:44"Quantum Leap" - what we need
- 18:47The ARM to Thumb switch
- 20:12ARM and THUMB decoding - 1
- 23:29(Un)conditional Instructions
- 25:00ARM and THUMB decoding - 2
- 35:35Final "Quantum Leap" Code
- 37:39Assembling the Quantum Leap
- 38:48Shellcode in tight spaces
- 51:54Conclusion
related talks
57mReturn Oriented Programming, an introduction
57mReturn Oriented Programming, an introduction
51mThe Anatomy of an Exploit
19mDisARMed: Attacking ARM TrustZone from Userspace with Memory Aliasing
27mUSMA: Share Kernel Code With Me
51mExploiting Hardware Glitches And Side Channels In Perfect Software
18mAutomatic Generation of Compact Printable Shellcodes for x86
57mThe Anatomy of an Exploit
