Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**CET** é um recurso de segurança implementado em nível de hardware, projetado para frustrar ataques comuns de sequestro de fluxo de controle, como **Programação Orientada a Retorno (ROP)** e **Programação Orientada a Salto (JOP)**. Esses tipos de ataques manipulam o fluxo de execução de um programa para executar código malicioso ou encadear pedaços de código benigno de forma a realizar uma ação maliciosa.
* **IBT** garante que saltos e chamadas indiretas sejam feitos para destinos válidos, que são marcados explicitamente como destinos legais para ramificações indiretas. Isso é alcançado por meio de um novo conjunto de instruções que marca os destinos válidos, impedindo assim que os atacantes desviem o fluxo de controle para locais arbitrários.
* **Shadow Stack** é um mecanismo que fornece integridade para endereços de retorno. Ele mantém uma cópia segura e oculta dos endereços de retorno separada da pilha de chamadas regular. Quando uma função retorna, o endereço de retorno é validado em relação ao shadow stack, impedindo que os atacantes sobrescrevam os endereços de retorno na pilha para sequestrar o fluxo de controle.
## Shadow Stack
O **shadow stack** é uma **pilha dedicada usada exclusivamente para armazenar endereços de retorno**. Ele funciona ao lado da pilha regular, mas é protegido e oculto da execução normal do programa, tornando difícil para os atacantes interferir. O principal objetivo do shadow stack é garantir que quaisquer modificações nos endereços de retorno na pilha convencional sejam detectadas antes que possam ser usadas, mitigando efetivamente os ataques ROP.
Os ataques **ROP e JOP** dependem da capacidade de sequestrar o fluxo de controle de um aplicativo aproveitando vulnerabilidades que permitem sobrescrever ponteiros ou endereços de retorno na pilha. Ao direcionar o fluxo para sequências de gadgets de código existentes ou gadgets de programação orientada a retorno, os atacantes podem executar código arbitrário.
* A característica **IBT do CET** torna esses ataques significativamente mais difíceis, garantindo que as ramificações indiretas possam saltar apenas para endereços que foram explicitamente marcados como destinos válidos. Isso torna impossível para os atacantes executar gadgets arbitrários espalhados pelo binário.
* O **shadow stack**, por outro lado, garante que mesmo que um atacante consiga sobrescrever um endereço de retorno na pilha normal, a **discrepância será detectada** ao comparar o endereço corrompido com a cópia segura armazenada no shadow stack ao retornar de uma função. Se os endereços não corresponderem, o programa pode ser encerrado ou adotar outras medidas de segurança, impedindo que o ataque tenha sucesso.
Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).