idNSA.id - Peneliti keamanan dari Horizon3.ai telah
menerbitkan detail teknis dan kode eksploitasi proof-of-concept untuk
kerentanan kritis, dilacak sebagai CVE-2022-28219 (CVSS 9.8 dari 10), di tool
Zoho ManageEngine ADAudit Plus.
Tool ini memungkinkan pemantauan aktivitas Direktori Aktif
dan menghasilkan peringatan dan pelaporan untuk satu atau lebih peristiwa
perubahan Direktori Aktif yang diinginkan. Tool ini sangat menarik bagi pelaku karena
akses istimewa yang mereka miliki ke Direktori Aktif.
Kerentanan remote control execution yang tidak diautentikasi
ditemukan oleh peneliti keamanan Naveen Sunkavally di Horizon3.ai dan ditangani
oleh vendor pada bulan Maret.
Masalah ini ditemukan saat menyelidiki endpoint yang dikelola
oleh servlet CewolfRenderer di library pembuatan bagan Cewolf pihak ketiga. Kerentanan
mencakup tiga masalah: deserialisasi Java yang tidak tepercaya, traversal
jalur, dan blind injeksi Entitas Eksternal XML (XXE).
“Salah satu hal pertama yang menonjol, dan kami terkejut
melihat, adalah kehadiran endpoint/cewolf yang ditangani oleh servlet
CewolfRenderer di library charting Cewolf pihak ketiga. Ini adalah endpoint rentan
yang sama dari CVE-2020-10189,
dilaporkan oleh @steventseeley terhadap ManageEngine Desktop Central.”
membaca posting yang diterbitkan oleh para ahli. “Kelas FileStorage di library
ini disalahgunakan untuk remote control execution melalui deserialisasi Java
yang tidak tepercaya.”
Analisis kode library mengungkapkan bahwa perangkat lunak menghapus serial kode yang tidak tepercaya dan tidak membersihkan jalur file input. Para ahli dapat menggunakan parameter img untuk menghapus serial payload Java di mana saja pada disk.
Setelah mencapai kemampuan remote control execution, para
ahli fokus untuk menemukan cara mengunggah muatan Java di mana saja di disk.
Para ahli memperhatikan fitur di ADAudit Plus yang mengumpulkan peristiwa
keamanan dari agen yang berjalan di mesin lain di domain tersebut. Para ahli
menemukan bahwa beberapa endpoint yang digunakan agen untuk mengunggah acara ke
ADAudit Plus tidak diautentikasi
“Salah satu fitur ADAudit Plus adalah kemampuan untuk
mengumpulkan peristiwa keamanan dari agen yang berjalan di mesin lain dalam
domain. Yang mengejutkan kami, kami menemukan bahwa beberapa endpoint yang
digunakan agen untuk mengunggah acara ke ADAudit Plus tidak diautentikasi. Ini
memberi kami permukaan serangan yang besar untuk digunakan karena ada banyak
logika bisnis yang ditulis untuk memproses peristiwa ini. Saat mencari vektor
unggahan file, kami menemukan jalur untuk memicu kerentanan blind XXE di kelas
ProcessTrackingListener, yang menangani peristiwa yang berisi konten XML tugas
terjadwal Windows.” melanjutkan analisis. “Kelas ini menggunakan versi default
berbahaya dari kelas DocumentBuilderFactory Java, yang memungkinkan resolusi
entitas eksternal dan rentan terhadap injeksi XXE.”
Para ahli menemukan kerentanan blind XXE di kelas
ProcessTrackingListener, mereka memperhatikan bahwa kerentanan Blind XXE di Java
biasanya sulit untuk dieksploitasi, tetapi dalam kasus ini, mereka dibantu oleh
runtime Java lama yang dibundel dengan ADAudit Plus. Secara default ADAudit
Plus dikirimkan dengan Java 8u051.
Runtime Java yang lama memungkinkan para peneliti untuk
mengeksploitasi blind XXE untuk mengekstrak file melalui FTP, mendapatkan
daftar direktori melalui FTP, dan mengunggah file.
Para ahli mendemonstrasikan cara mengeksploitasi
CVE-2022-28219 di ManageEngine ADAudit Plus untuk menjalankan aplikasi
kalkulator.
Para ahli menemukan kerentanan XXE di Java dan di Windows
yang dapat dieksploitasi untuk menangkap dan menyampaikan hash NTLM dari akun
pengguna yang menjalankan aplikasi. Akar penyebabnya adalah bahwa klien Java
HTTP akan mencoba untuk mengotentikasi melalui NTLM jika terhubung ke server
yang membutuhkan NTLM untuk mengotentikasi.
“Ini sangat berguna bagi penyerang jika aplikasi ADAudit Plus
berjalan di bawah akun yang diistimewakan.” kesimpulan laporan.