
Exploit 0day precedentemente divulgato dalla fuga di Hacking Team, scritto da Eugene Ching/Qavar.
Questo è un exploit per CVE-2015-2426 (MS-078), una vulnerabilità di elevazione locale dei privilegi nel kernel Windows, 0day proveniente dall'archivio di Hacking Team (email qui). È stato sviluppato da Eugene Ching / Qavar security. Contenuto originale qui sotto:
Exploit di corruzione della memoria del kernel Windows che porta all'elevazione dei privilegi.
Testato su Windows 8.1 completamente aggiornato (al 28 gennaio 2015).
Testato anche per funzionare con:
supponendo un adeguato RCE in Chrome (simulato iniettando un thread in Chrome)
L'exploit principale è implementato in PIC.c, fornito come parte di una
soluzione Visual Studio 2013 Express.
La compilazione della soluzione produce PIC.exe.
L'obiettivo finale è iniettare l'exploit nella memoria del target ed eseguirlo direttamente. Per fare ciò, dobbiamo iniettare solo le istruzioni pertinenti (opcode) e i dati necessari.
Quindi estraiamo il segmento del codice (gli opcode) da PIC.exe e aggiungiamo
i dati necessari (il font malformato, font-data.bin) in una sequenza di byte.
Questo produce i "byte grezzi" che possiamo iniettare direttamente nel target e
su cui chiamare CreateRemoteThread().
Questo processo è automatizzato tramite lo script Python chiamato make-raw-bytes.py.
L'output è raw-bytes.bin.
Per convertire i "byte grezzi" in un .exe che inietti effettivamente i "byte grezzi"
in un target, dobbiamo chiamare WriteProcessMemory() e CreateRemoteThread().
Questo processo è gestito da make-injector-cpp.py. L'output è
injector.cpp, un frammento di codice che, una volta compilato, prende un PID di destinazione ed
esegue l'exploit.
Per comodità, make.bat produce direttamente injector.exe eseguendo i passaggi
descritti sopra.
In altre parole, make.bat: