
Segmentation Fault-Oriented Programming Exploitation-Technik
Dies ist das Artefakt-Repository für die Segmentation-Fault-Oriented-Programming-Ausnutzungstechnik.
Hier beschreiben wir kurz die Artefakte in diesem Repository. Insgesamt gibt es acht verschiedene Artefakte, bestehend aus sechs PoC-Exploits und zwei Exploits in realen Programmen (Nginx und Ladybird):
bSFOP_ek: Vollständiger bSFOP-Exploit, der eine Kette zur Registrierung des Signals und den Early Kill nutzt, um den Angriff zu starten.
bSFOP_fixed: Einfacher zu debuggender bSFOP, manuell registriertes Signal und manuelles fehlerhaftes Gadget, um den Angriff zu starten.
bSFOP_multistage: Wie bSFOP_fixed, aber die gesamte Payload wird nicht am Anfang übertragen, sondern in mehreren Teilen gelesen.
chain: Isoliertes Beispiel für die Verwendung einer Kette zur Registrierung von sigaction.
fSFOP_ek: Vollständiger fSFOP-Exploit, der eine Kette zur Registrierung des Signals und den Early Kill nutzt, um den Angriff zu starten.
fSFOP_fixed: Einfacher zu debuggender fSFOP, manuell registriertes Signal und manuelles fehlerhaftes Gadget, um den Angriff zu starten.
vulnerable-nginx: eine modifizierte Version von Nginx mit der Schwachstelle CVE-2013-2028. Demonstriert fSFOP mit einer benutzerdefinierten Signal-Registrierungskette und unter Verwendung des Early Kill.
vulnerable-ladybird: eine modifizierte Version von SerenityOS mit der Schwachstelle CVE-2021-4327. Demonstriert fSFOP mit einer benutzerdefinierten Signal-Registrierungskette und unter Verwendung des Early Kill.
Jede Datei wird mit einer eigenen README geliefert.
Jeder PoC ist dockerisiert. Docker ist die einzige Software-Anforderung.
Das Ausführen der PoCs erfordert aktive CET-Durchsetzung.
Dafür:
Unsere Experimente wurden auf mehreren Maschinen getestet, darunter: