- 第一部分: Introduction to Exploit Development
- 第二部分:Saved Return Pointer Overflows
- 第三部分:Structured Exception Handler (SEH)
- 第四部分:Egg Hunters
- 第五部分:Unicode 0x00410041
- 第六部分:WIN32 shellcode 编写
- 第七部分:返回导向编程(ROP)
- 第八部分:堆喷射第一节【覆写 EIP】
- 第九部分:堆喷射[第二章:UAF]
- 第十部分:内核利用程序之栈溢出
- 第十一部分:内核利用程序之任意位置任意写
- 第十二部分:内核利用程序之空指针引用
- 第十三部分:内核利用程序之未初始化栈变量
- 第十四部分:内核利用程序之整数溢出
- 第十五部分:内核利用程序之 UAF
- 第十六部分:内核利用程序之池溢出
- 第十七部分:内核利用程序之任意位置任意写
- 第十八篇:内核利用程序之 RS2 Bitmap 巫术
- 第十九篇:内核利用程序之 Razer
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
环境部署
作为第一步我想先简单的叙述调试环境的设置,这通常很痛苦。特别的,安装的目标使用 Windows(这我知道,来吧!)。
首先通过上面的链接获取 VirtualKD,解压然后安装 target 中的 vminstall 组件到待调试的 VM。
完成后在宿主机(x86/x64)启动 vmmon 并重启 VM。你可以看到类似这样的东西:
配置"Debugger path…",让它指向你宿主机的 WinDBG;VM 重启时选择 VirtualKD 的 boot 选项,此时你可以看到它会自动 attach 到机器上。很简单&并不痛苦!
还差加载漏洞驱动程序。通过前面的链接获取 OSR Driver Loader 工具(你可能需要注册->任意邮箱)。打开 OSR Loader 工具,注册服务(你可能需要重启),完成以后,单击浏览,选择漏洞驱动程序并点击启动服务。如果一切顺利的话,你将会看到这样的画面:
如果你通过 WinDBG 连接到机器,使用"lm"命令就可以看到该驱动程序被成功加载:
也可以看看挂起 IDA Pro 到 VirtualKD 的向导。如果你没有 IDA Pro,我建议你下载免费的版本,仅仅需要它的 graph view。你可以手动重定向驱动基址(rebase) 来保证和 WinDBG 中看到的一致(Edit->Segments->Rebase program)。这样一来,你可以可视化的看到当前正发生什么,哪些地址需要下断,在 WinDBG 中加以利用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论