Skip to content

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:

  1. Grubu yeniden oluştur / oluştur. ESX Admins yoksa (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.
  2. Var olan bir grubu yeniden adlandır. Attacker'ın zaten kontrol ettiği herhangi bir grubu ESX Admins olarak yeniden adlandırın; mevcut üyeleri host-admin haklarını devralır.
  3. 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 Admins adlı 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.log ve 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 Admins adlı 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.

References