有没有什么办法可以确定哪个车手是hanlde的车主? 我的意思是它存储在Windows对象的任何地方? 我可以通过volatilty看到句柄,但所有内核句柄都分配给System.exe pid:4,我需要确切地知道哪个驱动程序正在使用此系统句柄?
谢谢
有什么方法可以确定哪个驱动程序是句柄的拥有者?
当内核模块(或内核空间中的线程)调用内核API(例如NtCreateFile)时,句柄将从System进程的句柄表中分配。 在这种情况下,答案是:不。
我的意思是它存储在Windows对象的任何地方?
我觉得不是
我需要确切地知道哪个驱动程序正在使用这个系统句柄?
取决于你正在做的分析。 如果您需要将对象关联到拥有该对象的驱动程序,则可以尝试分析_POOL_HEADER结构以获取有关谁生成了分配的信息。 但是如果你需要分析一个执行对象(例如_FILE对象),这个头中的PoolTag字段将等于ObjectType.Key,所以这种方式对于你的目的不是很有用。 一般来说,如果你正在寻找一个进程可以访问的资源(即内存映射文件),你可以使用memmap volatile插件来分析进程的页表以及进程的内存区域。 我建议您使用VAD结构的专用插件,以便您可以收集关于进程的虚拟地址空间的高级信息。