BypassUAC
BypassUAC
本篇主要介绍如何以ICMLuaUtil
方式BypassUAC
,主要内容如下:
- 过掉
UAC
提示框的方法总结 UACME
项目- 什么类型的
COM interface
可以利用? - 如何快速找到系统中的所有可利用的
COM
组件? - 定位
ICMLuaUtil
的虚函数表vftable
- 如何调用
ICMLuaUtil.ShellExec
执行命令?- C++ version
- CSharp version
- 两个注意点
DLL
形式- C++ dll导出函数方式
- C# dll导出函数方式
- 一个坑
- 值得研究的
C2
推荐
过掉UAC
提示框的方法总结
这里主要说的是dll
的形式,通过上面的实操,可以发现有两种方法:
- 基于白名单程序绕过
UAC
- 伪装进程
PEB
绕过UAC
- 无文件技术
伪装进程的方式其实也可以算做借助了白名单,但是没有直接调用白名单进程,所以单独列出来了。
基于白名单程序绕过UAC
有些系统程序是直接获取管理员权限,而不会触发UAC弹框,这类程序称为白名单程序,例如:slui.exe
、wusa.exe
、taskmgr.exe
、msra.exe
、eudcedit.exe
、eventvwr.exe
、CompMgmtLauncher.exe
,rundll32.exe
,explorer.exe
等等。
常见的利用方式有:
DLL
注入(RDI
技术),一般注入到常驻内存的可信进程,如:explorer
DLL
劫持,常和注册表配合使用达到劫持目的
伪装进程PEB
绕过UAC
上面在利用COM
接口的ShellExec
执行命令的时候,因为执行该操作的进程身份是不可信的,所以会触发UAC
弹窗。为了能够迷惑系统,通过修改PEB
结构,让系统误认为这是一个可信进程,伪装的可信进程可以是calc.exe
、rundll32.exe
、explorer.exe
等。
利用火绒剑查看进程信息,可以看到已经识别为可信进程了:
关于PEB
的结构,可以参照这里。
无文件技术
“无文件攻击”是一种攻击策略,其出发点就是避免将恶意文件放在磁盘上,以逃避安全检测。无文件四种攻击形式:
恶意文档
比如:在
word
中加入恶意的宏代码实现命令执行,又或者邮件中。恶意脚本
常用的脚本引擎:powershell.exe,cscript.exe,cmd.exe 和 mshta.exe,同样不生成恶意二进制文件。
恶意本地程序交互
例如:
rundll32.exe
、wmi
等,详细参考这里。恶意内存代码
直接生成纯
shellcode
,通过其他方式加载到内存执行。
UACME项目
项目总结了50多种绕过UAC
的方式,并且列出具备auto-elevate
能力的UAC
白名单程序或接口。
利用方式主要可以分为两大类:
- 各类
UAC
白名单程序的DLL劫持(Dll Hijack
) - 各类提升权限的
COM
接口利用(Elevated COM interface
)
项目的主程序为Akagi
,其中包含了所有的method
,使用vs2019
本地编译后可以使用akagi32 41
或者akagi64 41
启动程序,41
这个指的是README
中描述的方法索引,运行后可以直接得到管理员权限的cmd
窗口。
项目的Source
目录存储的是所有子项目的源码,其中Source/Shared
存放的是被所有子项目共同引用的一些函数,本篇主要利用Akagi
和Yuubari
这两个Project
来探究一下如何利用COM
接口提升权限。
什么类型的COM interface
可以利用?
以项目中索引为41
的方法为例:
Author: Oddvar Moe
Type: Elevated COM interface
Method: ICMLuaUtil
Target(s): Attacker defined
Component(s): Attacker defined
Implementation: ucmCMLuaUtilShellExecMethod
Works from: Windows 7 (7600)
Fixed in: unfixed
BypassUAC的更多相关文章
- [原创]K8uac bypassUAC(Win7/Wi8/Win10) 过46款杀软影响所有Windows版本
[原创]K8uac bypassUAC(Win7/Wi8/Win10) 过46款杀软影响所有Windows版本 工具: k8uac编译: VC++ 作者:K8哥哥发布: 2018/11/25 1:30 ...
- 内网渗透bypassuac和smb溢出
对内网渗透需要渗透的目标主机处于跨网段和uac限制的情况做一个渗透记录 环境大致如下 拥有shell权限的win7(有uac限制,处于双网段) 和同win7同一网段下暂时无权限的靶机xp 先对有权限的 ...
- WIN进程注入&BypassUAC&令牌窃取
WIN进程注入&BypassUAC&令牌窃取 本地提权-win令牌窃取 假冒令牌可以假冒一个网络中的另一个用户进行各类操作. 所以当一个攻击者需要域管理员的操作权限时候,需通过假冒域管 ...
- Windows10 bypassUAC绕过用户账户控制
使用这个github上的项目: https://github.com/L3cr0f/DccwBypassUAC 可以自行编译 全程UAC不介入,没反应. 测试: 权限提升真实有效
- 一个简单的BypassUAC编写
什么是UAC? UAC是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员密码.通过在 ...
- Kali Linux additional tools setup
The steps are pretty straight forward. The only tool that might cause some confusion is SMBexec. Thi ...
- 使用powershell提权的一些技巧
原文:http://fuzzysecurity.com/tutorials/16.html 翻译:http://www.myexception.cn/windows/1752546.html http ...
- 黑客讲述渗透Hacking Team全过程(详细解说)
近期,黑客Phineas Fisher在pastebin.com上讲述了入侵Hacking Team的过程,以下为其讲述的原文情况,文中附带有相关文档.工具及网站的链接,请在安全环境下进行打开,并合理 ...
- Metasploit 笔记
目录一.名词解释···································································· 3二.msf基础··············· ...
随机推荐
- Python python 五种数据类型--列表
# 列表的定义 var1 = [] var2 = list() print(type(var1)) #<class 'list'> print(type(var2)) #<class ...
- 自适应线性神经网络Adaline
自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络. 相对于感知器, 采用了f(z)=z的激活函数,属于连续函数. 代价函数为LMS函数,最小均方算法,Lea ...
- 怎么获取WebAPI项目中图片在服务端的路径
1.这是我的项目结构. 2.路径格式为:[http://服务器域名/文件夹/文件.扩展名] 测试:假如我要获取到[logo_icon.jpg]这张图.在浏览器的地址栏中输入上面那个格式的路径. 3.可 ...
- 了解PCI Express的Posted传输与Non-Posted传输
0.写在前面 本文首发于公众号[两猿社],后续将在公众号内持续更新~ 其实算下来接触PCIe很久了,但是由于之前换工作,一直没有系统的学习和练手项目,现在新项目买了Synopsys的PCIe IP,总 ...
- Python——Pandas库入门
一.Pandas库介绍 Pandas是Python第三方库,提供高性能易用数据类型和分析工具 import pandas as pd Pandas基于NumPy实现,常与NumPy和Matplotli ...
- 面试中常问的五种IO模型和BIO,NIO,AIO
一,五种IO模型: 一个IO操作可以分为两个步骤:发起IO请求和实际的IO操作例如:1.操作系统的一次写操作分为两步:第一步,将数据从用户空间拷贝到系统空间:第二步,从系统空间往网卡写.2.一次读操作 ...
- D 【BJOI2018】求和
时间限制 : 20000 MS 空间限制 : 565536 KB 评测说明 : 2s,512m 问题描述 master 对树上的求和非常感兴趣.他生成了一棵有根树,并且希望多次询问这棵树上一段路径 ...
- [一、Jmeter5安装及环境配置]
前言:Jmeter基于Jave底层开发,需要配置Java运行时环境 第一步:首先从Jmeter的官网下载Jmeter,Oracle官网下载Jave; Apache JMeter 5.2.1(需要Jav ...
- Mybatis中的# 与 $
我们说MyBatis有两种注入参数的方式, - 一种是#{} - 另一种是${} 这两种从使用功能来看差距不大,那为什么会强推使用#? ${}使用的是拼接字符串,#{}使用的是占位符的方法,经过了处理 ...
- 部署MYSQL高可用集群
mysql-day08 部署MYSQL高可用集群 u 集群架构 ...