Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!
CVE-2020-0674 — Exploit proof-of-concept per CVE-2020-0674, una vulnerabilità use-after-free nel motore jscript legacy di Internet Explorer, che mira a Windows 7 x64 con pop-up di calc. | Kitploit
Exploit proof-of-concept per CVE-2020-0674, una vulnerabilità use-after-free nel motore jscript legacy di Internet Explorer, che mira a Windows 7 x64 con pop-up di calc.
CVE-2020-0674 è una vulnerabilità use-after-free nel motore jscript legacy. Può essere attivata in Internet Explorer. L'exploit qui è scritto da maxpl0it ma la vulnerabilità stessa è stata scoperta da Qihoo 360 mentre veniva sfruttata in natura. Questo exploit apre semplicemente calc.
La vulnerabilità esiste nella funzione sort dell'Array quando si usa una funzione di confronto.
I due argomenti forniti alla funzione di confronto non sono tracciati dal Garbage Collector e quindi punteranno a memoria liberata dopo che il GC viene chiamato.
Note sull'exploit
L'exploit è stato scritto specificamente per Windows 7, ma potrebbe probabilmente essere portato senza troppa difficoltà.
Questo exploit è stato scritto per istanze x64 di IE, quindi funzionerà (ed è stato testato) sulle seguenti configurazioni del browser:
IE 8 (build x64)
IE 9 (build x64)
IE 10 (con Enhanced Protected Mode abilitata o TabProcGrowth abilitato)
IE 11 (con Enhanced Protected Mode abilitata o TabProcGrowth abilitato)
Vale la pena notare che Enhanced Protected Mode su Windows 7 abilita semplicemente la versione x64 del processo del browser, quindi non è tanto un sandbox escape quanto l'assenza di ulteriori sandbox. Ironia della sorte, poiché questo exploit è per x64, EPM in realtà ne consente il funzionamento.
L'exploit non è fatto per bypassare interamente EMET (è stato implementato solo un bypass del rilevamento dello stack pivot), tuttavia la versione finale (5.52) non sembra attivare EAF+ quando l'exploit viene eseguito, mentre la 5.5 lo fa (almeno su Windows 7 x64). Quindi IE 11 in Enhanced Protected Mode con le impostazioni EMET massime abilitate consente l'exploit.
L'exploit è pesantemente commentato, ma per comprendere meglio come funziona e cosa fa in ogni fase, cambia var debug = false; in var debug = true; e apri la console sviluppatore per vedere il log oppure tienila chiusa e visualizza i popup alert (che possono essere un po' fastidiosi).