1.2 KiB

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 zu verwenden, um diesen Schutz zu umgehen, indem Teile von bereits im Binärformat vorhandenem ausführbarem Code ausgeführt werden.
  • Ret2libc
  • Ret2syscall
  • Ret2...

{{#include ../../../banners/hacktricks-training.md}}