.NET 分析器 DLL 加载可被滥用,使合法的 .NET 应用程序使用环境变量加载恶意 DLL。此漏洞利用任务计划程序 (MMC) 加载恶意 DLL 以绕过 UAC 并获取管理员权限。
CLR 使用 COR_PROFILER_PATH 环境变量来查找 DLL,如果未定义此路径,它会查找 CLSID 来加载 DLL。在这种情况下,我们在用户 (HKCU) 下创建了三个环境变量。COR_PROFILER_PATH 引用了我们的恶意 DLL,因此当我们执行任何 .NET 应用程序(始终以高 IL 执行,没有 UAC 提示)时,都会加载我们的 dll 以绕过 UAC 提示并获取高 IL(管理员权限)。
- COR_ENABLE_PROFILING=1
- COR_PROFILER={A2D4B6C7-1234-5678-9ABC-DEF012345678}
- COR_PROFILER_PATH=C:UsersPublicled.dll
用法
-
将编译后的 DLL(led.dll)放在“C:UsersPublic”文件夹中。
-
使用 Visual Studio 构建项目并执行编译的二进制文件。
-
您将获得管理 shell,DLL 正在执行命令以打开 cmd.exe。
-
在 Windows 11 pro、23H2 上测试
免责声明
仅用于教育目的。
参考
https://offsec.almond.consulting/UAC-bypass-dotnet.html
https://blog.talosintelligence.com/deep-dive-into-phobos-ransomware/
https://github.com/Offensive-Panda/.NET_PROFILER_DLL_LOADING
原文始发于微信公众号(Ots安全):使用 .NET Profiler DLL 加载绕过 UAC Windows 11 专业版 23H2
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论