All Projects → saelo → Armpwn

saelo / Armpwn

Licence: mit
Repository to train/learn memory corruption on the ARM platform.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Armpwn

One gadget
The best tool for finding one gadget RCE in libc.so.6
Stars: ✭ 1,306 (+308.13%)
Mutual labels:  exploit, ctf
Awesome Hacking Resources
A collection of hacking / penetration testing resources to make you better!
Stars: ✭ 11,466 (+3483.13%)
Mutual labels:  exploit, ctf
Gitlab rce
RCE for old gitlab version <= 11.4.7 & 12.4.0-12.8.1 and LFI for old gitlab versions 10.4 - 12.8.1
Stars: ✭ 104 (-67.5%)
Mutual labels:  exploit, ctf
Pwntools
CTF framework and exploit development library
Stars: ✭ 8,585 (+2582.81%)
Mutual labels:  exploit, ctf
exploiting
Exploiting challenges in Linux and Windows
Stars: ✭ 122 (-61.87%)
Mutual labels:  exploit, ctf
Write Ups
📚 VoidHack CTF write-ups
Stars: ✭ 45 (-85.94%)
Mutual labels:  exploit, ctf
Search Libc
Web wrapper of niklasb/libc-database
Stars: ✭ 124 (-61.25%)
Mutual labels:  exploit, ctf
Destructivefarm
📢 🔒 Exploit farm for attack-defense CTF competitions
Stars: ✭ 122 (-61.87%)
Mutual labels:  exploit, ctf
kernelpwn
kernel-pwn and writeup collection
Stars: ✭ 348 (+8.75%)
Mutual labels:  exploit, ctf
Ctf All In One
CTF竞赛权威指南
Stars: ✭ 2,807 (+777.19%)
Mutual labels:  exploit, ctf
Shellen
🌸 Interactive shellcoding environment to easily craft shellcodes
Stars: ✭ 799 (+149.69%)
Mutual labels:  exploit, ctf
FastPwn
CTF中Pwn的快速利用模板(包含awd pwn)
Stars: ✭ 18 (-94.37%)
Mutual labels:  exploit, ctf
Hyperpwn
A hyper plugin to provide a flexible GDB GUI with the help of GEF, pwndbg or peda
Stars: ✭ 387 (+20.94%)
Mutual labels:  exploit, ctf
Ctf
Some of my CTF solutions
Stars: ✭ 70 (-78.12%)
Mutual labels:  exploit, ctf
Gef
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging features for exploit developers & reverse engineers ☢
Stars: ✭ 4,197 (+1211.56%)
Mutual labels:  exploit, ctf
Ctf
some experience in CTFs
Stars: ✭ 165 (-48.44%)
Mutual labels:  exploit, ctf
spellbook
Framework for rapid development and reusable of security tools
Stars: ✭ 67 (-79.06%)
Mutual labels:  exploit, ctf
pwnscripts
Very simple script(s) to hasten binary exploit creation
Stars: ✭ 66 (-79.37%)
Mutual labels:  exploit, ctf
Ictf Framework
The iCTF Framework, presented by Shellphish!
Stars: ✭ 281 (-12.19%)
Mutual labels:  ctf
Vbscan
OWASP VBScan is a Black Box vBulletin Vulnerability Scanner
Stars: ✭ 295 (-7.81%)
Mutual labels:  exploit

ARMPwn

Repository to train/learn memory corruption exploitation on the ARM platform. This is the material of a workshop I prepared for my CTF Team.

Quick Setup

Either upload the binary to some ARM device (I used a Raspberry Pi) or use qemu locally as described here. Also copy the webroot/ folder and the led script to the device. The binary expects both to be in the current working directory.

The binary needs to be run as root or (preferably) have CAP_NET_BIND_SERVICE enabled (sudo setcap 'cap_net_bind_service=+ep' websrv).

How to use this Repository

In general the goal is to get code execution on the target system. There are 4 different ways to benefit from this repository:

Total Pwn

Deploy the binary and go pwn it without reversing the binary first. Assume no prior knowlege of the binary.

Full Pwn

You're given access to the binary as well (in bin/).

Medium Pwn

You're given access to the binary and it's source code in src/. You'll miss out on some reversing fun though.

Lesser Pwn

Refer to the exploit and explanations in exploit/ as you go along.

RPI Configuration

The RPI used during the workshop was configured as follows:

  • kernel boot messages were written to /dev/ttyAMA0 (the default)
  • /etc/inittab was modified to not spawn getty on /dev/ttyAMA0
  • syslog-ng was modified to enable output on /dev/ttyAMA0 by adding the following line to /etc/syslog-ng/syslog-ng.conf: destination d_console_all { file("/dev/ttyAMA0"); };
  • verbose crash messages were enabled by setting "sysctl kernel.print-fatal-signals=1" during boot, e.g. through /etc/init.d/rc.local (sadly the ARM kernel does not by default print a crash summary to the kernel ring buffer as opposed to e.g. an x86 kernel)
  • An LED was connected to GPIO pin 17 on the Pi

Using these, we developed our exploits by connecting a serial cable to the Pi and getting the crash dumps this way. No gdb or similar.

Feedback is always welcome! Enjoy :)

@5aelo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].