Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!
CVE-2020-0674 — Prova de conceito de exploit para CVE-2020-0674, uma vulnerabilidade de use-after-free no mecanismo legado jscript do Internet Explorer, visando Windows 7 x64 com pop-up de calc. | Kitploit
Prova de conceito de exploit para CVE-2020-0674, uma vulnerabilidade de use-after-free no mecanismo legado jscript do Internet Explorer, visando Windows 7 x64 com pop-up de calc.
CVE-2020-0674 é uma vulnerabilidade de use-after-free no mecanismo legado jscript. Ela pode ser acionada no Internet Explorer. O exploit aqui foi escrito por maxpl0it, mas a vulnerabilidade em si foi descoberta pela Qihoo 360 sendo usada na natureza. Este exploit simplesmente abre a calculadora.
A vulnerabilidade existe na função sort do Array ao usar uma função de comparação.
Os dois argumentos fornecidos para a função de comparação não são rastreados pelo Garbage Collector e, portanto, apontarão para memória liberada após a chamada do GC.
Notas do Exploit
O exploit foi escrito especificamente para Windows 7, mas provavelmente pode ser portado sem muita dificuldade.
Este exploit foi escrito para instâncias x64 do IE, portanto será executado (e foi testado) nas seguintes configurações de navegador:
IE 8 (build x64)
IE 9 (build x64)
IE 10 (Com Enhanced Protected Mode ativado ou TabProcGrowth ativado)
IE 11 (Com Enhanced Protected Mode ativado ou TabProcGrowth ativado)
Vale notar que o Enhanced Protected Mode no Windows 7 simplesmente ativa a versão x64 do processo do navegador, então não é uma fuga de sandbox, mas sim a ausência de qualquer sandbox adicional. Ironicamente, como este exploit é para x64, o EPM na verdade permite que ele funcione.
O exploit não foi feito para contornar completamente o EMET (apenas uma detecção de bypass de stack pivot foi realmente implementada), no entanto, a versão final (5.52) parece não acionar o EAF+ quando o exploit é executado, ao contrário da versão 5.5 (pelo menos, no Windows 7 x64). Portanto, o IE 11 no Enhanced Protected Mode com as configurações máximas do EMET permite o exploit.
O exploit é fortemente comentado, mas para entender melhor como o exploit funciona e o que ele faz em cada etapa, altere var debug = false; para var debug = true; e abra o console do desenvolvedor para visualizar o log ou mantenha-o fechado e veja os popups alert (o que pode ser um pouco irritante).