win7 UAC bypass
fireworm同学的翻译:
原文在http://www.pretentiousname.com/misc/win7_uac_whitelist2.html我只翻译了其中关于原理的一小部分,有兴趣的可以自己去看看。
Win7的UAC与Vista不同,鉴于前作糟糕的设计,为了减少UAC提示的次数,微软已经给予了三组组件绕过UAC启动的特权:
1、某些其他进程可以自动运行并获得高权限,UAC不会提示
这些进程的列表可以在这里找到,如果这些进程被运行,他会直接被赋予高权限而不会出现UAC提示。
Notable missing entries (good thing) are rundll32.exe and mmc.exe.
· 由于这一点,有人发明了rundll32注入提升权限从而绕过UAC的方法,你可以让rundll32通过加载dll来执行你的代码,这样做不会出现UAC提示,也正因为如此,微软把rundll32从进程列表中抹去了,不过,列表中还有大量的进程可以利用,如果你能向windows目录下复制文件,其中几个进程也可以利用。
2、可以创建特定COM对象的进程,运行时不会要求UAC确认。
这里列举的程序可以创建特定的COM对象,并不需要UAC确认,尽管他们自身没有提升特权。只要这些对象被创建了,进程就可以让他们去做某些需要admin权限的事情。比如向System32 或者 Program Files目录下面丢东西。
这些进程看起来是上面列表的一个超集,实际上它包括了windows7所有的可执行文件,并且有微软认证证书。
很让人无语的是,就build7000(甚至包括build7100,也就是RC1)来说,不仅仅是explorer.exe程序可以利用这一特性(愿意的话,你也可以称之为安全漏洞),连Calc.exe,notepad.exe这类程序都可以利用这个特性。微软似乎并没有做什么去最小化攻击,他只是武断地给予了这个特权,不管这个特权会不会被用到,举个例子,你可以打开一个画图软件,把他的“文件”-“打开”对话框当做一个微型的文件管理器来使用,你可以在Program Files里面胡闹(建立一个文件夹,或者重命名)通过这一招,本来会被提示的非微软官方的程序也会被放行,不会出现UAC提示。
3、一些需要权限才能创建的COM对象。
这部分列表的枚举还尚未完成,我们只知道其中包括IFileOperation接口,当然,也有可能所有微软官方的COM对象都难逃此劫。
不过,第三方的COM对象没有办法绕过UAC,就算他被微软的进程启动。
为此,可以利用这个程序来证明,这个程序运行后会以普通未提升权限的进程启动,他直接把自己的部分代码注入到其他程序的内存空间当中,并且让指定的程序去运行它,这个过程利用了普通的API,比如WriteProcessMemory和CreateRemoteThread。
如果目标进程在列表2上,我们的程序可以创建并且控制提升的列表3上的COM对象,没有UAC提示,并且不会让用户得知任何消息。
一般情况下,我们选择explorer作为目标,因为这个程序运行提供windows的任务栏和桌面,但是,其他无关的程序,比如画图和计算器也可以被利用,如果需要,先运行他们,就像这个示例程序一样,目标进程并未提升权限(必须通过代码注入来起作用)。
目标进程可以控制ASLR的关闭,可以是32位或者64位的(不过,ASLR意味着直接代码注入攻击很难,只能考虑远程代码执行漏洞,利用这个漏洞必须写出一个单独的EXE并执行)
现在的潜在问题是静默提升特性,在win7beta版本就默认启用的一个特性,这个特性并不检测需要提权的代码的出处他只检测这段代码运行在哪个进程内而不是特定代码的出处,就像这样,你可以把代码注入explorer或者让explorer去加载你的dll,之后你就可以创建提升后的COM对象并且不为用户所知。
在同一安全级别上,有很多办法让你的代码注入到其他正在运行的进程中,这通常情况下不是个问题,在其它进程中你几乎不能做什么事情,不过静默提升特性改变了这一切。
把你的代码注入到其他进程当中有很多方式,你可以用缓存区溢出漏洞(尽管ASLR做了很多去阻止这一切)或者你可以把自身安装成一个DLL插件,让其他程序加载,就像explorer外壳扩展,示例程序使用了一个众所周知的技术,那就是代码注入,代码注入有一个好处,你不用欺骗其他程序,让他加载你的代码,你只需要把代码压到其他进程当中,并告诉他执行这段代码就够了,这也不是hack行为,所有的一切都是利用文档化的,被支持的API完成的(合法的API包括调试和跨进程通信,这些API无需提权即可使用)
win7 UAC bypass相关推荐
- UAC bypass 理论学习
简单来说: 1.微软设计了一些有自提权功能的COM组件.最常见的是 IFileOperation,他能在某些白进程中,对系统关键目录(需要提权才能访问的目录),实现文件复制.重命名.删除.简单的利用办 ...
- 浅谈UAC ByPass
浅谈UAC ByPass 本文参考Bypass UAC 提权 兄弟们好久不见,最近没有更新还不是因为忙着面试!!! 在深思的面试过程中我遇到了一道笔试题,讲讲UAC 提权的原理,我....当然不会了, ...
- 通过组策略和注册表关闭win7 UAC。
(一)通过修改注册表. 打开注册表编辑器RegEdit. 在注册表中找到如下的 HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVer ...
- Vista/Win7 UAC兼容程序开发指南(***)
一.UAC引入 什么是UAC? UAC的原理是什么? 为什么微软要设计UAC? UAC对我们开发应用程序有什么影响? 要如何保证一个程序能够在Vista和Win7下运行良好? 你能回答出以上的问题么? ...
- Win7开发系列: Win7 UAC帮助类
我有一个应用程序需要检测是否正在升高的特权.我现在代码建立这样的: 函数功能 : 是否是管理员 private static bool _isAdministrator() { Windows ...
- 怎样关闭win7 UAC
首先点击开始,并在输入框中输入"MSCONFIG",打开系统的配置窗口,如下图: 选择"更改UAC设置",并点击启动.将出现如下界面.如图: 将通知拉到最后,并 ...
- CobaltStrike使用-第五篇(Bypass UAC、CVE提权、Powerup提权)
前四篇文章介绍了CS的基本使用方法和模块,以及钓鱼攻击的方法,本篇将会介绍使用CS进行提权操作 文章目录 权限提升 Bypass UAC CVE提权 PowerUp 凭证和哈希获取 Beacon 中的 ...
- UAC 实现原理及绕过方法
目录 0x00 UAC 工作流程 0x01 UAC 实现方法(用户登陆过程) 0x02 UAC 架构 0x03 触发UAC 0x04 UAC 虚拟化 0x05 UAC 逆向分析 1x00 UAC By ...
- win7php一键,批处理也能干大事之——如何实现Win7系统一键切换用户
<批处理也能干大事之--如何实现Win7系统一键切换用户>要点: 本文介绍了批处理也能干大事之--如何实现Win7系统一键切换用户,希望对您有用.如果有疑问,可以联系我们. 我们在使用电脑 ...
最新文章
- (1)学习数组,集合,IEnumerable接口,引申学习迭代器
- python 获取你电脑纯文本文档内容!解决IndentationError: expected an indented block报错!
- HDU 5115 Dire Wolf ——(区间DP)
- linux结束ping进程,linux常用命令
- [云炬创业基础笔记]第六章商业模式测试16
- 【组原】广州大学计算机组成原理考试部分题+复习资料(2020-2021)
- Logistic分类函数
- Linux模拟超级终端minicom
- Python自动控制鼠标中键滚动并截屏保存图像
- BERT源码分析PART III
- kafka性能高的影响因素
- rtklib 天线相位中心_全球5G天线产业竞争格局、技术趋势分析
- UNIX环境高级编程(第2版)第11-17章
- Java 删除文件夹以及文件夹下的文件
- 智慧交通:数字孪生三维可视化大屏管控运维平台
- RequestBody Ajax写法
- 斗鱼封禁主播陈一发,新媒体有出路吗?
- 圣诞节,教你用Python给微信头像添加一个圣诞帽
- buuctf misc 小易的U盘
- Nature’s 10——Nature发布2021年帮助塑造科学的十人名单