17 lines
1.2 KiB
Markdown

# No-exec / NX
{{#include ../../../banners/hacktricks-training.md}}
## Grundlegende Informationen
Das **No-Execute (NX)**-Bit, auch bekannt als **Execute Disable (XD)** in der Intel-Terminologie, ist eine hardwarebasierte Sicherheitsfunktion, die entwickelt wurde, um die Auswirkungen von **Buffer Overflow**-Angriffen zu **mildern**. Wenn es implementiert und aktiviert ist, unterscheidet es zwischen Speicherbereichen, die für **ausführbaren Code** vorgesehen sind, und solchen, die für **Daten** gedacht sind, wie den **Stack** und den **Heap**. Die grundlegende Idee ist, einen Angreifer daran zu hindern, schädlichen Code durch Buffer Overflow-Schwachstellen auszuführen, indem der schädliche Code beispielsweise im Stack platziert und der Ausführungsfluss dorthin geleitet wird.
## Umgehungen
- Es ist möglich, Techniken wie [**ROP**](../stack-overflow/rop-return-oriented-programing.md) zu verwenden, um diesen Schutz zu umgehen, indem Teile von bereits im Binärformat vorhandenem ausführbarem Code ausgeführt werden.
- [**Ret2libc**](../stack-overflow/ret2lib/)
- [**Ret2syscall**](../stack-overflow/rop-syscall-execv.md)
- **Ret2...**
{{#include ../../../banners/hacktricks-training.md}}