
Technique d'exploitation de programmation orientée défaut de segmentation
Ceci est le dépôt des artefacts de la technique d'exploitation Segmentation Fault-Oriented Programming.
Nous décrivons ici brièvement les artefacts de ce dépôt. Au total, il y a huit artefacts différents, composés de six exploits PoC et de deux exploits dans des programmes réels (Nginx et Ladybird) :
PoCs :
bSFOP_ek : Exploit bSFOP complet utilisant une chaîne pour enregistrer le signal et l'Early Kill pour lancer l'attaque.bSFOP_fixed : Version de bSFOP plus simple à déboguer, signal enregistré manuellement et gadget fautif manuel pour lancer l'attaque.bSFOP_multistage : Identique à bSFOP_fixed, mais la charge utile complète n'est pas transmise au début, elle est lue en plusieurs parties.chain : Exemple isolé d'utilisation d'une chaîne pour enregistrer sigaction.fSFOP_ek : Exploit fSFOP complet utilisant une chaîne pour enregistrer le signal et l'Early Kill pour lancer l'attaque.fSFOP_fixed : Version de fSFOP plus simple à déboguer, signal enregistré manuellement et gadget fautif manuel pour lancer l'attaque.vulnerable-nginx : une version modifiée de Nginx avec la vulnérabilité CVE-2013-2028. Illustre fSFOP avec une chaîne d'enregistrement de signal personnalisée et l'utilisation de l'Early Kill.
vulnerable-ladybird : une version modifiée de SerenityOS avec la vulnérabilité CVE-2021-4327. Illustre fSFOP avec une chaîne d'enregistrement de signal personnalisée et l'utilisation de l'Early Kill.
Chaque fichier est accompagné de son propre README.
Chaque PoC est dockerisé. Docker est la seule exigence logicielle.
L'exécution des PoCs nécessite une application active de la CET.
Pour cela :
Nos expériences ont été testées sur plusieurs machines, notamment :