Kerentanan yang boleh dieksploitasi dari jauh dalam ejen OMI yang dikenakan dalam persekitaran Linux Microsoft Azure

Pelanggan platform awan Microsoft Azure yang menggunakan Linux dalam mesin maya telah menghadapi kerentanan kritikal (CVE-2021-38647) yang membenarkan pelaksanaan kod jauh dengan hak root. Kerentanan itu diberi nama kod OMIGOD dan terkenal kerana masalah itu terdapat dalam aplikasi Ejen OMI, yang dipasang secara senyap dalam persekitaran Linux.

Ejen OMI dipasang dan diaktifkan secara automatik apabila menggunakan perkhidmatan seperti Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics dan Azure Container Insights. Sebagai contoh, persekitaran Linux dalam Azure yang pemantauan didayakan terdedah kepada serangan. Ejen adalah sebahagian daripada pakej OMI (Open Management Infrastructure Agent) terbuka dengan pelaksanaan tindanan DMTF CIM/WBEM untuk pengurusan infrastruktur IT.

Ejen OMI dipasang pada sistem di bawah pengguna omsagent dan mencipta tetapan dalam /etc/sudoers untuk menjalankan satu siri skrip dengan hak akar. Semasa operasi sesetengah perkhidmatan, soket rangkaian pendengaran dicipta pada port rangkaian 5985, 5986 dan 1270. Pengimbasan dalam perkhidmatan Shodan menunjukkan kehadiran lebih daripada 15 ribu persekitaran Linux yang terdedah pada rangkaian. Pada masa ini, prototaip eksploitasi yang berfungsi telah pun tersedia secara umum, membolehkan anda melaksanakan kod anda dengan hak akar pada sistem tersebut.

Masalahnya diperburuk oleh fakta bahawa penggunaan OMI tidak didokumenkan secara jelas dalam Azure dan Ejen OMI dipasang tanpa amaran - anda hanya perlu bersetuju dengan syarat perkhidmatan yang dipilih semasa menyediakan persekitaran dan Ejen OMI akan diaktifkan secara automatik, i.e. kebanyakan pengguna tidak menyedari kehadirannya.

Kaedah eksploitasi adalah remeh - hanya hantar permintaan XML kepada ejen, mengalih keluar pengepala yang bertanggungjawab untuk pengesahan. OMI menggunakan pengesahan apabila menerima mesej kawalan, mengesahkan bahawa klien mempunyai hak untuk menghantar arahan tertentu. Intipati kelemahan ialah apabila pengepala "Pengesahan", yang bertanggungjawab untuk pengesahan, dialih keluar daripada mesej, pelayan menganggap pengesahan berjaya, menerima mesej kawalan dan membenarkan arahan dilaksanakan dengan hak akar. Untuk melaksanakan arahan sewenang-wenangnya dalam sistem, cukup menggunakan perintah ExecuteShellCommand_INPUT standard dalam mesej. Sebagai contoh, untuk melancarkan utiliti "id", hanya hantar permintaan: curl -H "Content-Type: application/soap+xml;charset=UTF-8" -k β€”data-binary "@http_body.txt" https: //10.0.0.5. 5986:3/wsman ... ID 2003

Microsoft telah pun mengeluarkan kemas kini OMI 1.6.8.1 yang membetulkan kerentanan, tetapi ia masih belum dihantar kepada pengguna Microsoft Azure (versi lama OMI masih dipasang dalam persekitaran baharu). Kemas kini ejen automatik tidak disokong, jadi pengguna mesti melakukan kemas kini pakej manual menggunakan arahan "dpkg -l omi" pada Debian/Ubuntu atau "rpm -qa omi" pada Fedora/RHEL. Sebagai penyelesaian keselamatan, adalah disyorkan untuk menyekat akses kepada port rangkaian 5985, 5986 dan 1270.

Selain CVE-2021-38647, OMI 1.6.8.1 juga menangani tiga kelemahan (CVE-2021-38648, CVE-2021-38645 dan CVE-2021-38649) yang boleh membenarkan pengguna tempatan yang tidak mempunyai hak untuk melaksanakan kod.

Sumber: opennet.ru

Tambah komen