
Exploit-DB/Metasploit 원본 모듈에서 각색한 CVE-2016-9079(Firefox Use-After-Free) 공개 익스플로잇의 교육용 독립형 JavaScript 구현입니다.
CVE-2016-9079 공개 익스플로잇의 교육용 구현으로, 원본 Exploit-DB/Metasploit 모듈을 독립 실행형으로 사용할 수 있도록 각색한 것입니다.
면책 조항
이 저장소는 엄격히 교육 및 연구 목적으로 제공됩니다. 역사적인 브라우저 익스플로잇 기법을 연구하기 위해 공개적으로 이용 가능한 익스플로잇의 JavaScript 포트를 포함하고 있습니다. 귀하가 소유하지 않거나 테스트 권한이 없는 시스템에 대한 무단 사용을 위한 것이 아닙니다.
이 저장소는 CVE-2016-9079에 대한 공개 익스플로잇의 독립 실행형 JavaScript 구현을 포함합니다. 이는 이전 버전의 Mozilla Firefox에 영향을 미치는 Use-After-Free (UAF) 취약점입니다.
이 취약점은 Firefox의 SMIL(Synchronized Multimedia Integration Language) 애니메이션 서브시스템 내에 존재하며, 특정 조건에서 원격 코드 실행을 허용할 수 있습니다.
Metasploit 모듈로 배포된 원본 공개 익스플로잇과 달리, 이 저장소는 간단한 HTTP 서버에서 제공할 수 있는 브라우저 기반 구현을 제공합니다.
이 저장소는 현대적인 익스플로잇 도구라기보다는 역사적인 교육 참고 자료로 의도되었습니다.
OSCP를 준비하는 동안, 오래된 취약한 Firefox 버전을 실행하는 CTF 머신을 발견했습니다.
열거 후, 브라우저 익스플로잇이 의도된 권한 상승 경로로 보였습니다.
Exploit-DB에서 공개적으로 이용 가능한 익스플로잇은 Metasploit 모듈로 구현되었습니다. OSCP 시험은 Metasploit 사용을 제한하므로, 프레임워크 없이 실행할 수 있는 독립 실행형 버전을 원했습니다.
공개 익스플로잇을 조사한 후, 이를 이 JavaScript 구현으로 각색했습니다.
다음 사항을 유의하는 것이 중요합니다:
CVE: CVE-2016-9079
유형: Use-After-Free (UAF)
영향을 받는 구성 요소: Firefox SMIL Animation (nsSMILTimeContainer)
영향: 원격 코드 실행
이 취약점은 특수하게 제작된 SVG 애니메이션 객체를 통해 트리거되며, Firefox의 애니메이션 엔진 내부에 use-after-free 조건을 유발합니다. 그런 다음 익스플로잇은 힙 조작을 수행한 후 ROP 체인을 실행하여 코드 실행을 달성합니다.
이 저장소는 교육 목적으로 공개적으로 문서화된 익스플로잇 기법을 보존합니다.
index.html기본 진입점입니다.
JavaScript 구성 요소를 로드하고 호환되는 Firefox 버전에서 열면 취약점을 트리거합니다.
worker.js다음을 포함한 익스플로잇 로직의 대부분을 포함합니다:
구현은 공개적으로 이용 가능한 익스플로잇에서 각색되었습니다.
README.md취약점, 저장소 목적 및 사용법을 설명하는 문서입니다.
최신 Firefox 릴리스와의 호환성은 기대되지 않습니다.

python3 -m http.server 8000
다음으로 이동합니다:
http://<server-ip>:8000/index.html
취약한 Firefox 인스턴스에서 접속합니다.

참고 - 익스플로잇을 여러 번 시도해야 할 수 있습니다.
이 저장소는 의도적으로 최소한으로 유지되며, 일반적인 익스플로잇 프레임워크로 간주되어서는 안 됩니다.
원본 Metasploit 구현과 비교하여:
결과적으로 이 구현은 알려진 호환 버전이 있는 통제된 환경에서만 사용해야 합니다.
원본 익스플로잇을 작성하지는 않았지만, 이를 독립 실행형 구현으로 각색하는 과정에서 다음을 포함한 귀중한 개념을 접할 수 있었습니다:
이 저장소는 OSCP 준비 과정의 일부를 문서화하여 제 애플리케이션 보안 및 버그 바운티 작업을 보완합니다.
이 저장소는 교육 목적으로만 배포됩니다.
원본 익스플로잇 기법에 대한 크레딧은 원본 연구자와 공개 익스플로잇 작성자에게 있습니다. 이 저장소는 공개적으로 이용 가능한 구현을 교육용 독립 실행형 형식으로 각색한 것에 불과합니다.