web-dev-qa-db-fra.com

Comment faire une escalade de privilèges avec ping?

J'essaie d'obtenir une élévation de privilèges. J'ai une machine virtuelle sous Linux et je me suis échappé d'un terminal rbash. J'ai maintenant un terminal utilisateur "normal". Mon utilisateur n'est pas dans le fichier sudoers.

Est-il possible d'effectuer une élévation de privilèges à l'aide de la commande ping?

Le bit SUID est autorisé pour /bin/ping mais je ne sais pas comment procéder à partir de là. Quelqu'un peut-il aider?

16
mb3354

Un binaire SUID n'est pas intrinsèquement exploitable pour une élévation de privilèges . Le problème est quand il y a une vulnérabilité dans le logiciel (ex. De nombreux CTF ont un binaire SUID qui contient une vulnérabilité de débordement de tampon qui peut être exploitée pour une élévation de privilèges) ou lorsqu'un administrateur définit le bit SUID sur un binaire qui ne devrait pas l'avoir défini . Un exemple extrême de ce dernier serait un paramètre admin vim sur SUID avec le propriétaire root, permettant aux utilisateurs d'exécuter des commandes bash en tant que root dans une session vim (:![Shell command]).

Une vérification rapide des références à ce sujet m'a amené à cet article sur Linux privesc . Vous pouvez trouver la section 3. Exploiting SUID Executables utile.

L'utilitaire ping requiert que le binaire soit la propriété de root et le jeu de bits SUID car il envoie/reçoit des requêtes ICMP en utilisant "sockets bruts" que seule root peut faire . Vous auriez besoin de trouver soit une version vulnérable de ping (je suppose que c'est pourquoi @Arminius a demandé la version) ou un moyen d'injecter du code/des commandes. Personnellement, je n'ai jamais pu utiliser ping dans les pentests ou les CTF pour une élévation de privilèges, mais cela ne signifie certainement pas que ce n'est pas possible :)

Un exemple similaire célèbre est les anciennes versions de nmap qui prenaient en charge le --interactive mode. Si le bit SUID a été défini (de nombreux scans tels que scan syn par défaut -sS "nécessite des privilèges de paquet brut"), vous pouvez alors passer à un shell racine à partir du mode interactif. Plus d'informations sont dans le lien privesc ci-dessus si vous êtes intéressé.

Si vous cherchez un défi CTF, je commence généralement à rechercher des programmes SUID non par défaut évidents (ex. /opt/myprog/test.bin) d'abord, puis revenez aux programmes suid "normaux" comme /bin/ping en dernier recours après que les autres contrôles soient vains.

30
deletehead