
Exploit anteriormente 0day do vazamento da Hacking Team, escrito por Eugene Ching/Qavar.
Este é um exploit para CVE-2015-2426 (MS-078), um 0day de escalada local de privilégios no kernel do Windows, proveniente do arquivo do Hacking Team (e-mail aqui). Foi desenvolvido por Eugene Ching / Qavar security. Conteúdo original abaixo:
Exploit de corrupção de memória do kernel do Windows que leva à escalada de privilégios.
Testado no Windows 8.1 totalmente corrigido (em 28 Jan 2015).
Também testado para funcionar contra:
assumindo um RCE adequado no Chrome (simulado ao injetar uma thread no Chrome)
O exploit principal é implementado em PIC.c, que é fornecido como parte de uma
solução do Visual Studio 2013 Express.
A compilação da solução produziria PIC.exe.
Nosso objetivo final é injetar o exploit na memória do alvo e executá-lo diretamente. Para isso, precisamos injetar apenas as instruções relevantes (opcodes) e os dados necessários.
Portanto, extraímos o segmento de código (os opcodes) de PIC.exe e anexamos os
dados necessários (a fonte malformada, font-data.bin) em uma sequência de bytes.
Isso produz os "bytes brutos" que podemos injetar diretamente no alvo e usar para
chamar CreateRemoteThread().
Esse processo é automatizado pelo script Python chamado make-raw-bytes.py.
A saída é raw-bytes.bin.
Para converter os "bytes brutos" em um .exe que de fato injeta os "bytes brutos"
em um alvo, precisamos chamar WriteProcessMemory() e CreateRemoteThread().
Esse processo é tratado por make-injector-cpp.py. A saída é
injector.cpp, um trecho de código que, quando compilado, recebe um PID alvo e
executa o exploit.
Por conveniência, make.bat produzirá injector.exe diretamente ao executar
as etapas descritas acima.
Em outras palavras, make.bat irá: