關於Auto-Elevate
Auto-Elevate是一款功能強大的Windows系統安全測試工具,該工具可以在不需要離邕任何LPE漏洞的情況下,通過結合COM UAC繞過技術和令牌偽造技術,幫助廣大研究人員將低完整性的管理員賬號提升至NT AUTHORITY\SYSTEM。
該工具能夠實現UAC以及其他一些Windows內置功能的繞過,該工具能夠自動定位winlogon.exe,並能夠竊取和模擬該程序的進程令牌,然後使用竊取來的令牌生成一個新的系統級進程。
值得一提的是,該工具結合了UACME實用工具的UAC繞過技術,感興趣的同學可以搜索了解該工具所實現的ICMLuaUtil UAC繞過方法(#41)。
技術介紹
該工具是一款功能強大的提權和系統安全測試工具,下圖顯示的是Auto-Elevate將一個低等級權限的管理員賬號提升為SYSTEM的步驟流程:
工具運行流程
1、工具通過使用CreateToolhelp32Snapshot、Process32First和Process32Next來枚舉目標系統中正在運行的進程以查找定位winlogon.exe;
2、通過調用AdjustTokenPrivileges來為當前進程啟動SeDebugPrivilege,因為我們需要為winlogon.exe開啟一個句柄;
3、通過調用OpenProcess來打開一個winlogon.exe進程句柄,此時將會調用到PROCESS_ALL_ACCESS;
4、工具將通過調用OpenProcessToken並結合之前獲得的進程句柄來檢索winlogon的進程令牌句柄;
5、通過調用ImpersonateLoggedOnUser來偽造winlogon用戶;
6、通過使用SecurityImpersonation來調用DuplicateTokenEx並複製偽造的令牌句柄,這將創建一個我們可以使用的令牌副本;
7、在令牌副本的幫助下,我們就可以通過調用CreateProcessWithTokenW來生成一個新的CMD實例了;
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地:
接下來,將.cpp文件導入到Visual Studio中編譯後即可直接使用。
工具使用
下圖中演示了如何在Windows 10 21H1操作系統平台上,使用UACME結合Auto-Elevate來將一個低等級權限的管理員賬號提升為NT AUTHORITY\SYSTEM:
下圖演示了如何在不使用UAC繞過技術的情況下,將一個高低等級權限的管理員賬號提權為SYSTEM:
項目地址
https://github.com/FULLSHADE/Auto-Elevate
參考資料
https://attack.mitre.org/techniques/T1134/
https://attack.mitre.org/techniques/T1134/001/
https://attack.mitre.org/techniques/T1134/002/
https://attack.mitre.org/techniques/T1134/003/

精彩推薦



