VMware ESXi Active Directory integration authentication bypass (CVE-2024-37085)¶
Domain'e katılmış ESXi host'ları, harfi harfine "ESX Admins" adındaki herhangi bir AD grubuna implicit olarak güvenir, yani böyle bir grubu oluşturabilen ya da yeniden adlandırabilen bir attacker kendine tam host admin verir.
Mechanism¶
Bug class: attacker kontrolündeki bir isme implicit güven (authorization bypass)
Bir ESXi host Active Directory'ye katıldığında, belirlenmiş bir AD grubunu yerel
Administrator rolüne map'ler. Varsayılan olarak ESXi bu mapping'i, immutable
bir tanımlayıcı (AD object SID'i) yerine grup adına göre çözer — harfi
harfine ESX Admins string'i. Host, grubun önceden var olmasını, bir ESXi admin
tarafından provision edilmiş olmasını ya da stabil bir SID'e map'lenmesini
gerektirmez; bir sonraki authorization'da o adı şu an taşıyan hangi grupsa onun
üyeliğine host-admin hakları verilir.
Geçilen boundary unauthenticated/low-privileged AD principal -> ESXi host
administrator'dır. İhlal edilen invariant şudur: "authorization, bir
attacker'ın basabileceği mutable bir display name'e değil, immutable, admin
tarafından provision edilmiş bir kimliğe bağlanmalıdır." Bir grubu oluşturma ya
da yeniden adlandırma AD haklarına sahip herkes ESX Admins adını kontrol eder ve
dolayısıyla kimin ESXi admin olduğunu kontrol eder.
Walkthrough¶
High-level conceptual reproduction (from Microsoft's threat-intel writeup)
Attacker'ın bir grubu oluşturmaya ya da yeniden adlandırmaya yetecek AD haklarını zaten elinde tuttuğu varsayılır (yaygın bir post-compromise konumu). Microsoft üç varyant belgeledi:
- Grubu yeniden oluştur / oluştur.
ESX Adminsyoksa (ya da silinmişse), onu AD'de oluşturun ve attacker kontrolündeki bir hesap ekleyin. ESXi bir sonraki auth'ta yeni gruba güvenir ve tam host admin verir. - Var olan bir grubu yeniden adlandır. Attacker'ın zaten kontrol ettiği
herhangi bir grubu
ESX Adminsolarak yeniden adlandırın; mevcut üyeleri host-admin haklarını devralır. - Privilege refresh yok. Bir defender ESXi'yi farklı bir management grubu
kullanacak şekilde yeniden yapılandırsa bile, eski
ESX Adminsüyeleri state yenilenene kadar admin'i koruyabilir — atama yapışkandır (sticky).
Vahşi doğada gözlemlenen nihai hedef mass VM encryption'dı: ransomware ekipleri (Storm-0506, Storm-1175, Octo Tempest, Manatee Tempest olarak izlenen) datastore'a ulaşmak ve VMDK'leri doğrudan hypervisor üzerinde encrypt etmek için host admin kullandı.
Bu bir authorization design flaw'udur, memory corruption değil
Burada overflow ya da gadget chain yok. "Exploit" sıradan AD grup yönetimidir. Tam da bu yüzden tehlikelidir: temiz, admin-görünümlü audit trail bırakır.
Detection¶
- AD / domain-controller logs:
ESX Adminsadlı bir grubun oluşturulması ya da o ada yeniden adlandırılması (Windows Security event 4727 grup oluşturuldu, 4737 grup değiştirildi, 4728/4732 üye eklendi). Böyle herhangi bir event high-signal'dır çünkü isim ESXi'ye özgüdür ve sıkı şekilde kontrol edilmelidir. - ESXi authentication logs: Host'ta
/var/log/auth.logve Likewise/AD integration logs (/var/log/likewise/,lsass/lwsmd), Administrator rolüne çözülen domain-group login'lerini gösterir. AD üzerinden host admin olarak authenticate olan yeni principal'leri izleyin. hostd.log/vpxa.log: AD kaynaklı bir principal tarafından başlatılan beklenmedik ayrıcalıklı operasyonlar (datastore browse, VM power-off, VMDK path'lerine file write).- Behavioral: Mass VM power-off ardından datastore file modification, bu bypass'ın mümkün kıldığı klasik ransomware pattern'idir.
Mitigation¶
Patch
VMSA-2024-0014'e göre düzeltmeleri uygulayın: ESXi 8.0 Update 3 bunu düzeltir; etkilenen hatlar ESXi 7.0 ve 8.0'ı (ve ilgili VMware Cloud Foundation 4.x/5.x'i) içerir. CISA bu CVE'yi Known Exploited Vulnerabilities kataloğuna ekledi, yani patch'i önceliklendirin.
- Implicit auto-add'i devre dışı bırakın: ESXi adı verilen gruba artık otomatik
hak vermesin diye belgelenmiş advanced option'ı ayarlayın:
Config.HostAgent.plugins.hostsvc.esxAdminsGroupAutoAdd = false. - Açık, kontrollü bir gruba yeniden bağlanın:
Config.HostAgent.plugins.hostsvc.esxAdminsGroup'u varsayılan olmayan, sıkıca yönetilen bir grup adına yapılandırın ve herhangi bir yeniden yapılandırmadan sonra binding'i doğrulayın (no-refresh davranışı nedeniyle). - AD'yi sıkılaştırın: Kimin grup oluşturup/yeniden adlandırabileceğini kısıtlayın;
ESX Adminsadlı herhangi bir grupta alarm verin; ayrıcalıklı AD hesaplarında MFA'yı zorunlu kılın; admin credential'larını izole edin. - SID-tabanlı / vCenter-aracılı erişimi ve least-privilege host rollerini isim eşleşmeli grup güvenine tercih edin.