GetTokenInformation 在非提升时不会返回所有特权的雕像
GetTokenInformation doesn't return statue of all privileges when non-elevated
>我创建了一个命令,该命令使用GetTokenInformation获取当前进程的权限信息,并运行它提升和非提升。 提升(以管理员身份运行(时,我获得所有特权的状态。 当非提升时,我只获得 8 个特权的状态,其中一些已启用,一些被禁用。
为什么在非提升运行时只返回 8 个权限?
令牌不能在创建后添加权限,非提升的令牌是使用较少的权限集创建的,因此即使非提升进程的安全性被破坏,权限也根本不存在以启用。这样,只有提升的进程集才会呈现重要的攻击面。
这取决于用户帐户控制 (UAC(,您可以参考有关用户帐户控制如何工作的文档
如果启用了 UAC:
当您运行进程(无提升(时,它将获得一个受限令牌,并且管理员将从组列表中删除。即使当前用户是管理员组的成员,进程也不能使用管理员权限。
如果禁用了 UAC:
您将获得原始令牌的副本,没有限制。
您可以将以下寄存器设置为禁用(不建议禁用 UAC(:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem
EnableLUA = 1 (REG_DWORD)
并重新启动PC。
相关文章:
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- 为什么 c++(g++) 不允许模板返回类型和函数名称之间有空格?
- 为什么返回类型的'const'限定符对标有 __forceinline/内联的函数没有影响?
- QNX Momentics: GoogleMock - 返回有价值,在函数中返回 void 错误
- GetTokenInformation 在非提升时不会返回所有特权的雕像
- 这个返回元素位置的基于循环的函数有什么问题?
- 有没有办法修改'operator->',以便'z->im'返回复数的虚部
- std::endl,在 Python 中是否有等价物?(返回 + 刷新)
- API 返回智能指针的 std::optional 以明确指定指针可能为 null 是否有意义?
- 给定一个源文件,有没有办法要求 gcc 返回仅直接包含的头文件的列表?
- 有没有办法改变概念中的复合需求返回的类型?
- 如何从返回有符号整数的函数返回错误
- 返回和不返回有什么区别?
- 根据模板参数返回有价值的
- 在某些情况下无法返回有意义值的 C++ 函数
- 为什么 std::count_if 返回有符号的值而不是无符号的值
- 从C++函数返回有意义的错误-最佳实践
- 为什么std::abs返回有符号类型
- 为什么std::count返回有符号整数