Kebijakan yang longgar dalam penamaan package dalam repositori kode Galeri PowerShell (PowerShell Gallery) Microsoft dapat memberikan peluang bagi pelaku ancaman untuk melancarkan serangan melalui kesalahan penulisan, pemalsuan package yang populer dan bahkan membuka peluang bagi serangan rantai pasokan (supply chain attack) yang dapat berdampak besar.
Galeri PowerShell merupakan platform repositori package online yang diawasi oleh Microsoft, dimana komunitas luas pengguna PowerShell dapat mengupload beragam skrip dan modul cmdlet sesuai kebutuhan.
Platform ini adalah tempat yang sangat digemari untuk menyimpan kode dan beberapa package yang ada di dalamnya mencatat puluhan juta download setiap bulannya.
Pada bulan September 2022, Aqua Nautilus menemukan isu dalam kebijakan pasar yang mengemuka. Meskipun laporan bug terkait dan bukti konsep eksploitasi telah diakui oleh Microsoft, perusahaan tersebut belum melakukan langkah-langkah untuk memperbaiki kerentanannya.
Pemalsuan yang mudah
Kelompok AquaSec Nautilus menemukan bahwa pengguna memiliki kemampuan untuk mengirimkan package ke Galeri PowerShell dengan nama yang sangat serupa dengan repositori yang sudah ada. Tindakan semacam ini dikenal sebagai 'typosquatting,' yang bisa dimanfaatkan oleh cybercriminal untuk tujuan yang kurang baik.
Sebagai contoh proof-of-concept (PoC) dalam laporan, disebutkan modul yang populer bernama "AzTable" dengan jumlah download mencapai 10 juta. Modul ini bisa dengan mudah dicontohkan dengan nama baru seperti 'Az.Table,' yang membuat pengguna kesulitan dalam membedakan keduanya.
Isu lain yang diidentifikasi oleh para peneliti adalah kapabilitas untuk memanipulasi rincian modul, termasuk informasi Penulis dan Hak Cipta, dengan cara menyalinnya dari proyek-proyek yang sah.
Tidak hanya akan meningkatkan risiko kesalahan pengetikan pada package, tetapi juga dapat disalahgunakan untuk menghasilkan package yang muncul sebagai hasil karya dari penerbit yang dapat dipercaya.
Lebih jauh lagi, secara default, Galeri PowerShell menyembunyikan atribut 'Owner' yang lebih dapat dipercaya di bawah bagian 'Package Details,' yang menunjukkan akun penerbit yang mengupload package.
Mengekspos package tersembunyi
Kelemahan lainnya yang diungkapkan oleh AquaSec berkaitan dengan kelayakan untuk mengungkapkan package atau modul yang tidak terdaftar pada platform tersebut, yang umumnya tidak terindeks oleh mesin pencari di dalam Galeri.
Yang mengejutkan bagi para peneliti adalah penemuan sebuah file XML dalam platform tersebut yang berisi informasi komprehensif tentang package yang terdaftar dan juga yang tidak terdaftar.
Tim AquaSec Nautilus menjelaskan bahwa, "Dengan memanfaatkan tautan API yang terletak di bagian bawah respons XML [...], penyerang dapat memperoleh akses tidak terbatas ke database package PowerShell lengkap, termasuk versi yang terkait.”
“Akses yang tidak terkontrol ini memberi aktor jahat kemampuan untuk mencari informasi yang berpotensi sensitif dalam package yang tidak terdaftar.”
Pengungkapan dan mitigasi
Pada tanggal 27 September 2022, AquaSec melaporkan semua kelemahan tersebut kepada Microsoft. Mereka berhasil mereplikasi kelemahan tersebut pada 26 Desember 2022, walaupun pada awal November, Microsoft telah mengklaim bahwa mereka telah memperbaiki masalah tersebut.
Pada tanggal 15 Januari 2023, Microsoft mengumumkan bahwa mereka telah menerapkan solusi sementara sampai tim teknis mereka berhasil mengembangkan perbaikan untuk masalah penulisan nama yang salah dan pemalsuan rincian package.
Pada tanggal 16 Agustus 2023, AquaSec mengindikasikan bahwa kerentanan masih tetap ada, menunjukkan bahwa langkah perbaikan belum diimplementasikan dengan tuntas.
Para pengguna Galeri PowerShell disarankan untuk menerapkan kebijakan yang hanya mengizinkan eksekusi skrip yang telah ditandatangani, memanfaatkan repositori pribadi yang dapat dipercaya, secara rutin melakukan pemindaian terhadap data sensitif dalam kode sumber modul, serta mengadopsi sistem real-time monitoring dalam lingkungan cloud guna mendeteksi aktivitas yang mencurigakan.