NCC Group, sanal cihaz işleyişinde bir mantık kusuruyla, ana bilgisayar işleminde bellek yolsuzluğuna ve kontrollü kod yürütülmesine izin veren bir mantık kusuru ile uzatılabilecek bir VMware Workstation konuk istasyonu konuk-ev sahibi kaçışını detaylandırdı.
Yazma, konuk kullanıcı alanından uzlaşmaya ev sahipliği yapmak için pratik bir sömürü yolu gösterir ve gerçek dünya riski doğrular.
Saldırı, bir konuk VM içinde yürütme gerektirir, ancak NCC Group tarafından bildirildiği gibi VMware Backdoor/RPC arayüzüne hazırlanmış girişler gönderme yeteneğinin ötesinde özel bir konuk ayrıcalığı gerektirmez.
Etkilenen ve etki
Kaçış, VM izolasyonunu kırmaya, iş istasyonu hipervizör sürecinin ana bilgisayar bağlamında keyfi kod yürütmesine ve ana bilgisayar dosya sistemine ve bitişik VM’lere döndürülmesine izin verir.
Çok VM geliştirici uç noktalarında veya hassas laboratuvar ortamlarında, bu veri hırsızlığı ve yanal hareket sağlar.
CVE tablosu
Alan | Detaylar |
CVE | VMware Workstation’da konuktan konuktan kaçış |
Etkilenen ürünler | VMware Workstation (NCC Grup Raporu Başına Belirli Korunmasız Sürümler) |
Bileşen | VMware Backdoor/RPC Sanal Cihaz İşleme Yolu |
CVE IDS | CVE2023-20870/CVE-2023-34044 ve CVE-2023-20869 |
POC kodu
Aşağıda, kontrollü bir laboratuvarda eğitim savunması ve doğrulama için NCC Group kavram kanıtı açıklaması ile tutarlı bir taslak verilmiştir. Yalnızca yamalı durumu ve tespiti test etmek için kullanın.
- Konuk Userland’dan bir VMware Backdoor/RPC oturumu oluşturun.
- Ana bilgisayar tampon kullanma rutininde sınır dışı bir yazmayı tetiklemek için ikili boyutu ve yük ofseti/boyutunu manipüle ederek aynı oturumid ile iki veya daha fazla RPC paketi gönderin.
- Saldırgan kontrolündeki verilere kontrol akışını yönlendirmek için bitişik ana bilgisayarı üzerine yazın.
- İş istasyonu süreci bağlamında yürütülen minimum ana bilgisayar tarafı kabuk yükü.
Üst düzey sahte kod çizimi:
// guest-side pseudocode outline
open_vmware_backdoor();
uint32_t sid = rpc_begin_session();
// Packet A: prime host buffer
rpc_send(sid, .bin_size = A_SIZE, .payload_off = OFF_A, .payload_size = SZ_A, .data = bufA);
// Packet B: overlapping write to force OOB and corrupt adjacent metadata/code ptr
rpc_send(sid, .bin_size = B_SIZE, .payload_off = OFF_B, .payload_size = SZ_B, .data = crafted_overlap);
// Optional: Packet C to finalize control-flow hijack
rpc_send(sid, .bin_size = C_SIZE, .payload_off = OFF_C, .payload_size = SZ_C, .data = rop_or_shellcode);
// Trigger vulnerable processing path
rpc_commit(sid);
Anahtar Sömürü Detay: Aynı oturumidin hazırlanmış boyut/ofset matematik ile yeniden kullanılması, ana bilgisayarın ayrıştırıcısında sınır dışı bir yazma gerçekleştiren bir tampon sınır yanlış hesaplamasına neden olur ve saldırgan kontrollü koda güvenilir bir şekilde yeniden yönlendirilir.
Azaltma
- Savunmasız sanal aygıt/RPC kullanım yolunu düzelten VMware güvenlik güncellemelerini uygulayın.
- Yerel iş istasyonunda güvenilmeyen iş yüklerini kısıtlamak; Yüksek riskli test VM’lerini hassas ana bilgisayar verilerinden ayırın.
- İş istasyonu ana bilgisayar işleminden kaynaklanan anormal çocuk işlemi oluşturma ve dosya erişim için VMware işlemlerini izleyin.
- Hipervizör işlemi davranışını sınırlamak için ana bilgisayar EDR ve uygulama kontrolünü uygulayın.
Anında güncellemeler almak ve GBH’yi Google’da tercih edilen bir kaynak olarak ayarlamak için bizi Google News, LinkedIn ve X’te takip edin.