
Versão de JIT spray do cve-2013-1491
========================= Título ========================================= CVE-2013-1491 PoC usando JIT-Spray por Yuki Chen (古河)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Twitter: @guhe120
Weibo: http://weibo.com/u/1874932054
========================= Sobre este PoC =========================================
Este exploit é uma prova de conceito que demonstra como explorar vulnerabilidades nativas do Java com a técnica de Java-JIT-Spray. Ele foi desenvolvido e testado apenas no Windows 7 Enterprise 32 bits.
Esta vulnerabilidade foi descoberta por Jushua J Drake (jduck) da accuvantlabs. Para detalhes desta vulnerabilidade, consulte: http://blog.accuvantlabs.com/sites/default/files/Papers/Pwn2Own%202013%20-%20Java%207%20SE%20Memory%20Corruption.pdf
Para mais detalhes sobre a técnica de java jit spray, consulte meus slides na SyScan360: http://aj43xnbacx.l31.yunpan.cn/lk/QGb98dgpj74YJ
========================= Como compilar ======================================
Para compilar o código-fonte, você precisa ter o jdk e o python instalados.
Certifique-se de que "javac" e "python" estão no seu PATH (variáveis de ambiente).
Obtenha o código-fonte em "src", abra um terminal e mude o diretório para a pasta "src".
Execute o seguinte comando: make.bat 40 60
Onde o primeiro parâmetro "40" significa que cada arquivo de classe contém 40 funções JIT, e o segundo parâmetro "60" significa que vamos pulverizar (spray) 60 classes no total.
Após executar o comando, um arquivo jar chamado "Exploit.jar" será gerado na mesma pasta.
========================= Como testar =========================================
Ambiente: JRE 7u17 + Windows 7 32 bits (versão em inglês)
Nota: O jit-spray leva algum tempo (7 ~ ?? segundos, dependendo da sua máquina de teste). Por favor, aguarde com paciência enquanto o spray é feito :)