专栏首页FreeBufUAC绕过初探

UAC绕过初探

笔者最近在学习UAC绕过的技术,通过对其他师傅的文章进行总结,成功利用DLL劫持绕过了UAC,并且可以以High Mandatory Level来启动进程。在此记录下学习过程,笔者也是初次接触,若各位师傅发现文章中的错误,望各位师傅斧正。

一、基础知识简述

UAC:

用户帐户控制(User Account Control,简写作UA C)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制,保护系统进行不必要的更改,提升操作系统的稳定性和安全性。

管理员一般以较小的权限去运行管理员任务,低权限的管理员被称为被保护的管理员,这些管理员在执行管理员任务时,可以通过用户交互界面来提升权限去执行任务。

普通用户执行管理员任务时会被要求提升到管理员权限,再去执行任务

DLL文件:动态链接库文件,多数可执行文件并不是一个完整的文件,它被分为多个DLL文件,大多数EXE程序执行的时候均会调用DLL文件。

当程序运行时调用DLL文件的过程:

1.程序所在目录 2.系统目录即 SYSTEM32 目录 3.16位系统目录即 SYSTEM 目录 4.Windows目录 5.加载 DLL 时所在的当前目录 6.PATH环境变量中列出的目录

可执行程序在调用DLL文件的过程中会在高优先级目录中查找(首先查找程序所在目录),当无法找到时会依次在较低优先级的目录中查找,当程序在高优先级的目录中找到所需的DLL文件后,则不会在低优先级的目录中查找。

可执行程序的提权执行:

一些可执行文件在执行时会自动提权运行,而且不会触发UAC机制。这些应用程序清单中都有元素。

如何查看可执行文件清单中是否有元素:

1、findstr/C:"true" xxx.exe 2、使用sigcheck(微软数字签名工具)

附上工具链接:

https://docs.microsoft.com/zh-cn/sysinternals/downloads/sigcheck

这里使用一种可自动提权运行的可执行文件,且其调用dll的目录可以被写入恶意的dll文件,从而进行dll劫持:

C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe

二、通过DLL劫持成功绕过UAC机制

这里使用的是C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe文件,进行dll劫持从而绕过UAC机制

1、首先查看文件清单是否有元素,可以默认提权执行

2、通过process monitor工具来查看SystemPropertiesAdvanced.exe执行时调用dll文件的过程

添加过滤器方便查找dll的调用过程:

Windowsapps目录是win10应用商店的缓存/下载应用程序的目录,允许用户对其进行写操作,可以通过构造恶意的DLL文件并将其放入,进行DLL劫持并绕过UAC机制

3、通过msfvenom构造payloads,将构造好的srrstr.dll放入到windowssapps目录下,通过构造的CMD.exe来绕过UAC

4、再次运行SystemPropertiesAdvanced.exe,查看DLL劫持效果,发现成功绕过UAC机制(备注:这里在运行时没有进行二次调用,无法正常运行原来的程序,可能会影响被劫持程序的稳定性,这里的恶意DLL仅仅弹出CMD,就算被劫持的程序崩掉,CMD已经成功弹出,对实验结果影响不大),新的CMD不会触发UAC提示可以用regedit命令进行测试:

可以看到,此时的cmd.exe具有高完整性级别:

除此以外还可以通过同样的方式由DLL劫持来创建会话,效果如下:

参考资料链接:

https://egre55.github.io/system-properties-uac-bypass/ https://blog.csdn.net/vlily/article/details/47338327 https://payloads.online/archivers/2018-06-09/1#0x02-%E5%AF%BB%E6%89%BE%E8%BF%87%E7%A8%8B https://docs.microsoft.com/zh-cn/windows/win32/uxguide/winenv-uac

*本文作者:sssvvf,转载请注明来自FreeBuf.COM

本文分享自微信公众号 - FreeBuf(freebuf),作者:sssvvf

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一款针对DLL劫持的恶意DLL生成器

    EvilDLL是一款专门针对DLL劫持攻击而开发并设计的恶意DLL(反向Shell)生成器。

    FB客服
  • rsGen:一款基于Windows BAT和JS混编实现的通用反弹shell命令生成器

    rsGen是一款基于Widows BAT&JS混编实现的多功能反弹shell命令生成器。不仅支持生成原生反弹shell命令,还支持生成“命令中转”形式的一句话反...

    FB客服
  • Sickle:推荐一款优质ShellCode开发工具

    Sickle是一个shellcode开发工具,用于加速创建正常运行的shellcode所需的各个步骤。 Sickle主要有以下功能: 识别可能会导致shellc...

    FB客服
  • Delphi调用动态链接库

    动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件...

    Vaccae
  • 前端工程师不可不知的Nginx知识

    互联网的全球化导致了互联网的数据量快速增长,加上在本世纪初摩尔定律在单核 CPU 上的失效,CPU 朝着多核方向发展,而 Apache 显然并没有做好多核架构的...

    童欧巴
  • 开发 | 机器学习小白入门指引,开年也要规划好小目标

    网按:本文为Cookie Engineer写就,主要对机器学习进行了简单的介绍,AI科技评论编译,未经许可不得转载。 经常有人问我如何开始学习机器学习,他们面临...

    AI科技评论
  • 柯达进军区块链推动股价暴涨 两日最高涨幅328.1%

    腾讯科技讯 据外电报道,在宣布推出区块链技术支持的照片所有权管理平台KodakOne,并推出在平台内部使用的代币柯达币(KODAKCoin)之后,成立已有130...

    企鹅号小编
  • Spring Boot2 系列教程(三)理解 spring-boot-starter-parent

    前面和大伙聊了 Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用:

    江南一点雨
  • 第95天:CSS3 边框、背景和文字效果

      transform:通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。

    半指温柔乐
  • 微信原创新规将影响所有自媒体,做号者沉默、抄袭者流泪

    昨晚,微信公众平台公布的一个“小调整”在自媒体圈中炸开了锅,这个调整就是:微信公众账号无授权转载,不能再显示全文,读者要看全文,必须跳转到原公众账号的图文页面。...

    罗超频道

扫码关注云+社区

领取腾讯云代金券