首页
社区
课程
招聘
[翻译] Windows内核驱动攻击 (Pt. 1) - 环境搭建
发表于: 2017-9-10 21:06 4395

[翻译] Windows内核驱动攻击 (Pt. 1) - 环境搭建

2017-9-10 21:06
4395

这是接下来一系列关于通过驱动漏洞进行Windows内核驱动攻击里的第一部篇。

在这个项目里我将会使用的带漏洞驱动是 HackSys Extreme Vulnerable Driver, 你可以写一系列的基于IOCTL的攻击。
这个驱动可以下载x86amd64两个已编译版本。这篇文章中我将使用x86版本, 因为会更好理解。
为了热插拔加载驱动到Windows里,HackSys推荐使用OSR Driver Loader


我的操作系统是Linux,所以我无法在我的电脑上跑WinDbg来与win7虚拟机通信。
所以我最后设置了两个虚拟机(均使用相同的Win7 Sp1 x86 镜像)。然后我使用Virtual Box来在我的Linux上设置了一个文件,我通过这个文件来建立两个虚拟机之间的通信。
在虚拟机电源关闭的情况下,我设置了第一个虚拟机的Serial Port。这个虚拟机将被用于运行WinDbg的调试。

第二个用于安装HackSys驱动的虚拟机的设置和第一个类似。

这样,两个虚拟机间通过/tmp/win_link的通信就完成了!


现在虚拟机配置好了,我们要做些设置来让通信运行起来。
打开用于调试的虚拟机并且安装WinDbg。完成后我们需要设置环境变量来告诉WinDbg内核符号的来源。设置 _NT_SYMBOL_PATH环境变量到https://msdl.microsoft.com/download/symbols。搞定!
现在打开被攻击的虚拟机,我们需要打开Windows调试启动的选项。
首先我们到command prompt里把现在的启动设置复制到一个我们将编辑的新入口:
bcdedit /copy {current} /d "Debug"
这个命令会产出一个我们将要用于引用新的调试选项的GUID。现在我们开通启动选项的调试模式。
bcdedit /debug <GUID> on
搞定!我们在这个虚拟机上现在拥有一个打开了调试选项的开机设置,它将会通过我们的通信文件传递信息给用于调试的虚拟机。
现在我们回到用于调试的虚拟机并打开WinDbg。去到File -> Kernel Debug并输入115200来进行通信,使用com1当接口。

重启被攻击的虚拟机,并在启动菜单里选择“Debug”。让他进入到桌面,之后通过选择 Debug -> Break 在WinDbg里创建一个中断使被调试的Windows虚拟机中断。如果WinDbg给你一个 kd> 命令行,并且被攻击的虚拟机卡住了,那恭喜你,成功中断了!


现在虚拟机已经被设置成可以调试,我们将要把HackSys驱动装到被攻击的虚拟机来攻击他。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//