Senin, 10 Februari 2014

Mengenal Eksploitasi "Black Hole"


Melakukan ekploitasi pada sebuah kerentanan program adalah salah satu metode yang paling populer untuk menginfeksi komputer. Dari beberapa data vendor AntiVirus, pengguna komputer yang paling sering diserang dengan menggunakan eksploitasi pada kerentanan Java Oracle.
Sebagai salah satu solusi keamanan saat ini, adalah kemampuan secara efektif untuk menahan serangan by-drive dilakukan dengan bantuan paket eksploitasi. Kali ini kita akan membahas bagaimana komputer bisa terinfeksi menggunakan kit ekploitasi BlackHole dan mekanisme perlindungan yang relevan yang dapat digunakan.

Paket Eksploitasi 
Sebagian besar penyerang tidak menggunakan eksploitasi tunggal, tetapi menggunakan kit siap pakai yang dikenal sebagai paket eksploitasi. Hal ini sangat membantu untuk meningkatkan secara signifikan efektivitas 'penetrasi', karena setiap serangan dapat memanfaatkan satu atau lebih eksploitasi pada kerentanan sebuah perangkat lunak komputer target.

Sedangkan cara eksploitasi masa lalu menggunakan program berbahaya yang didownload dengan bantuan komputer korban yang diciptakan oleh orang yang sama, seperti model SaaS (Software as a Service).
Semua berdasarkan pembagian kerja, dimana setiap kelompok kriminal di dunia maya mempunyai daerah spesialisasi sendiri: beberapa membuat dan menjual paket eksploitasi, lain memancing pengguna untuk mengeksploitasi halaman awal (mengarahkan lalu lintas), yang lain menulis malware yang didistribusikan melalui serangan drive.

Saat ini semua cybercriminal berharap menginfeksi mesin pengguna dengan sebuah varian dari Trojan Zeus, dan perlu membeli paket eksploitasi siap pakai, mengaturnya dan mendapatkan banyak calon korban sebanyak mungkin untuk mengunjungi halaman muka (juga disebut halaman arahan).
Penyerang menggunakan beberapa metode untuk mengarahkan pengguna ke halaman arahan untuk sebuah paket eksploitasi. Yang paling berbahaya bagi pengguna adalah halaman situs sah yang dihacking dan menyuntikkan script atau elemen iframe ke dalam kodenya.

Dalam kasus tersebut, itu sudah cukup bagi pengguna untuk mengunjungi situs yang sudah akrab untuk serangan drive-by yang diluncurkan dan untuk paket eksploitasi untuk mulai bekerja secara diam-diam.
Penjahat dunia maya juga dapat menggunakan sistem iklan yang sah, menghubungkan spanduk dan menggoda user ke halaman berbahaya. Metode lain yang populer di kalangan penjahat cyber membagikan link halaman.



Ada banyak paket eksploitasi yang tersedia di pasar, seperti : Nuklir Pack, Styx Pack, BlackHole, Sakura dan lain-lain. Terlepas dari nama yang berbeda, semua pekerjaan ini dilakukan dengan cara yang sama, dimana masing-masing paket eksploitasi mencakup berbagai eksploitasi plus panel administrator. Selain itu, pengoperasian semua paket eksploitasi didasarkan pada algoritma yang sama.

Salah satu paket eksploitasi yang paling terkenal di pasar disebut BlackHole. Ini mencakup eksploitasi untuk kerentanan di Adobe Reader, Adobe Flash Player dan Java Oracle. Untuk efek maksimal, eksploitasi termasuk dalam paket yang terus dimodifikasi.

Black Hole 
Penjahat dunia maya masih aktif mengembangkan BlackHole: mereka sering memodifikasi kode dari satu exploit atau lain untuk menghalangi deteksi anti-malware. Sebagai contoh, mereka dapat mengubah algoritma dekripsi yang digunakan oleh salah satu eksploitasi.

Memulai paket eksploitasi
Sebuah paket eksploitasi pada halaman awal digunakan untuk menentukan parameter input dan membuat keputusan tentang tindakan lebih lanjut untuk mengeksploitasi. Parameter input menyertakan versi dari sistem operasi pada mesin pengguna, browser dan versi Plugin, bahasa yang digunakan sistem.
Eksploitasi yang akan digunakan dalam menyerang sistem dipilih berdasarkan parameter masukan. Jika perangkat lunak yang diperlukan oleh paket eksploitasi tidak ada pada komputer target, maka serangan tidak akan terjadi.

Alasan lain tidak jadinya serangan itu untuk mencegah isi paket eksploitasi jatuh ke tangan para ahli di perusahaan-perusahaan anti-malware atau peneliti lain.



Bahkan gambar 3 sudah cukup untuk melihat bahwa kode JavaScript dikaburkan. Dengan mengunjungi halaman awal maka akan menghasilkan eksekusi dari kode yang awalnya dienkripsi.
Algoritma untuk mendekripsi kode JavaScript ini digunakan pada Januari 2013:
- Mengisi variabel "z1 - zn" dengan data dienkripsi,
- Kemudian menyatukan variabel-variabel ini menjadi satu string dan mendekripsi data dimana setiap dua karakter dianggap membuat sejumlah array 27, yang dikonversi ke desimal;
- Menambahkan "57" pada nilai yang diperoleh, dan membagi hasilnya dengan 5;
- mengkonversi nomor yang dihasilkan ke karakter menggunakan fungsi "fromCharCode".
Array kedua terdiri dari angka desimal 0-255, yang diubah ke karakter menggunakan tabel ASCII. Kedua fragmen kode yang diperoleh konversi dijalankan menggunakan perintah "eval".
Seluruh algoritma di atas sudah dapat diimplementasikan dengan beberapa baris kode, tapi penjahat cyber menggunakan teknik khusus agar sulit dideteksi:
- sengaja menyebabkan pengecualian dengan perintah  “document.body*=document” ;
- memeriksa style elemen pertama
menggunakan perintah “document.getElementsByTagName("d"+"iv")[0].style.left===""”, perhatikan bahwa elemen
kosong dimasukkan ke dalam dokumen (di baris kedua);

- memanggil "if (123)", yang tidak masuk akal, karena ungkapan ini selalu benar;
- Memutus nama fungsi dan bagian subsequently.

Selain trik di atas, penjahat cyber menggunakan banyak perubahan kode kecil yang dapat menghambat deteksi berbasis signature. Meskipun mesin antivirus, misalnya, emulator skrip dan perubahan sederhana dalam konstanta dan operasi tidak akan mempengaruhi efektivitas deteksi, trik yang dijelaskan di atas dapat membuat hal yang lebih sulit bagi sebuah emulator.
Setelah dekripsi, code akan muncul dalam RAM, dan disebut  sebagai "decrypted script". Ini terdiri dari dua bagian.

Bagian pertama adalah modul didasarkan pada  PluginDetect library gratis, yang dapat digunakan untuk menentukan versi dan kemampuan browser paling modern dan pluginnya. Penjahat dunia maya menggunakan berbagai library, namun modul ini merupakan elemen kunci dari setiap paket eksploitasi.
BlackHole menggunakan PluginDetect untuk menentukan eksploitasi yang sesuai untuk di-download, dan tergantung pada perangkat lunak yang diinstal pada mesin pengguna. Dengan tingkat ketepanan tersebut berarti mereka memiliki kesempatan yang besar atas keberhasilan eksploitasi dan menjalankan malware pada PC tertentu.

Bagian kedua dari "decrypted script" adalah kode yang bertanggung jawab untuk memproses hasil yang dihasilkan fungsi PluginDetect, kemudian men-download eksploitasi yang ditentukan dan menjalankannya.
Pada Maret 2013, BlackHole digunakan eksploitasi untuk kerentanan berikut:
- Java versi 1,7 sampai 1.7.х.8 - CVE-2012-5076;
- Java versi  bawah 1,6 atau dari 1,6 sampai 1.6.х.32 - CVE-2012-0507;
- Java versi  dari 1.7.х.8 ke 1.7.х.10 - CVE-2013-0422;
- Adobe Reader bawah 8 - CVE-2008-2992;
- Adobe Reader versi 8 atau 9-9,3 - CVE-2010-0188;
- Adobe Flash versi 10 sampai 10.2.158 - CVE-2011-0559;
-  Adobe Flash versi dari 10.3.181.0 ke 10.3.181.23 dan di bawah 10.3.181 - CVE-2011-2110.
Dari beberapa ekploitas ditas, yang paling dominasi adalah
- Exploit for CVE-2012-5076.
- Exploit for CVE-2012-0507.
- Exploit for CVE-2013-0422.

Three in one
Sebagaimana dibahas di atas, tiga Java eksploitasi tadi didasarkan pada mekanisme yang sama: mereka mendapatkan hak dan beban muatan, men-download dan menjalankan file target.
Ketiga eksploitasi juga menghasilkan kelas file Java yang sama. Ini jelas menunjukkan bahwa orang yang sama atau orang-orang di belakang pengembangan dari tiga eksploitasi. Satu-satunya perbedaan adalah teknik yang digunakan untuk mendapatkan hak terbatas pada kelas file.

Kelas file dapat men-download dan menjalankan file, mendekripsi parameter yang dikirimkan melalui script yang ter-dekripsi. Untuk melakukan pendeteksian yang lebih sulit, file berbahaya yang didownload biasanya dienkripsi, akibatnya, semua tidak dimulai dengan sebuah header PE. File yang didownload biasanya didekripsi dalam memori menggunakan algoritma XOR.

Melewati parameter melalui script dekripsi adalah cara yang aman agar cepat mengubah link yang menunjuk ke payload. Semua ini terjadi untuk memodifikasi data pada halaman arahan paket eksploitasi tanpa harus mengkompilasi ulang Applet Java yang.

Ketiga kerentanan yang dibahas di atas disebut sepertinya kurang logis. Karena tidak mungkin mengendalikan eksploitasi pada kerentanan tersebut dengan menggunakan tool otomatis seperti pemantauan yang integritas memori atau pengecualian. Ini berarti bahwa eksploitasi tersebut tidak dapat dideteksi dengan menggunakan Microsoft DEP atau teknologi ALSR atau tool otomatis lain yang serupa. Namun, ada teknologi yang dapat mengatasi hal ini, misalnya pencegahan dengan Automatic Exploit Prevention (AEP), milik Kaspersky Lab’s.

Source http://www.securelist.com/