Cyber Security Enthusiast

VMware vCenter Server Dengan Celah Keamanan File Upload

V

Description

Celah keamanan ini di identifikasi dengan CVE-2021-21972 yang memanfaatkan file upload dan tidak memiliki autentikasi pada endpoint /ui/vropspluginui/rest/services/uploadova sehingga jika attacker melakukan eksploitasi pada celah ini maka akan mendapat akses RCE (Remote Code Excecution) pada sistem operasi yang terinstall vCenter Server.

Affected Endpoint

https://[redacted].id/ui/vropspluginui/rest/services/uploadova

Vulnerability Details

  • Title: CVE-2021-21972 (VMware vCenter Server File Upload / Remote Code Execution)
  • Impact: The vSphere Client (HTML5) contains a remote code execution vulnerability in a vCenter Server plugin. A malicious actor with network access to port 443 may exploit this issue to execute commands with unrestricted privileges on the underlying operating system that hosts vCenter Server. This affects VMware vCenter Server (7.x before 7.0 U1c, 6.7 before 6.7 U3l and 6.5 before 6.5 U3n) and VMware Cloud Foundation (4.x before 4.2 and 3.x before 3.10.1.2).
  • CVSS Score: 9.8
  • Source: tenable.com & cve.mitre.org

Steps to Reproduce

Halaman awal
  • Setelah mengetahui versi yang digunakan pada server target, saatnya setup exploit. Tool yang saya gunakan adalah metasploit dengan skrip dari salah satu sumber yang saya dapat di github milik TaroballzChen.
  • Clone exploit lalu import kedalam direktori metasploit seperti berikut,
git clone https://github.com/TaroballzChen/CVE-2021-21972

cd CVE-2021-21972

mkdir -p ~/.msf4/modules/exploits/multi/http

cp * ~/.msf4/modules/exploits/multi/http

chmod +x ~/.msf4/modules/exploits/multi/http/vmware_vcenter_server_unauthenticated_file_upload_exploit.py

msfconsole
  • Lalu setelah metasploit berjalan, gunakan skrip exploit yang sudah di import lalu konfigurasi beberapa pengaturan seperti RHOST (lokasi url/ip target), RSSL (false/true), RFILE (lokasi shell yang ingin di upload), dan lain-lain jika ada yang dibutuhkan.
  • Jika ingin melihat konfigurasi yang sudah diatur bisa menggunakan perintah “options” seperti berikut,
Tamplian konfigurasi pada perintah “options”
  • Pada kasus saya saat ini, saya tidak menggunakan metasploit untuk menjalankan reverse shell yang sudah saya atur (port 4444) karna pada percobaan pertama terdapat error pada penerimaan respon di server saya, sehingga pada file shell yang saya akan upload, saya lakukan custom konfigurasi dengan reverse shell port 6969 padahal yang saya setting di metasploit adalah port 4444, but yaaa yang penting shell nya jalan begitu saya akses nanti.
  • Selanjutnya jika konfigurasi sudah selesai, tinggal menjalankan perintah “run” maka proses exploit akan berjalan.
Proses exploit sedang berjalan hingga selesai
  • Terlihat bahwa exploit berhasil tereksekusi dan shell berhasil diupload sehingga dapat diakses pada path /statsreport/reverse-shell.jsp.
  • Sebelum membuka url tersebut, saya persiapkan terlebih dahulu listener pada port 6969 di server saya untuk menangkap koneksi dari server target.
Reverse shell berhasil didapat
  • Reverse shell berhasil diakses lalu setelah dicek level user yang saat ini sedang digunakan ternyata adalah superuser pada sistem operasi windows (nt authority\system) 🙂 #hellyeah

Close the Door

Patch untuk vulnerability ini sudah terbit, silahkan teman-temin update ke versi yang lebih baru agar tidak terkena dampak dari covid-19 CVE-2021-21972. Thanks!

Add comment

Cyber Security Enthusiast