// Privesc to user id: 1000#define_GNU_SOURCE#include<stdlib.h>#include<unistd.h>intmain(void) {char*const paramList[10] = {"/bin/bash","-p",NULL};constint id =1000;setresuid(id, id, id);execve(paramList[0], paramList,NULL);return0;}
Sovrascrivere un file per elevare i privilegi
File comuni
Aggiungi utente con password a /etc/passwd
Cambia password all'interno di /etc/shadow
Aggiungi utente ai sudoers in /etc/sudoers
Abusa di docker attraverso il socket docker, solitamente in /run/docker.sock o /var/run/docker.sock
Sovrascrivere una libreria
Controlla una libreria utilizzata da un binario, in questo caso /bin/su:
I simboli audit_open, audit_log_acct_message, audit_log_acct_message e audit_fd provengono probabilmente dalla libreria libaudit.so.1. Poiché la libaudit.so.1 sarà sovrascritta dalla libreria condivisa malevola, questi simboli dovrebbero essere presenti nella nuova libreria condivisa, altrimenti il programma non sarà in grado di trovare il simbolo e terminerà.