
Ранее 0day-эксплойт из утечки Hacking Team, написанный Eugene Ching/Qavar.
Это эксплойт для CVE-2015-2426 (MS-078) — 0day-эксплойт локального повышения привилегий в ядре Windows из архива Hacking Team (email здесь). Он был разработан Eugene Ching / Qavar security. Исходное содержимое ниже:
Эксплойт, использующий повреждение памяти в ядре Windows и приводящий к повышению привилегий.
Протестировано на полностью обновлённой Windows 8.1 (по состоянию на 28 января 2015 г.).
Также протестировано для работы против:
при условии наличия подходящей RCE в Chrome (имитируется путём внедрения потока в Chrome)
Основной эксплойт реализован в PIC.c, который поставляется как часть решения Visual Studio 2013 Express.
Сборка решения создаст PIC.exe.
В конечном счёте мы хотим внедрить эксплойт в память целевого процесса и сразу запустить его. Для этого необходимо внедрить только соответствующие инструкции (опкоды) и необходимые данные.
Поэтому мы извлекаем сегмент кода (опкоды) из PIC.exe и добавляем необходимые данные (повреждённый шрифт, font-data.bin) в последовательность байтов.
В результате получаются «сырые байты», которые можно напрямую внедрить в целевой процесс и для которых вызвать CreateRemoteThread().
Этот процесс автоматизирован с помощью Python-скрипта make-raw-bytes.py. Результат — raw-bytes.bin.
Чтобы преобразовать «сырые байты» в .exe, который действительно внедряет «сырые байты» в целевой процесс, необходимо вызвать WriteProcessMemory() и CreateRemoteThread().
Этот процесс выполняется скриптом make-injector-cpp.py. Результат — injector.cpp, фрагмент кода, который при компиляции принимает PID целевого процесса и выполняет эксплойт.
Для удобства make.bat создаст injector.exe напрямую, выполняя описанные выше шаги.
Иными словами, make.bat: