2

我需要获取所有 Win-Kernel 对象的访问权限列表;我所做的:

for (int i=0; i<9999; i++)
    GetKernelObjectSecurity( i, ... ) //result in security_descriptor
    GetSecurityDescriptorDacl( security_descriptor, ... ) // result in lpbDaclPresent
    if (lpbDaclPresent)
        //lpbDaclPresent - need to get

如果 DACL = Null -> "所有人都可以做所有事情"

如果 DACL != Null -> 解析 DACL 掩码


我在正确的轨道上?顺便说一句,我有:

约 300 个不带 DACL 的句柄

大约 100 个使用 DACL 的句柄(在 Windows 7 上测试)

4

1 回答 1

2

如果您想通过 HANDLES 进行暴力破解,请不要在 9999 处停止。遍历所有 32 位值。

或者,您可以枚举所有 Usermode-Process-Handles:http: //forum.sysinternals.com/howto-enumerate-handles_topic18892.html

这种方法的优点是,您知道 Handles 原始流程,以便在需要时使用 DuplicateHandle。

于 2013-01-28T11:54:10.297 回答