17 lines
1.1 KiB
Markdown

# No-exec / NX
{{#include ../../banners/hacktricks-training.md}}
## Informações Básicas
O **No-Execute (NX)** bit, também conhecido como **Execute Disable (XD)** na terminologia da Intel, é um recurso de segurança baseado em hardware projetado para **mitigar** os efeitos de ataques de **buffer overflow**. Quando implementado e ativado, ele distingue entre regiões de memória que são destinadas a **código executável** e aquelas destinadas a **dados**, como a **pilha** e o **heap**. A ideia central é impedir que um atacante execute código malicioso através de vulnerabilidades de buffer overflow, colocando o código malicioso na pilha, por exemplo, e direcionando o fluxo de execução para ele.
## Bypasses
- É possível usar técnicas como [**ROP**](../rop-return-oriented-programing/index.html) **para contornar** essa proteção executando pedaços de código executável já presentes no binário.
- [**Ret2libc**](../rop-return-oriented-programing/ret2lib/index.html)
- [**Ret2syscall**](../rop-return-oriented-programing/rop-syscall-execv/index.html)
- **Ret2...**
{{#include ../../banners/hacktricks-training.md}}