这是针对 CVE-2015-2426 (MS-078) 的一个漏洞利用程序,它来自 Hacking Team 档案中的 Windows 内核本地权限提升 0day(邮件见此处)。由 Eugene Ching / Qavar security 开发。以下是原始内容:
Windows 内核内存损坏漏洞利用,可导致权限提升。
已在完全修补(截至 2015 年 1 月 28 日)的 Windows 8.1 上测试。
另外还测试了可针对以下目标使用:
假设 Chrome 中存在合适的 RCE(模拟方式:通过将线程注入到 Chrome)
主要漏洞利用在 PIC.c 中实现,该文件作为
Visual Studio 2013 Express 解决方案的一部分提供。
生成该解决方案将生成 PIC.exe。
我们最终希望将漏洞利用注入目标的内存中,并直接 运行它。为此,我们只需注入相关的指令 (操作码)以及必要的数据。
因此,我们从 PIC.exe 中提取代码段(操作码),并将
必要的数据(畸形字体 font-data.bin)追加到一个 字节序列中。
这样就得到了“原始字节”,我们可以将其直接注入目标,并
对其调用 CreateRemoteThread()。
该过程由名为 make-raw-bytes.py 的 Python 脚本自动完成。
输出为 raw-bytes.bin。
为了将“原始字节”转换为真正将其注入目标的 .exe,
我们需要调用 WriteProcessMemory() 和 CreateRemoteThread()。
该过程由 make-injector-cpp.py 处理。输出为
injector.cpp,这是一段代码,编译后它会接收目标 PID 并
执行漏洞利用。
为方便起见,make.bat 将直接生成 injector.exe,它通过执行
上述步骤来完成。
换句话说,make.bat 将: