Proof of concept for CVE-2020-3952
This is a short piece of code that exploits of CVE-2020-3952, which is described in detail at the Guardicore Labs post over here. This vulnerability was published by VMware in April 2020 with a maximum CVSS score of 10.0. It allows an attacker with a network connection to take control of the
vCenter Directory (and thus to the vSphere deployment).
VMware released a fix for this bug in vCenter Server 6.7 Update 3f. Any unpatched vCenter 6.7 that has been upgraded from a previous version is vulnerable to this attack. (Clean installs of vCenter 6.7 are not affected.)
We recommend reading the post to understand how this exploit works, but in short, it does three things:
Attempts an ldap bind request to the vmdird process. This should fail with invalid credentials.
Adds a new user with the requested username and password under the domain 'cn=NEW_USERNAME,cn=Users,dc=vsphere,dc=local'.
Adds the new user to the 'cn=Administrators,cn=Builtin,dc=vsphere,dc=local' group.
Requirements
pip3 install python-ldap
Usage
python3 exploit.py <VCENTER_IP> <NEW_USERNAME> <NEW_PASSWORD>
Download: vmware_vcenter_cve_2020_3952-master.zip
git clone https://github.com/guardicore/vmware_vcenter_cve_2020_3952.git
Source