NX = No-Execute

DEP = Data Execution Prevention

Als Software Entwickler versucht man zu schauen, dass der Stack nicht executable ist. Doch was heißt das den jetzt? Wenn ein Angreifer einen Exploit ausnutzt und der Stack executable ist, dann kann der Angreifer Payloads auf dem Stack ablegen und diese werden ausgeführt. Wenn der Stack nicht executable ist, funktioniert das nicht.

Wenn man versucht NX zu umgehen, sollte man zuerst mal ein GDB mit Erweiterungen wie Checksec nutzen um zu schauen, ob bestimmte Flags an oder aus sind. 

Es gibt zwei Wege, wie man diese Situation umgehen kann:

1.     Eine rop-Chain bauen. Versucht dem Speicher wieder das X (R=Read, W=Write, X=Execute) zurückzugeben. 

2.     Return to LibC Angriff. Man braucht dabei die Base Adresse und die vom System Call. Man nimmt die Base Adresse und das Offset, wo es drinnen liegt. Dann braucht man den System Call und Return. Am Schluss braucht man noch "/bin/sh". Man nimmt danach die Base Adresse mit dem Offset zu "/bin/sh". 

NX/DEP schützt an sich wenig und ist ein eher einfaches Thema, welches im Mentor gut erklärt wird. 

Senior Security Consultant/Penetration Tester | CEO

Home Seo Blog

Unsere Partner

Swiss Infosec AG ZTP
Stich IT TheMorpheus FrankITS
IT-S2-PG IT-S2-PG
Cookie Warnung

Akzeptieren Für statistische Zwecke und um bestmögliche Funktionalität zu bieten, speichert diese Website Cookies auf Ihrem Gerät. Das Speichern von Cookies kann in den Browser-Einstellungen deaktiviert werden. Wenn Sie die Website weiter nutzen, stimmen Sie der Verwendung von Cookies zu.