VMware vCenter Server CVE-2020-3952 Exploit
Herkese merhabalar,
Bu kısa yazımızda Nisan ayında yayınlanmış olan vCenter 6.7 üzerinde bulunan CVE-2020-3952 numaralı zafiyetin nasıl sömürüldüğünü göstereceğim. Bunu yayınlamamızdaki temel amaç ise Nessus vb. otomatize zafiyet tarama araçları bu zafiyeti orta seviyeli olarak vermektedir ve exploitin varlığını bildirmemektedir. CVE içerisinde size RCE tipi bir işlemden bahsetmemektedir ancak yapılabilmektedir 🙂
Çözümpark okurlarımıza bunu sürekli yaptığımız sızma testleri neticesinde çok sık karşılaştığımız için bildirmek istedik. İlgili exploit çıktığı günden beri durumu bana haberdar eden ekip arkadaşlarım Merve Latife SAY ve Asilhan ŞAHİN’e ayrıca teşekkür ederim.
İlgili zafiyet vCenter Server’ın 6.7 sürümüne daha önceki sürümlerden güncellemesi durumunda ortaya çıkmaktadır. Temiz yüklenmiş 6.7 sürümleri için bu zafiyet geçerli değildir!
Sömürü aşamaları:
root@kali:~#git clone https://github.com/guardicore/vmware_vcenter_cve_2020_3952.git
Exploiti çalıştırmaya kalktığınız zaman en alttaki hatayı verecektir. Bu hata python-ldap modülü yüklü olmadığı için verilmektedir.
Modülü yüklemek için:
root@kali:~#apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
Bu dependencyleri yüklemeden python-ldap modülü yüklenmeyecektir.
root@kali:~#apt-get install python3-pip
root@kali:~#pip3 install python-ldap
Çözüm Önerisi:
vCenter Server 6.7 U3f de bu zafiyet giderilmiştir.
Referanslar:
- https://www.vmware.com/security/advisories/VMSA-2020-0006.html
- https://github.com/guardicore/vmware_vcenter_cve_2020_3952
Eline sağlık Kadir.
Teşekkür ederim abi.
Ellerine sağlık abi.
teşekkürler kardeşim
Eline sağlık Kadir Hocam.
Güzel paylaşım.
Teşekkürler hocam
POC kapsamında daha öncesinde bir makalede görmüştüm, ek bazı ince teknik detaylarda mevcut.
According to VMware under certain conditions a malicous attacker that has network access to an affected vCenter Server may be able to extract sensitive information from the vmdir process. The vmdird service is the VMware Directory Service that stores authentication, license, certificates and lookup information. The reason that this is possible is because the either embedded or external Platform Services Controller (PSC) does not correctly implement access controls which allows the attacker to bypass this mechanism. If an attacker would gain access to the vmdird service it might extract information that could be used to compromise the vCenter Server or other services that are dependent on the vmdird service.
These certain conditions under which a malicous attacker could gain access are mentioned in the VMSA-2020-0006 and are the following:
LDAP port 389 to the vCenter Server has to be available to the attacker.
Your vCenter Server 6.7, Windows or the Appliance, with or without an embedded Platform Services Controler (PSC) has to have been upgraded from vCenter Server 6.0 or 6.7 in the past.
If this is true you can find the following term in the vmdird-syslog.log file “ACL MODE: Legacy“.
Unfortunately this log entry will also keep appearing in your log file once you’ve updated to 6.7 U3f or 7.0. So check your versions!
According to guardicore.com there are several flaws in a couple of functions for the vmdird service which allow an attacker to essentially bypass a couple of security checks.
Teşekkürler, ilgili makalenin githubı linklerde paylaşıldı.