Unauthenticated RCE Bug Bounty POC | Private Bug Bounty Program | CVE-2020–11798
Abstrak Pendahuluan
Dokumen ini menyajikan presentasi lengkap mengenai kerentanan CVE-2020–11798, yang merupakan kerentanan Remote Code Execution (RCE) yang ditemukan dalam perangkat lunak tertentu. Kami akan membahas detail teknis dari kerentanan ini, menyertakan kode yang rentan, langkah-langkah untuk mengeksekusi proof of concept (PoC), serta menyertakan video presentasi yang relevan. Melalui dokumen ini, diharapkan pembaca dapat memahami bagaimana kerentanan ini dapat dieksploitasi dan langkah-langkah mitigasi yang dapat diambil.
CVE-2020–11798 adalah kerentanan yang ditemukan dalam perangkat lunak yang menggunakan Apache Commons Collections. Kerentanan ini memungkinkan penyerang untuk mengeksekusi kode arbitrer pada sistem yang rentan tanpa perlu otentikasi. Kerentanan ini sangat berbahaya karena dapat dieksploitasi dari jarak jauh, sehingga memungkinkan penyerang untuk mengambil alih sistem yang terpengaruh.
Deskripsi Kerentanan
Kerentanan ini terjadi karena cara tertentu dalam pengolahan data yang tidak aman. Penyerang dapat mengirimkan payload yang dirancang khusus untuk memanfaatkan kerentanan ini. Jika payload berhasil dieksekusi, penyerang dapat menjalankan perintah di server yang rentan, yang dapat mengakibatkan kebocoran data, pengambilalihan sistem, atau kerusakan lainnya.
Kode Rentan
Berikut adalah kode yang menunjukkan bagaimana kerentanan ini dapat muncul:
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Transformer;
import java.util.ArrayList;
import java.util.List;
public class VulnerableCode {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("example");
list.add("payload");
// Kode rentan yang menggunakan CollectionUtils
CollectionUtils.collect(list, new Transformer() {
@Override
public Object transform(Object input) {
// Kode yang dapat dieksploitasi
Runtime.getRuntime().exec("malicious_command");
return input;
}
});
}
}
Pada contoh di atas, penggunaan Runtime.getRuntime().exec()
dalam konteks yang tidak aman memungkinkan penyerang untuk mengeksekusi perintah yang tidak diinginkan.
Langkah-langkah Eksekusi Proof of Concept
Untuk mengeksekusi PoC dari kerentanan ini, ikuti langkah-langkah berikut:
- Persiapan Lingkungan:
- Siapkan server yang menjalankan versi rentan dari perangkat lunak yang terpengaruh oleh CVE-2020–11798.
- Pastikan Anda memiliki akses ke server tersebut.
- Membuat Payload:
- Buat payload yang dirancang untuk mengeksploitasi kerentanan ini. Anda dapat menggunakan alat seperti
msfvenom
untuk membuat payload yang sesuai.
- Mengirim Payload:
- Kirim payload ke server yang rentan menggunakan metode yang sesuai, seperti HTTP request atau melalui input yang tidak terfilter.
- Menjalankan Perintah:
- Setelah payload berhasil dieksekusi, Anda dapat menjalankan perintah yang diinginkan pada server yang terpengaruh.
- Verifikasi:
- Verifikasi bahwa perintah telah dieksekusi dengan memeriksa hasilnya di server.
Video Presentasi
Untuk memperdalam pemahaman mengenai kerentanan ini, Anda dapat menonton video berikut yang menjelaskan secara rinci tentang CVE-2020–11798 dan proof of concept-nya:
Kesimpulan & Rekomendasi
CVE-2020–11798 adalah kerentanan yang serius yang dapat dieksploitasi untuk mendapatkan akses tidak sah ke sistem yang rentan. Dengan memahami cara kerentanan ini bekerja dan bagaimana cara mengeksploitasinya, kita dapat lebih siap untuk melindungi sistem kita dari serangan yang mungkin terjadi. Penting untuk selalu memperbarui perangkat lunak dan menerapkan langkah-langkah mitigasi yang tepat untuk mengurangi risiko kerentanan ini.
- Pembaruan Perangkat Lunak: Pastikan semua perangkat lunak yang digunakan selalu diperbarui ke versi terbaru yang telah diperbaiki.
- Audit Keamanan: Lakukan audit keamanan secara berkala untuk mengidentifikasi dan mengatasi kerentanan yang ada.
- Pelatihan Keamanan: Berikan pelatihan keamanan kepada tim pengembang untuk meningkatkan kesadaran tentang kerentanan dan praktik pengkodean yang aman.
Dengan mengikuti langkah-langkah dan rekomendasi di atas, Anda dapat membantu melindungi sistem Anda dari kerentanan seperti CVE-2020–11798.