
Técnica de explotación Segmentation Fault-Oriented Programming
Este es el repositorio de artefactos para la técnica de explotación Segmentation Fault-Oriented Programming.
Aquí describimos brevemente los artefactos de este repositorio. En total, hay ocho artefactos diferentes, compuestos por seis exploits PoC y dos exploits en programas del mundo real (Nginx y Ladybird):
PoCs:
bSFOP_ek: Exploit bSFOP completo que utiliza una cadena para registrar la señal y el Early Kill para lanzar el ataque.bSFOP_fixed: bSFOP más sencillo de depurar, con señal registrada manualmente y gadget defectuoso manual para lanzar el ataque.bSFOP_multistage: Igual que bSFOP_fixed, pero el payload completo no se transmite al inicio; se lee en múltiples partes.chain: Ejemplo aislado del uso de una cadena para registrar sigaction.fSFOP_ek: Exploit fSFOP completo que utiliza una cadena para registrar la señal y el Early Kill para lanzar el ataque.fSFOP_fixed: fSFOP más sencillo de depurar, con señal registrada manualmente y gadget defectuoso manual para lanzar el ataque.vulnerable-nginx: una versión modificada de Nginx con la vulnerabilidad CVE-2013-2028. Muestra fSFOP con una cadena personalizada de registro de señales y el uso del Early Kill.
vulnerable-ladybird: una versión modificada de SerenityOS con la vulnerabilidad CVE-2021-4327. Muestra fSFOP con una cadena personalizada de registro de señales y el uso del Early Kill.
Cada archivo incluye su propio README.
Cada PoC está dockerizado. Docker es el único requisito de software.
Ejecutar los PoCs requiere la aplicación activa de CET.
Para ello:
Nuestros experimentos se han probado en múltiples máquinas, incluyendo: