做者:huity
出处:http://www.javashuo.com/article/p-zhbwonss-ha.html
版权:本文版权归做者全部。文章在看雪、博客园、我的博客同时发布。
转载:欢迎转载,但未经做者赞成,必须保留此段声明;必须在文章中给出原文链接;不然必究法律责任。html
0x00 前言
近期开始学习Windows内核漏洞,参考了不少博客和其余资料,决定仍是边学习边分享整个分析的过程。新手上路,若有错误,欢迎指正。
整个学习主要以HEVD(HackSysExtremeVulnerableDriver
)这个项目为主,它
一个存在漏洞的内核的驱动,里面存在多个漏洞,经过ControlCode控制漏洞类型,这个项目的驱动里几乎涵盖了内核可能存在的全部漏洞,从最基础的栈溢出,到池溢出,释放后重用等等类型,是一个很是好的项目。
实验环境:Win10专业版+VMware Workstation 15 Pro+Win7
x86 sp1
实验工具:VS2015+Windbg+KmdManager+DbgViewer
0x01 搭建双机调试环境
配环境是真的辛苦,不过丝毫马虎不得,否则影响后面的工做呀。
VMware+win7
首先去
官方网站
下载VMware产品,按提示安装便可,如需序列码,网上序列号便可。
完成后,双击打开,是这样的:
配置虚拟机,当有了镜像和虚拟环境之后,直接
参考教程
便可,这里再也不赘述。
成功启动,又见到了咱们熟悉的界面:
Windbg
内核调试,离不开Windbg,那么首先须要下载安装SDK,直接
官网下载
安装便可。
安装完成后,须要配置虚拟机和主机串口,进行通讯才能进行调试,借鉴前人经验,很快咱们就可配置完成。
配置完成后,当咱们打开调试模式后,windbg显示以下,及说明配置成功。
编译驱动程序
咱们须要安装Visual Studio 2015以及最新的SDK。还要安装Windows驱动程序工具包(WDK)。具体安装步骤可参考教程,安装完成后,下载项目。解压,打开Driver中的HEVD.sln文件,以下:
编译前,须要设置项目属性:
右键-属性-C/C++ - 警告等级 设置为等级3(/W3)
将警告视为错误 改成 否(/WX-)
-代码生成 -安全检查 改成 禁用安全检查(/GS-)
-连接器 - 将链接器警告视为错误 改成 否(/WX:NO)
-Driver Settings - Target OS Version 改成Windows 7
而后编译,以下所示,即生成驱动文件。
多说一点,我第一次操做时,发现了编译不能成功,出现以下错误:
error : Invalid argument <HEVD.crt> for property <TestCertificate>.
通过长时间的查找资料,最终发现了解决方案,感谢
海歌也疯狂的方法!
0x02 关于工具:
不少人都在用OSRLoader,我我的使用的是KmdManger和DbgViewer,有须要的能够点击下载。git
提取码:kooc
后面将开始对内核常见漏洞类型进行分析和学习,冲鸭!