Ret2LibC = Return to LibC

Das Ganze ist ein klassischer Angriff, denn man sich so vorstellen kann: Wir wollen NX umgehen, so dass wir wieder unseren Stack ausführbar machen, damit unsere Payload ausgeführt wird.

Doch was genau brauchen wir jetzt? Wir müssen schauen, ob LibC eingebunden ist. Als Beispiel: Wir nehmen in Linux einen GBD und laden das File, sehen jedoch, dass NX aktiviert ist.

Bei Ret2LibC braucht man ein paar wichtige Sachen:

1.     Schau ob man im Binary eine LibC findet. Wenn man sie findet, muss man sich das Offset (virtuelle Adresse) davon merken. Nimm NICHT die relative virtuelle Adresse, denn nur mit der virtuellen Adresse findet man den genauen Standort. Bei mehreren Einträgen nimmt man immer den Ersten.

2.     Wir brauchen nun den System Call innerhalb von LibC. Mit dem Ropper kann man das String System suchen und diesen plus die LibC Adresse rechnen. Danach braucht man einen Return und "/bin/sh" (String). 

Senior Security Consultant/Penetration Tester | CEO

Home Seo Blog

Unsere Partner

Teile uns auf den sozialen Medien

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.