WEB开发网
开发学院网络安全安全技术 详解如何利用Windows设备驱动 阅读

详解如何利用Windows设备驱动

 2009-02-12 13:55:33 来源:WEB开发网   
核心提示: -KeSetTimeUpdateNotifyRoutine-PsSetCreateThreadNotifyRoutine-PsSetCreateProcessNotifyRoutine-PsSetLegoNotifyRoutine-PsSetLoadImageNotifyRoutine看起

   -KeSetTimeUpdateNotifyRoutine
  -PsSetCreateThreadNotifyRoutine
  -PsSetCreateProcessNotifyRoutine
  -PsSetLegoNotifyRoutine
  -PsSetLoadImageNotifyRoutine

看起来这些都是非常有用的,现在我们以KeSetTimeUpdateNotifyRoutine为例分析下是否可以被我们利用。

详解如何利用Windows设备驱动

函数会将ECX寄存器值写入到我命名为KiSetTimeUpdateNotifyRoutin 的内存地址中。

详解如何利用Windows设备驱动

现在我们看看调用这里的地方:

如同你见到的那样,在0x8053513B 位置,指令将会从KiSetTimeUpdateNotifyRoutine内存地址(当然它得非0)执行。这样我们就可以将KiSetTimeUpdateNotifyRoutine 改写成我们希望执行的内存地址。但是这个方法存在着一些问题,我曾经对比过一些windows内核发现,他们中很多在执行call "routines"(比如call dword ptr [KiSetTimeUpdateNotifyRoutine])时会发生丢失现象,因为他们中有些仅仅只是写入或者读取操作,而不是执行。这个结果令我非常失望,于是我开始寻找其他的有用的缺陷代码点。通过对比一些内存中的调用,我发现了以下的地址:

详解如何利用Windows设备驱动

0x8058697A 处的指令好像是被预置的,而且在所有我看过的内核中都是可用的。这个给我足够的结果可以用来进行攻击了,现在让我们来计划下如何攻击吧。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:详解 如何 利用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接