作者:huity
出处:https://www.cnblogs.com/huity35/p/11203303.html 
版权:本文版权归作者所有。文章在看雪、博客园、个人博客同时发布。
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任。

span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }.cm-searching {background: #ffa; background: rgba(255, 255, 0, .4);}.cm-force-border { padding-right: .1px; }@media print { .CodeMirror div.CodeMirror-cursors {visibility: hidden;}}.cm-tab-wrap-hack:after { content: ""; }span.CodeMirror-selectedtext { background: none; }.CodeMirror-activeline-background, .CodeMirror-selected {transition: visibility 0ms 100ms;}.CodeMirror-blur .CodeMirror-activeline-background, .CodeMirror-blur .CodeMirror-selected {visibility:hidden;}.CodeMirror-blur .CodeMirror-matchingbracket {color:inherit !important;outline:none !important;text-decoration:none !important;}.CodeMirror-sizer {min-height:auto !important;}
-->
span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: rgba(48, 48, 48, .99); }.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(48, 48, 48, .99); }.cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; }.cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; }.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; }.cm-s-base16-dark .CodeMirror-linenumber { color: #505050; }.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; }.cm-s-base16-dark span.cm-comment { color: #8f5536; }.cm-s-base16-dark span.cm-atom { color: #aa759f; }.cm-s-base16-dark span.cm-number { color: #aa759f; }.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #90a959; }.cm-s-base16-dark span.cm-keyword { color: #ac4142; }.cm-s-base16-dark span.cm-string { color: #f4bf75; }.cm-s-base16-dark span.cm-variable { color: #90a959; }.cm-s-base16-dark span.cm-variable-2 { color: #6a9fb5; }.cm-s-base16-dark span.cm-def { color: #d28445; }.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; }.cm-s-base16-dark span.cm-tag { color: #ac4142; }.cm-s-base16-dark span.cm-link { color: #aa759f; }.cm-s-base16-dark span.cm-error { background: #ac4142; color: #b0b0b0; }.cm-s-base16-dark .CodeMirror-activeline-background { background: #202020; }.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
-->
li {list-style-type:decimal;}.wiz-editor-body ol.wiz-list-level2 > li {list-style-type:lower-latin;}.wiz-editor-body ol.wiz-list-level3 > li {list-style-type:lower-roman;}.wiz-editor-body li.wiz-list-align-style {list-style-position: inside; margin-left: -1em;}.wiz-editor-body blockquote {padding: 0 12px;}.wiz-editor-body blockquote > :first-child {margin-top:0;}.wiz-editor-body blockquote > :last-child {margin-bottom:0;}.wiz-editor-body img {border:0;max-width:100%;height:auto !important;margin:2px 0;}.wiz-editor-body table {border-collapse:collapse;border:1px solid #bbbbbb;}.wiz-editor-body td,.wiz-editor-body th {padding:4px 8px;border-collapse:collapse;border:1px solid #bbbbbb;min-height:28px;word-break:break-word;box-sizing: border-box;}.wiz-editor-body td > div:first-child {margin-top:0;}.wiz-editor-body td > div:last-child {margin-bottom:0;}.wiz-editor-body img.wiz-svg-image {box-shadow:1px 1px 4px #E8E8E8;}.wiz-hide {display:none !important;}
-->

0x00 前言
近期开始学习Windows内核漏洞,参考了很多博客和其他资料,决定还是边学习边分享整个分析的过程。新手上路,如有错误,欢迎指正。
整个学习主要以HEVD(HackSysExtremeVulnerableDriver)这个项目为主,它一个存在漏洞的内核的驱动,里面存在多个漏洞,通过ControlCode控制漏洞类型,这个项目的驱动里几乎涵盖了内核可能存在的所有漏洞,从最基础的栈溢出,到池溢出,释放后重用等等类型,是一个非常好的项目。
实验环境:Win10专业版+VMware Workstation 15 Pro+Win7 x86 sp1
实验工具:VS2015+Windbg+KmdManager+DbgViewer
0x01 搭建双机调试环境
配环境是真的辛苦,不过丝毫马虎不得,不然影响后面的工作呀。
VMware+win7
首先去官方网站下载VMware产品,按提示安装即可,如需序列码,网上序列号即可。

完成后,双击打开,是这样的:
接着需要去下载win7镜像,注意区分版本。

配置虚拟机,当有了镜像和虚拟环境以后,直接参考教程即可,这里不再赘述。
成功启动,又见到了我们熟悉的界面:
 
Windbg
内核调试,离不开Windbg,那么首先需要下载安装SDK,直接官网下载安装即可。

安装完成后,需要配置虚拟机和主机串口,进行通信才能进行调试,借鉴前人经验,很快我们就可配置完成。
配置完成后,当我们打开调试模式后,windbg显示如下,及说明配置成功。
tips:安装完成后,可以保存快照,这样大大加速每次虚拟机开机效率。<wiz_code_mirror>

 
 
 
 
1
tips:安装完成后,可以保存快照,这样大大加速每次虚拟机开机效率。
 
 
 
编译驱动程序
我们需要安装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,有需要的可以点击下载

提取码:kooc 
 
后面将开始对内核常见漏洞类型进行分析和学习,冲鸭!

作者:huity
出处:http://www.cnblogs.com/huity35/
版权:本文版权归作者所有。
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任。

 

[01] HEVD 双机调试环境搭建的更多相关文章

  1. Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  2. [内核编程] Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  3. MacOs/Liunx主机搭建windows平台双机调试环境

    0x00 前言 本文的主要试用对象是Mac OS/Linux用户,对于想调试windows内核相关的一些东西时,需要搭建双机调试环境的一些记录.另外对于本机是windows的用户也完全试用,windo ...

  4. HI3518E平台ISP调试环境搭建

    海思的SDK提供了ISP调试的相关工具,降低了IPC的ISP调试的难度.初次搭建ISP调试环境,记录一下. SDK版本:Hi3518_MPP_V1.0.A.0 硬件平台:HI3518E_OV9732 ...

  5. arm64 调试环境搭建及 ROP 实战

    前言 比赛的一个 arm 64 位的 pwn 题,通过这个题实践了 arm 64 下的 rop 以及调试环境搭建的方式. 题目文件 https://gitee.com/hac425/blog_data ...

  6. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  7. Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建

    Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建 由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突.所以 ...

  8. 《天书夜读:从汇编语言到windows内核编程》四 windows内核调试环境搭建

    1) 基础篇是讲理论的,先跳过去,看不到代码运行的效果要去记代码是一个痛苦的事情.这里先跳入探索篇.其实今天的确也很痛苦,这作者对驱动开发的编译与调试环境介绍得太模糊了,我是各种尝试,对这个环境的搭建 ...

  9. 一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 本文分析 Vault 7 中泄露的 RouterOs 漏洞.漏洞影 ...

随机推荐

  1. Android零基础入门第51节:进度条ProgressBar

    原文:Android零基础入门第51节:进度条ProgressBar 不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有AP ...

  2. 百度 Echarts 地图表 js 引用路径

    使用地图表格,除了需echarts,还需zrender,自行下载JS文件:   目标,做成这样的效果:http://echarts.baidu.com/doc/example/map3.html   ...

  3. Qt在Windows下的三种编程环境搭建(图文并茂,非常清楚)good

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...

  4. 记一次排查tomcat耗费CPU过高的经历

    有一个新项目,在测试环境部署后,发现tomcat进程耗费的CPU非常高,排查过程如下: 日志搜集 先通过top,查找耗费CPU最高的线程 top -Hp pid 将线程ID转为16进制 printf ...

  5. 只言片语 - cell 图片复用问题

    一. 今日做项目遇到图片复用问题,返回cell高度相同,由于网络不好出现图片复用,发现问题   Cell 图片加载方法如下: - (void)sd_setImageWithURL:(NSURL *)u ...

  6. DataVeryLite入门教程(二) Entity篇

    DataVeryLite 是基于.net 4.0的数据库持久化ORM框架. 目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access. ...

  7. .net core 2.0 dbfirst 报 dotnet ef 未找到与命令“dotnet-ef”匹配的可执行文件的解决办法

    问题描述: 最近研究了一段时间.netcore dbfirst,新建类库用来生成实体模型,执行命令总是提示 未找到与命令“dotnet-ef”匹配的可执行文件,根据网上的解决办法引用 Microsof ...

  8. SYN591型 多功能数字面板表

       SYN591型 多功能数字面板表 多功能数字面板表数字面板表使用说明视频链接: http://www.syn029.com/h-pd-248-0_310_44_-1.html 请将此链接复制到浏 ...

  9. 在phpstorm中安装、配置和运行phpunit详细教程

    前提:安装了composer 一.安装phpunit组件 右键项目文件,composer---init composer,会生成一个composer.json文件 右键项目文件,composer--- ...

  10. 最全java多线程总结3——了解阻塞队列和线程安全集合不

      看了前两篇你肯定已经理解了 java 并发编程的低层构建.然而,在实际编程中,应该经可能的远离低层结构,毕竟太底层的东西用起来是比较容易出错的,特别是并发编程,既难以调试,也难以发现问题,我们还是 ...