4.8 KiB
Ret2ret & Ret2pop
Aprenda hacking AWS do zero ao avançado com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você quiser ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe seus truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.
Ret2ret
O principal objetivo desta técnica é tentar burlar o ASLR abusando de um ponteiro existente na pilha.
Basicamente, estouros de pilha são geralmente causados por strings, e as strings terminam com um byte nulo no final na memória. Isso permite tentar reduzir o local apontado por um ponteiro já existente na pilha. Assim, se a pilha contiver 0xbfffffdd
, esse estouro poderia transformá-lo em 0xbfffff00
(observe o último byte zerado).
Se esse endereço apontar para nosso shellcode na pilha, é possível fazer o fluxo alcançar esse endereço adicionando endereços à instrução ret
até que ele seja alcançado.
Portanto, o ataque seria assim:
- Trilha de NOP
- Shellcode
- Sobrescrever a pilha do EIP com endereços para
ret
(trilha de RET) - 0x00 adicionado pela string modificando um endereço da pilha fazendo-o apontar para a trilha de NOP
Seguindo este link, você pode ver um exemplo de um binário vulnerável e neste o exploit.
Ret2pop
Caso você encontre um ponteiro perfeito na pilha que não deseja modificar (no ret2ret
alteramos o último byte mais baixo para 0x00
), você pode realizar o mesmo ataque ret2ret
, mas o comprimento da trilha de RET deve ser encurtado em 1 (para que o 0x00
final sobrescreva os dados logo antes do ponteiro perfeito), e o último endereço da trilha de RET deve apontar para pop <reg>; ret
.
Dessa forma, os dados antes do ponteiro perfeito serão removidos da pilha (esses são os dados afetados pelo 0x00
) e o último ret
apontará para o endereço perfeito na pilha sem nenhuma alteração.
Seguindo este link, você pode ver um exemplo de um binário vulnerável e neste o exploit.
Referências
Aprenda hacking AWS do zero ao avançado com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você quiser ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe seus truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.