我从VirusTotal获得了一个恶意的内核模式驱动程序。现在,我正在尝试使用Windbg对其进行调试。

以下是安装程序的详细信息:

主机操作系统:Win 7 Ultimate 64位,Windbg版本6.11.x ,VMWare工作站和来宾OS:Win XP SP3

我将内核模式驱动程序放在来宾OS中的路径:C:\ drivers \ test

在.sys扩展中添加了内核模式驱动程序。

在主机OS的Windbg中,我通过命名管道连接到来宾OS。设置断点以在驱动程序的DriverEntry处断开,如下所示:

bu malicious_driver!DriverEntry


,然后按g。从osronline.com加载程序以加载驱动程序。

浏览驱动程序,注册服务并启动服务。 :

kd> bu malicious_driver!DriverEntry
kd> g
*** ERROR: Module load completed but symbols could not be loaded for malicious_driver.sys
Breakpoint 0's offset expression evaluation failed.
Check for invalid symbols or bad syntax.
WaitForEvent failed
nt!DebugService2+0x11:
8052e4c5 5d              pop     ebp
kd> !drvobj malicious_driver
Driver object (b25eb000) is for:
b25eb000: is not a driver object


请注意,我能够成功破解已知合法Microsoft Windows OS驱动程序的DriverEntry,例如ndis.sys,http.sys

但是,在这种情况下,如何在恶意驱动程序的入口点中断?我也没有对应的符号。

谢谢。

#1 楼

尝试“中断模块负载”(例如sxe ld malicious_driver.sys)。命中后,您可以检查驱动程序的加载地址并按地址设置断点。