1

有没有办法确定哪个司机是hanlde的所有者?我的意思是它是否存储在 Windows 对象的任何位置?我可以通过 volatilty 查看句柄,但所有内核句柄都分配给 System.exe pid:4,我需要确切知道哪个驱动程序正在使用该系统句柄?

谢谢

4

1 回答 1

1

有没有办法确定哪个司机是把手的主人?

当内核模块(或内核空间中的线程)调用内核 API(例如 NtCreateFile)时,句柄是从系统进程的句柄表中分配的。在这种情况下,答案是:不。

我的意思是它是否存储在 Windows 对象的任何位置?

我觉得不是

我需要确切知道哪个驱动程序正在使用这个系统句柄?

取决于你正在做的分析。如果您需要将对象关联回拥有它的驱动程序,您可以尝试分析 _POOL_HEADER 结构以获取有关谁产生分配的信息。但是如果你需要分析一个执行对象(例如_FILE对象),这个头中的PoolTag字段将等于ObjectType.Key,所以这种方式对你的目的不是很有用。一般来说,如果您正在寻找进程可以访问哪些资源(即内存映射文件),您可以使用memmap波动性插件分析进程的页表以及进程的内存区域。我建议您使用 VAD 结构的专用插件,以便您可以收集有关进程虚拟地址空间的高级信息。

于 2016-01-06T16:12:31.707 回答