---恢复内容开始---

What is UAC?

程序启动后,UAC的流程图:

如果关闭UAC,则程序会提权运行

Privilege Contents:

参考:https://msdn.microsoft.com/en-us/library/windows/desktop/bb530716%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

如果启动了UAC,程序要求提权运行或者以管理员身份运行的时候,System会启动Consent.exe进程。

在UAC开启的情况下,即使用户选择否,也会开启UAC虚拟化:
1.UAC虚拟化后,应用程序会重定向到其他位置,用户依然可以正常使用程序,但应用程序写入的数据不会在真实系统生效,以防止病毒操作造成系统核心文件被破坏、感染等后果。
2.虚拟化能够改善程序兼容性,即上一点提到的,UAC会将文件和注册表写入操作放至特殊位置。

什么情况下会触发UAC:

1、UAC只有在程序试图影响系统操作的情况下会触发
2、申请提权的操作大多是程序员自己触发的提权的,提权的目的就在于Privilege Content提到的几种操作。
3、只有少数情况系统本身会触发UAC,例如安装服务之类的。

绕过UAC方法小结:

1、利用计划任务绕过。

2、路径欺骗。

3、白名单机制。

关键词:

“用NetUserGetInfo这个接口从这两个方面下手的:1)以高权限和其他用户身份启动进程2)获取其他用户的注册表和用户目录 具体怎么搞就不知道啦,求大神来详解”

注入explorer.exe, DLL启动自己程序

“伪造token”

WUSA.exe

参考:http://net.zol.com.cn/402/4020871_all.html#p4021155

  在9月24日亚洲知名安全技术峰会SyScan上,Instruder做了《深入思考UAC背后的安全问题》演讲,据其提供的方法在当前用户权限下,绕过 UAC提示直接运行程序,并可以实现修改启动项,释放文件到系统目录等功能,而这一过程必须在用户没有任意察觉的情况下完成。作者使用的方法为利用操作系统自己的升级程序WUSA.EXE,读取释放文件,这个过程是不会触发UAC的,利用这个机制可以轻松突破UAC限制

参考:http://blog.sina.com.cn/s/blog_454378100100xu05.html

双击运行,会显示它的使用方法:

使用WUSA.EXE把一个MSU文件释放一下,看能否成功,实验方法如下,复制一个MSU文件到D:\TEMP目录,然后在CMD下切换目录到c: \windows\syswow64,最后运行wusa.exe d:\temp\msu.msu /extract:d:\temp 这时看到一个很快 的进度一闪而过,去D:\TEMP目录看一下是什么情况。

可以看出文件以成功释放,这样很好,下一步继续实验,把释放目录修改一下,直接释放到系统目录WINDOWS下,看会如何表现,执行wusa.exe d:\temp\msu.msu /extract:c:\windows

结果很理想,成功释放而且没有触发UAC提示。

到目前为至我们可以考虑一些邪恶的事情了,比如释放一些木马病毒DLL劫持的文件到系统目录这样子,不会触发UAC程序,同时木马与病毒也会开机启动了,再继续向下实验吧目前思路上是没问题了,那么要考虑的是MSU文件了,这个文件看一下是有微软数字签名的。

这个我们可以通过破坏数字签名来验证一下,使用16进制编辑工具把MSU文件随便添加几个字节。清理之前释放的文件后,再运行一下进行释放检测,看下结果,非常理想。

白名单机制:

从用户账户控制对权限进行保护的基本过程可以看到,在用户以管理员权限运行程序的 过程中,用户账户控制在向用户进行提权询问前,将会先查询本地系统中的白名单以决定是 否直接放行,因此,白名单机制是用户账户控制中的一个重要部分。用户账户控制限制着程 序使用高级权限才能进行的操作,但是,这样的机制同样也会对系统本身的程序造成影响,微软也不希望系统程序的运行也询问用户,因为 他们本身是安全的。因此,微软则在 UAC 中添加了白名单机制,即在系统中记录有一张表单,对于表单中的系统程序,将不限 制其直接提升到管理员权限。 系统中的白名单程序有多个,其中,msconfig、taskmgr、perfmon、cleanmgr 等平时常用的程序都在其中。

 直接提权:

比较常用的利用系统程序的方法是利用系统动态加载 DLL的特性,在系统中还有一份名单为 KnownDlls,当一个程序需要动态加载 DLL 的时 候,会先在这份名单之中进行查找,如果找到则加载相应路径的DLL 文件,如果没有找到则依照当前目录、 System32 目录的顺序进行查找,因此如 果能找到一个程序动态调用的 DLL 文件不在KnownDlls 中,而在 System32 下面,则可以伪造一个相应的 DLL,来实现借助其他程 序来执行需要的操作。

在所有白名单程序中,正好有这样一个程序,即 sysprep.exe,它的位置为 System32/sysprep/,而它在启动时,会动态加载一 个 CRYPTBASE.DLL,这个 DLL 在 System32 下面,因此 sysprep.exe 会在当前目录寻找的时候加载失败,继而转 到 System32 目录查找,试着临时生成一个假的 CRYPTBASE.DLL 放在 sysprep 文件夹下,在 sysprep.exe启动 时,将加载假的 CRYPTBASE.DLL,从而执行我们需要的操作。

sysprep.exe 加载假 CRYPTBASE.DLL线程注入白名单中的程序全部都在系统目录当中,因此要把生成的假 DLL 复制到程序 目录中, 将会由于权限问题而触发 UAC,这样便失效了。因此,需要特别的方法来把假 DLL 给复制到系统目录内,并且不会触发系统的权限控制。

   这一步的操作也需要系统白名单的程序来实现,选用的程序为EXPLORER进程,首先使用远程线程的方法把DLL注入到EXPLORER进程,然后再通 过EXPLORER把CRYPTBASE.DLL复制到指定目录UAC不会提示。所有操作完成后启动sysprep.exe我们的DLL就会被加载,从而 绕过成功。但这个方法缺点也很明显,在注入EXPLORER进程时,杀毒软件已经开始关注了。

转载于:https://www.cnblogs.com/predator-wang/p/4792728.html

UAC绕过思路(未完)相关推荐

  1. CTF论剑场(web) write up 未完待续

    CTF论剑场(web) write up web26 直接给你一串代码 <?php $num=$_GET['num']; $str=$_GET['str']; show_source(__FIL ...

  2. 挖洞技巧:APP手势密码绕过思路总结

    说到APP手势密码绕过的问题,大家可能有些从来没接触过,或者接触过,但是思路也就停留在那几个点上,这里我总结了我这1年来白帽子生涯当中所挖掘的关于这方面的思路,有些是网上已经有的,有些是我自己不断摸索 ...

  3. Android仿朋友圈照片定点放大和滑动查看(未完待续)

    最近公司的项目中有一个图片加载和查看功能实现,具体是说通过列表项加载小图片,点击放大图片并且可以左右翻页,放缩等等,类似于微信朋友圈的照片墙功能.拿到这个需求后我想了想,图片列表首选当然是Recycl ...

  4. APP被苹果App Store拒绝的79个原因(未完待续)

    作为iOS开发者,估计有很多都遇到过APP提交到App Store被拒,然后这些被拒的原因多种多样,今天dApps收集了常见的被拒的原因,以便更多开发者了解. APP被苹果APPStore拒绝的各种原 ...

  5. 2018数学建模国赛B题-个人总结(未完)

    前两天做到这个题,由于自己与组员思考不够深入,踩了几个坑,特此记录一下,仅用于个人记录. 问题内容 问题B 智能RGV的动态调度策略 图1是一个智能加工系统的示意图,由8台计算机数控机床(Comput ...

  6. GKCTF(MISCCRYPTO部分)(未完待续。。)

    写在前面: 嘎嘎,又是被比赛虐的一天(连续虐了三天呜呜呜,安恒月赛等等在写嘎嘎) 部分wp,剩下的一题目前还不会,这次可能会标未完待续嘎嘎 crypto 0x01小学生的密码学 嘎,看到题目描述 e( ...

  7. 基础数学知识(未完待续)

    0x10 质数 质数基本定理 质数的定义:只被 1 1 1 和它本身整除的正整数叫做质数.非质数的正整数叫做合数.特别的, 1 1 1 既不是质数也不是合数. 质数的数量很少. 只有 2 2 2 是偶 ...

  8. 实现2020年TI杯大学生电子设计竞赛F题简易无接触温度测量、身份识别与口罩检测装置(未完待续)

    声明 本文仅在CSDN发布,其他均为盗版.请支持正版! 正版链接: https://blog.csdn.net/meenr/article/details/109298042 本文目录 *实现2020 ...

  9. 《今日简史》读书笔记(未完待续)

    <今日简史>读书笔记(未完待续) 这本书是尤瓦尔·赫拉利的简史三部曲的最后一本,前2本书是<未来简史>和<人类简史>.根据豆瓣上网友的评价,这本书是尤瓦尔·赫拉利写 ...

最新文章

  1. BZOJ 1609 Usaco Eating Together
  2. Ubuntu下用apache+perl搭建最简单的聊天室
  3. 【转载】C++中cin、cin.get()、cin.getline()、getline()、gets()函数详解
  4. 二维粗糙海面matlab,三维随机粗糙海面的Monte-Carlo仿真
  5. Bootstrap警告框、弹出提示层、模态框的js插件效果总结
  6. erp生产管理系统排名_仁和ERP软件企业管理系统如何提高生产管理
  7. how to solve undefined reference in igllib
  8. XDebug的配置和使用(审计方法)
  9. 橡胶支座抗压弹性模量计算公式_单向滑动抗震弹性支座作用介绍
  10. 4200有linux版本么,如何检查Linux版本
  11. pyspider all 只启动了_好程序员大数据分享Spark任务和集群启动流程
  12. java如何调用webservice_Java如何调用WebService接口
  13. BMVC reading list
  14. python读Excel数据成numpy数组
  15. 互联网创新公司 猎头招聘
  16. 五款堪称神器的软件,电脑日常使用必备。
  17. C++ 实验七 多态性与虚函数
  18. 编译内核出错:/bin/sh: 1: bison: not found scripts/Makefile.lib:196: recipe for target ‘scripts/kconfig/zco
  19. Linux运维学习笔记之二:常用命令
  20. 哈工大软件构造第一章总结

热门文章

  1. pytorch CNN
  2. java程序流程_java程序流程控制
  3. PubLayNet:36万文档图像版面分析数据集
  4. MSCNN算法:饭堂人群密度检测实现
  5. 本地时间转utc时间_有关机器时间、UTC时间、本地时间的总结
  6. Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks
  7. 2019日历全年一张_蒙太奇手帐丨2019品牌日历合集,手帐素材最佳选择
  8. Ubuntu下pdf乱码和rar解压后无效文件编码解决方案
  9. 分享Qt的面试题目(或许未来的我能用的上呢)_vortex_新浪博客
  10. electron 使用json作为本地存储_使用腾讯云对象存储 COS 作为 Velero 后端存储,实现集群资源备份和还原...