
세그멘테이션 폴트 지향 프로그래밍 익스플로잇 기법
이것은 세그멘테이션 폴트 지향 프로그래밍(Segmentation Fault-Oriented Programming) 공격 기법을 위한 아티팩트 저장소입니다.
여기서는 이 저장소의 아티팩트를 간략히 설명합니다. 총 8개의 서로 다른 아티팩트가 있으며, 6개의 PoC 익스플로잇과 실제 프로그램(Nginx 및 Ladybird)에 대한 2개의 익스플로잇으로 구성되어 있습니다:
PoC:
bSFOP_ek: 체인을 사용해 시그널을 등록하고 Early Kill로 공격을 실행하는 완전한 bSFOP 익스플로잇.bSFOP_fixed: 디버깅하기 더 쉬운 bSFOP로, 시그널을 수동으로 등록하고 수동 결함 가젯으로 공격을 실행합니다.bSFOP_multistage: bSFOP_fixed와 동일하지만 전체 페이로드가 처음에 전송되지 않고 여러 부분으로 나뉘어 읽힙니다.chain: sigaction을 등록하기 위해 체인을 사용하는 독립적인 예제.fSFOP_ek: 체인을 사용해 시그널을 등록하고 Early Kill로 공격을 실행하는 완전한 fSFOP 익스플로잇.fSFOP_fixed: 디버깅하기 더 쉬운 fSFOP로, 시그널을 수동으로 등록하고 수동 결함 가젯으로 공격을 실행합니다.vulnerable-nginx: CVE-2013-2028 취약점이 있는 수정된 Nginx 버전. 사용자 정의 시그널 등록 체인과 Early Kill을 사용하는 fSFOP를 보여줍니다.
vulnerable-ladybird: CVE-2021-4327 취약점이 있는 수정된 SerenityOS 버전. 사용자 정의 시그널 등록 체인과 Early Kill을 사용하는 fSFOP를 보여줍니다.
모든 파일에는 자체 README가 함께 제공됩니다.
모든 PoC는 도커화되어 있습니다. Docker가 유일한 소프트웨어 요구 사항입니다.
PoC를 실행하려면 활성화된 CET 적용이 필요합니다.
이를 위해:
실험은 다음을 포함한 여러 머신에서 테스트되었습니다: