Para peneliti di Leiden Institute of Advanced Computer Science menemukan ribuan repositori di GitHub yang menawarkan eksploitasi proof-of-concept (PoC) palsu untuk berbagai kerentanan, beberapa di antaranya termasuk malware.
Menurut makalah teknis dari para peneliti di Leiden Institute of Advanced Computer Science, kemungkinan terinfeksi malware alih-alih mendapatkan PoC bisa mencapai 10,3%, tidak termasuk palsu dan prankware yang terbukti.
Para peneliti menganalisis sedikit lebih dari 47.300 repositori yang mengiklankan eksploitasi untuk kerentanan yang diungkapkan antara 2017 dan 2021 menggunakan tiga mekanisme berikut:
- Analisis alamat IP: membandingkan IP penerbit PoC dengan daftar blokir publik dan VT dan AbuseIPDB.
- Analisis biner: jalankan pemeriksaan VirusTotal pada executable yang disediakan dan hashnya.
- Analisis heksadesimal dan Base64: memecahkan kode file yang dikaburkan sebelum melakukan pemeriksaan biner dan IP.
Dari 150.734 IP unik yang diekstraksi, 2.864 entri daftar blokir yang cocok, 1.522 terdeteksi sebagai berbahaya dalam pemindaian antivirus di Virus Total, dan 1.069 di antaranya ada di database AbuseIPDB.
Analisis biner memeriksa satu set 6.160 executable dan mengungkapkan total 2.164 sampel berbahaya yang dihosting di 1.398 repositori.
Secara total, 4.893 repositori dari 47.313 yang diuji dianggap berbahaya, dengan sebagian besar dari mereka terkait dengan kerentanan mulai tahun 2020.
Laporan tersebut berisi sekumpulan kecil repositori dengan PoC palsu yang mengirimkan malware. Namun, para peneliti berbagi setidaknya 60 contoh lain yang masih hidup dan dalam proses dihapus oleh GitHub.
Dengan melihat lebih dekat ke beberapa kasus tersebut, para peneliti menemukan sejumlah besar malware dan skrip berbahaya yang berbeda, mulai dari trojan akses jarak jauh hingga Cobalt Strike.
Satu kasus yang menarik adalah PoC untuk CVE-2019-0708, umumnya dikenal sebagai “BlueKeep”, yang berisi skrip Python base64 yang dikaburkan yang mengambil VBScript dari Pastebin.
Scriptnya adalah Houdini RAT, trojan berbasis JavaScript lama yang mendukung eksekusi perintah jarak jauh melalui CMD Windows.
Dalam kasus lain, para peneliti melihat PoC palsu yang merupakan pencuri informasi yang mengumpulkan informasi sistem, alamat IP, dan agen pengguna.
Salah satu peneliti, El Yadmani Soufian, memberikan contoh tambahan yang tidak termasuk dalam laporan teknis, yang diberikan di bawah ini:
PowerShell PoC yang berisi biner yang dikodekan dalam base64 ditandai sebagai berbahaya di Total Virus.
Python PoC berisi one-liner yang mendekode payload yang disandikan base64 yang ditandai sebagai berbahaya di Virus Total.
Eksploitasi BlueKeep palsu berisi executable yang ditandai oleh sebagian besar mesin antivirus sebagai berbahaya, dan diidentifikasi sebagai Cobalt Strike.
Skrip yang bersembunyi di dalam PoC palsu dengan komponen berbahaya yang tidak aktif yang dapat menyebabkan kerusakan jika pembuatnya menginginkannya.
Oleh karena itu mempercayai repositori di GitHub secara membabi buta dari sumber yang tidak diverifikasi akan menjadi ide yang buruk karena kontennya tidak dimoderasi, jadi pengguna harus meninjaunya sebelum menggunakannya.
Penguji perangkat lunak disarankan untuk memeriksa dengan cermat PoC yang mereka unduh dan menjalankan pemeriksaan sebanyak mungkin sebelum menjalankannya.
Soufian percaya bahwa semua penguji harus mengikuti tiga langkah berikut:
- Baca dengan cermat kode yang akan Anda jalankan di jaringan Anda atau pelanggan Anda.
- Jika kode terlalu dikaburkan dan membutuhkan terlalu banyak waktu untuk menganalisis secara manual, sandbox di lingkungan (mis: Mesin Virtual yang terisolasi) dan periksa jaringan Anda untuk setiap lalu lintas yang mencurigakan.
- Gunakan alat intelijen sumber terbuka seperti VirusTotal untuk menganalisis binari.
Para peneliti telah melaporkan semua repositori berbahaya yang mereka temukan ke GitHub, tetapi akan memakan waktu sampai semuanya ditinjau dan dihapus, begitu banyak yang masih tersedia untuk umum.
Seperti yang dijelaskan Soufian, penelitian mereka bertujuan tidak hanya berfungsi sebagai tindakan pembersihan satu kali di GitHub, tetapi juga bertindak sebagai pemicu untuk mengembangkan solusi otomatis yang dapat digunakan untuk menandai instruksi berbahaya dalam kode yang diunggah.
Sumber: Bleeping Computer