无法在恶意驱动程序的 DriverEntry 处中断

逆向工程 风袋 内核模式
2021-06-30 02:30:01

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

以下是设置的详细信息:

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

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

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

在主机操作系统上的 Windbg 中,我通过命名管道连接到来宾操作系统。将断点设置为在驱动程序的 DriverEntry 处中断,如下所示:

bu malicious_driver!DriverEntry

然后按 g。

在 Guest OS 中,使用 osronline.com 的 OSR Driver Loader 加载驱动程序。

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

我在 Windbg 中中断,但收到以下错误消息:

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 操作系统驱动程序(如 ndis.sys、http.sys)的 DriverEntry

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

谢谢。

1个回答

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