// 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;}
Überschreiben einer Datei zur Eskalation von Rechten
Häufige Dateien
Benutzer mit Passwort zu /etc/passwd hinzufügen
Passwort in /etc/shadow ändern
Benutzer zu sudoers in /etc/sudoers hinzufügen
Docker über den Docker-Socket missbrauchen, normalerweise in /run/docker.sock oder /var/run/docker.sock
Überschreiben einer Bibliothek
Überprüfen Sie eine Bibliothek, die von einem bestimmten Binärprogramm verwendet wird, in diesem Fall /bin/su:
In diesem Fall versuchen wir, /lib/x86_64-linux-gnu/libaudit.so.1 zu impersonieren.
Überprüfen Sie die Funktionen dieser Bibliothek, die von der su-Binärdatei verwendet werden:
Die Symbole audit_open, audit_log_acct_message, audit_log_acct_message und audit_fd stammen wahrscheinlich aus der Bibliothek libaudit.so.1. Da die libaudit.so.1 von der bösartigen Shared Library überschrieben wird, sollten diese Symbole in der neuen Shared Library vorhanden sein, andernfalls kann das Programm das Symbol nicht finden und wird beendet.