今天看啥  ›  专栏  ›  黑客在思考

「内核对抗」gdrv.sys驱动漏洞分析

黑客在思考  · 公众号  ·  · 2023-11-10 09:58
    驱动程序是内核模式下的一个对象,当处于用户模式下时,需要一些中间方式来与驱动程序交互。为了做到这一点,需要看看它DEVICE_OBJECT是如何创建的。DEVICE_OBJECT通常有一个引用它的符号链接,允许客户端与驱动程序交互。该对象是客户端与之交互的对象。    可以使用 IDA 来定位符号链接的名称。该DriverEntry函数类似于main()内核模式驱动程序中的函数。此外,DriverEntry函数原型化为接受指向 DEVICE_OBJECT的指针,查看DEVICE_OBJECT的Microsoft 文档,我们可以看到该结构的成员之一是指向DEVICE_OBJECT 的指针。 首先用Ghidra打开存在漏洞的驱动程序gdrv.sys(CVE-2018-19320),定位到入口点entry该\Device\GIO字符串用于调用来IoCreateDevice创建DEVICE_OBJECT。Entry中生成设备对象以及生成符号链接后,其中主要有两个设备控制请求对应驱动代码类似于:DriverObject->MajorFun ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照