Auto-Elevate
此工具演示了UAC绕过和Windows内置功能的能力。该工具自动定位winlogon.exe,窃取并模拟其进程令牌,并使用窃取的令牌生成一个新的SYSTEM级进程。结合来自hfiref0x的UACME工具中的UAC绕过方法#41(ICMLuaUtil UAC绕过),此工具可以将低权限的管理员帐户自动提升到NT AUTHORITY\SYSTEM。
下图演示了在Windows 10 21H1上,使用UACME结合Auto-Elevate从低权限管理员帐户提升到NT AUTHORITY\SYSTEM的过程。

下图演示了在没有UAC绕过的情况下,从高权限管理员帐户提升到SYSTEM的过程。

技术说明
Auto-Elevate执行以下步骤从低权限管理员提升到SYSTEM:

Auto-Elevate
- 通过使用CreateToolhelp32Snapshot、Process32First和Process32Next枚举系统正在运行的进程来定位winlogon.exe进程
- 通过调用AdjustTokenPrivileges为当前进程启用SeDebugPrivilege,因为这是打开winlogon.exe句柄所必需的
- 通过调用OpenProcess打开winlogon.exe进程的句柄,此调用使用了PROCESS_ALL_ACCESS(尽管有些过度)
- 通过调用OpenProcessToken并结合先前获取的进程句柄来检索winlogon的进程令牌句柄
- 通过调用ImpersonateLoggedOnUser模拟winlogon的用户(SYSTEM)
- 通过使用SecurityImpersonation调用DuplicateTokenEx来复制模拟的令牌句柄,这创建了一个我们可以使用的重复令牌
- 使用复制的模拟令牌,通过调用CreateProcessWithTokenW生成一个新的CMD实例
待办事项
MITRE ATT&CK映射