跳转至

T1190-CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞

来自ATT&CK的描述

使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。

如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。

对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。

测试案例

2021年02月24日,某些平台监测到 Vmware官方发布了vCenter Server安全更新,修复了vSphereClient (HTML5)在vCenter Server插件vRealizeOperations(vROps)中的一个远程代码执行漏洞(CVE-2021-21972)。VMware  vCenter Server是美国威睿(VMware)公司的一套服务器和虚拟化管理软件。该软件提供了一个用于管理VMware vCenter环境的集中式平台,可自动实施和交付虚拟基础架构。攻击者可通过访问web管理端向vCenter Server发送请求从而在操作系统上执行任意命令或者上传一个webshell到vcenter服务器的任意位置执行

具有网络访问端口443的恶意行为者可能会利用此问题在托管vCenter Server的基础操作系统上以不受限制的特权执行命令。这会影响VMware vCenter Server(7.0 U1c之前的7.x,6.7 U3l之前的6.7和6.5 U3n之前的6.5)和VMware Cloud Foundation(4.2.3之前的4.x和3.10.1.2之前的3.x)。

此外,VMware还修复了VMware ESXi中一个重要的堆溢出漏洞(CVE-2021-21974)与VMware vSphere中的一个SSRF漏洞(CVE-2021-21973)。

0x1 影响版本

VMware vCenter Server 7.0系列 < 7.0.U1c

VMware vCenter Server 6.7系列 < 6.7.U3l

VMware vCenter Server 6.5系列 < 6.5 U3n

VMware ESXi 7.0系列 < ESXi70U1c-17325551

VMware ESXi 6.7系列 < ESXi670-202102401-SG

VMware ESXi 6.5系列 < ESXi650-202102101-SG

0x2 漏洞详情

可参考:

CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞:https://blog.csdn.net/weixin_43650289/article/details/114055417

CVE-2021-21972 vCenter 远程命令执行漏洞分析:https://cert.360.cn/report/detail?id=62aac9b181bcfcb2b5faf33c6907a3dc

CVE-2021-21972-vCenter-6.5-7.0-RCE-POC:https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC/blob/main/CVE-2021-21972.py

检测日志

HTTP.log,主要是基于POC报文进行检测,POC如下:

import requests
from requests.packages import urllib3
urllib3.disable_warnings()
import argparse
import os
def url():
  parser = argparse.ArgumentParser(description='vCenter 6.5-7.0 RCE 漏洞复现(CVE-2021-21972)POC')
  parser.add_argument('target_url',type=str,help='The target address,example: https://192.168.140.153:4445')
  args = parser.parse_args() 
  global url
  url = args.target_url
  if url.startswith('http://') or url.startswith('https://'):
   pass
  else:
   print('[-]Please include http:// or https:// in the URL!!')
   os._exit(0)
  if url.endswith('/'):
   url = url[:-1]
  print('[+]author:chenchen')
  print("[-]目标地址:",url)
  print("[-]正在执行漏洞检测...")
  return url
def poc():
 headers={
  'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36',
  "Content-Type":"application/x-www-form-urlencoded"
 }
 url_v = url + '/ui/vropspluginui/rest/services/updateova'
 try:
  code = requests.get(url=url_v,headers=headers,timeout=4,verify=False).status_code
  print('status_code:',code)
  if code == 405:
   print('[+]漏洞存在')
  else:
   print('[-]漏洞不存在')
 except:
  print('[-]发生错误')
if __name__ == '__main__':
 url()
 poc()

测试复现

可参考漏洞详情部分

检测规则/思路

sigma规则

title: CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞
status: 测试状态
description: 基于HTTP日志进行检测
references:
    - https://cert.360.cn/report/detail?id=62aac9b181bcfcb2b5faf33c6907a3dc
    - https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC/blob/main/CVE-2021-21972.py
logsource:
    category: webserver #http_log
detection:
    selection:
        cs-method: 'POST' #请求方法为post
        c-uri: #请求url中包含以下路径
            - '/ui/vropspluginui/rest/services/uploadova'
    condition: selection
fields: 
    - c-ip
    - c-dns
falsepositives: 
    - OVA uploads to your VSphere appliance
level: high

建议

建议使用HTTP流量+安全设备(如天眼等)进行检测分析判断攻击是否成功。

参考推荐

MITRE-ATT&CK-T1190

https://attack.mitre.org/techniques/T1190/

CVE-2021-21972 Vmware vcenter未授权任意文件/RCE漏洞

https://blog.csdn.net/weixin_43650289/article/details/114055417

CVE-2021-21972 vCenter远程命令执行漏洞分析

https://cert.360.cn/report/detail?id=62aac9b181bcfcb2b5faf33c6907a3dc

CVE-2021-21972-vCenter-6.5-7.0-RCE-POC

https://github.com/QmF0c3UK/CVE-2021-21972-vCenter-6.5-7.0-RCE-POC/blob/main/CVE-2021-21972.py