windows提权-绕过UAC提权
windows提权-绕过UAC提权
一、UAC概述
UAC(User Account Control),中文翻译为用户帐户控制,是微软在Windows Vista和Windows7中引用的新技术,主要功能是进行一些会影响系统安全的操作时,会自动触发UAC,用户确认后才能执行。因为大部分的恶意软件、木马病毒、广告插件在进入计算机时都会有如:将文件复制到Windows或 Program Files等目录、安装驱动、安装ActiveX等操作,而这些操作都会触发UAC,用户都可以在UAC 提示时来禁止这些程序的运行。
二、MSF和CS过UAC
三、基于白名单AutoElevate绕过UAC
利用白名单程序的本质实际上是劫持注册表,这种方法主要是通过寻找autoElevated属性为true的程序, 修改其注册表command的值,改成我们想要执行的paylaod,在该值中指明的字段会在这类程序运行时自动执行,类似于默认程序打开,当你以后运行该程序时,这个command命令都会自动执行。
UAC同样也会对系统本身的程序造成影响,微软也不希望运行系统程序也需要询问用户,因为系统程序是安全的。因此,微软则在 UAC 中添加了白名单机制常见白名单如下
msconfig.exe
taskmgr.exe
perfmon.exe
cleanmgr.exe
sdclt.exe
dccw.exe
eventvwr.exe
computerdefaults.exe
fodhelper.exe
四、基于白名单DLL劫持绕过UAC提权
如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Windows会尝试去指定的目录下查找这个DLL;如果攻击者能够控制其中的某一个目录,并且放一个恶意的DLL文件到这个目录下,这个恶意的DLL便会被进程所加载,从而造成代码执行。这就是所谓的DLL劫持。
DLL的加载顺序如下:
1、应用程序加载的目录
2、C:\Windows\System32
3、C:\Windows\System
4、C:\Windows
5、加载 DLL 时所在的当前目录
6、PATH环境变量中列出的目录
五、CVE-2019-1388 UAC提权
CVE-2019-1388 UAC提权是一个Windows证书对话框特权提升漏洞,此漏洞是因为UAC(用户账户控制)机制的设定不严导致的。默认情况下,Windows UAC 提示本身是由名为 consent.exe 的可执行文件生成的,该可执行文件以 NT AUTHORITY\SYSTEM 身份运行并且有 System 的完整性水平。由于用户可以与此UI进行交互,因此有必要对UI进行严格限制。否则,低特权用户可能能够通过UI操作提权到system权限。
如果在运行一个可执行文件的时候我们触发了 UAC,在点击「显示有关此发步者的证书的信息」这个链 接之后我们可以看到证书里的 Issued by(颁发者) 字段,这个字段对应的值就是 OID值,如果这里是 一个超链接就可以提权。
六、Windows令牌概述和令牌窃取攻击
当我们拿到一个权限的时候,如果是普通的用户或者有UAC认证的管理员用户,可以窃取的令牌只有自己的令牌不能用于提权,当我们拿到已经过了UAC认证的管理员或者administrator用户时,可以通过令牌窃取,提升到system权限。