
Windows 7 32-bit 환경에서 JRE 7u17의 메모리 손상을 입증하기 위해 Java JIT-Spray 기술을 사용하는 CVE-2013-1491에 대한 개념 증명 익스플로잇.
========================= 제목 ========================================= CVE-2013-1491 JIT-Spray를 이용한 PoC (Yuki Chen (古河) 제작)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
트위터: @guhe120
Weibo: http://weibo.com/u/1874932054
========================= 이 PoC에 대하여 =========================================
이 익스플로잇은 Java-JIT-Spray 기술을 사용하여 Java 네이티브 취약점을 익스플로잇하는 방법을 보여주는 개념 증명용 익스플로잇입니다. Windows 7 Enterprise 32비트에서만 개발 및 테스트되었습니다.
이 취약점은 Accuvant Labs의 Jushua J Drake(jduck)가 발견했습니다. 자세한 내용은 다음을 참조하십시오: http://blog.accuvantlabs.com/sites/default/files/Papers/Pwn2Own%202013%20-%20Java%207%20SE%20Memory%20Corruption.pdf
Java JIT Spray 기술에 대한 자세한 내용은 SyScan360에서 제 슬라이드를 참조하십시오: http://aj43xnbacx.l31.yunpan.cn/lk/QGb98dgpj74YJ
========================= 컴파일 방법 ======================================
소스 코드를 컴파일하려면 JDK와 Python이 설치되어 있어야 합니다.
"javac"와 "python"이 경로 환경 변수에 있는지 확인하십시오.
"src" 디렉터리 아래의 소스를 체크아웃하고, 터미널을 열어 "src" 폴더로 디렉터리를 변경하십시오.
다음 명령을 실행하십시오: make.bat 40 60
첫 번째 매개변수 "40"은 각 클래스 파일에 40개의 JIT 함수가 포함됨을 의미하고, 두 번째 매개변수 "60"은 총 60개의 클래스를 스프레이한다는 의미입니다.
명령을 실행하면 같은 폴더에 "Exploit.jar"라는 jar 파일이 생성됩니다.
========================= 테스트 방법 =========================================
환경: JRE 7u17 + Windows 7 32비트 (영어 버전)
참고: JIT 스프레이는 시간이 다소 소요됩니다 (테스트 머신에 따라 7~??초). 스프레이하는 동안 인내심을 가지고 기다려 주십시오 :)