Beberapa pembuat virus lokal masih mengeksplorasi lebih jauh kemampuan dari bahasa VBScript. Kali ini, ikuti bagaimana mencari decryptor dari virus VBScript ini. Arief Prabowo
MEMILIKI UKURAN file sebesar 7222 bytes. Virus ini dikenal oleh PC Media Antivirus 1.9 sebagai Bungas.vbs. Virus berjenis VBScript seperti yang kita kenal memang sangat mudah untuk dilihat source code-nya. Hanya dengan membuka file virus dengan Notepad contohnya. Jikalau virus tersebut dienkripsi, pada tubuhnya pun kita dapat melihat source code dari rutin decryptor untuk membuka enkripsinya. Namun terlihat dari virus ini, sepertinya sang pembuatnya mencoba sebisa mungkin untuk menyembunyikan decryptor dari virusnya, yang kemungkinan besar bertujuan untuk mempersulit proses pendeteksian dan analisis.
Sampai tulisan ini dibuat, dari pengujian yang kami lakukan terhadap 36 antivirus luar, hanya 3 yang berhasil mendeteksi keberdaan virus ini. Walaupun baru suspected, artinya yang mendeteksi adalah engine heuristic-nya saja. Logikanya, virus VBScript bisa lebih mudah dideteksi oleh heuristic. Jadi, apa saja dan bagaimana yang dilakukan oleh virus ini?
Tubuh Terenkripsi
Saat kali pertama membuka jeroan virus ini, terlihat sekilas string–string yang dienkripsi. Bagaimana mengetahuinya? VBScript biasanya merupakan teks murni, jika Anda melihat terdapat karakter–karakter ASCII aneh, kemungkinan besar VBScript tersebut dienkrispi. Lalu, bagaimana cara mendapatkan plaintext (keadaan sebelum terenkripsi)?
Kebanyakan virus VBScript (VBS) yang menggunakan teknik enkripsi yang kami miliki, juga akan terdapat rutin dekripsi pada tubuhnya. Namun, kalau dilihat sekilas dari virus ini, kita tidak akan melihat rutin decryptor-nya. Bagaimana bisa?
Secara visual, jika dilihat di baris bagian tengah source code tersebut terdapat beberapa string yang ditulis terbalik seperti penggalan berikut ini “))1,I,nillA(diM(csA=orplA”, yang jika dibalik akan menjadi seperti ini “Alpro=Asc(Mid(Allin,I,1))”. Terlihat sepertinya ini merupakan permainan karakter, kemungkinan bagian dari rutin decryptor. Untuk mencoba membuktikannya, maka file virus tersebut kami jalankan. Dengan sekejap, setelah dijalankan, ia membuat sebuah file baru dengan nama Strukdat.bgs, tak lama kemudian file tersebut dihapus kembali olehnya. Untuk itu, kami coba menangkap isi dari file tersebut dan benar seperti yang diduga, isinya meru-pakan rutin decryptor.
File tersebut hanya berisi sebuah function yang ia namakan MPC yang tak lain adalah function untuk melakukan deskripsi. Teknik yang ia gunakan sederhana saja, pertama dia akan mendapatkan nilai ordinal karakter per karakter, pada visual basic instruksinya dikenal dengan nama Asc. Yang kedua, nilai tersebut lalu di-mod (modulus, fungsi numeric sisa pembagian) dengan 2, jika hasil mod habis dibagi dengan nol, maka geser karakter ke kiri sebanyak 1, misalkan C menjadi B, dan sebaliknya. Setelah semua karakter ter-decrypt, terakhir ia akan melakukan string reverse, yakni membalikan string tersebut untuk mendapatkan string asal.
File Strukdat.bgs yang merupakan decryptor tersebut, setelah di-extract akan langsung ia execute, jadi rutin utama tubuh virus tersebut dapat memanfaatkan rutin decryptor-nya, pada VBScript hal tersebut memang dapat dilakukan. Cara yang ia gunakan memang ribet, tapi cukup untuk sedikit mengelabui pendeteksian beberapa antivirus.
Membelah Diri
Read the rest of this post »