# 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}}