Kalo Mau Bikin Virus Iseng

Sekitar 3 hari yang lalu gw nyoba bikin virus kecil-kecilan buat iseng aja. Virus ini sih kerjanya nggak ngapa-ngapain, tapi kalo pengguna komputer yang udah kena virus ini duluan mau ngebuka website tertentu (yang gw pake buat percobaan sih Tumblr), yang kebuka di browsernya ntar website lain (yang gw pake buat percobaan ini Google).

Yang mau gw kerjain di virus ini sih sebenernya nambahin sebaris data di file hosts yang ada di folder C:\Windows\System32\drivers\etc. Default isi file hosts itu kayak begini.

127.0.0.1 localhost

Itu artinya kalo kita ngetik ‘localhost’ di address bar browser, kita bakal diredirect ke IP address 127.0.0.1. IP address 127.0.0.1 ini IP loopback, yang berarti kita ngakses komputer kita sendiri.

File hosts ini bisa dibuka pake notepad, tapi nggak bisa disave kalo udah kita utak atik isinya. Untuk ngutak atik isinya, kita harus ngopi file hosts itu ke tempat lain dulu (misalnya ke desktop), buka file itu pake notepad, tambahin info tentang website yang mau diblok & ke mana kita ngeredirect, lalu disave & dicopy ke C:\Windows\System32\drivers\etc buat ngegantiin file hosts yang ada sebelumnya.

Misalnya kalo gw mau ngeblok Tumblr & ngeredirect ke Google, gw perlu ngubah isi file hosts tadi jadi kayak begini.

127.0.0.1 localhost
http://www.google.com www.tumblr.com

Format penulisannya itu begini:

(alamat host tujuan) (alamat host yang nggak boleh diakses)

Nah, tadi itu kan proses kalo gw ngutak atik semuanya secara manual. Habis itu gw coba bikinin program yang berfungsi buat ngubah isi file hosts itu secara otomatis begitu program yang gw bikin ini dijalanin. Sebelumnya, gw harus tau perintah command line buat ngopi file hosts ke folder tempat file programnya gw simpen & perintah buat ngopi kembali file hosts yang udah gw utak atik ke C:\Windows\System32\drivers\etc. Ini perintahnya.

copy [lokasi file yang mau dicopy] [lokasi folder tempat dipastenya]

Dari situ gw bisa bikin program buat ngopi file hosts dari System32 itu tadi ke folder yang sama dengan file program yang gw bikin, nambahin sebaris data ke dalam file hosts yang udah dicopy, lalu ngembaliin file hosts itu ke folder yang seharusnya.

Untuk ini, kita bisa bikin program buat ngebaca file, nambahin sebaris data ke dalam filenya, lalu ngopi file itu ke folder tempat file hosts tadi ada di System32. Tapi gw terlalu males untuk itu, jadi gw pake cara lain buat percobaan gw kemarin. Cara yang gw pake ini jauh lebih gampang buat diprogram, tapi sebenernya kurang bagus buat bikin virusnya karena butuh 2 file executable waktu dieksekusinya.

Pertama, gw bikin satu program pake bahasa pemrograman C, lalu gw save source codenya di file tes.c. Isi programnya kayak begini.

#include <stdio.h>

int main ()
{
 printf("\nhttp://www.google.com www.tumblr.com");
 return 0;
}

Sesudah gw compile, nama file executablenya jadi tes.exe. Kalo kita perhatiin, program yang gw tulis barusan ini cuma ngeluarin output teks yang sesuai dengan format penulisan data di file hosts yang udah gw tulis sebelumnya.

Program itu cuma bisa ngeluarin output berupa teks aja, nggak bisa ngelakuin apa-apa lagi. Karena itu, gw butuh program lain buat nyelipin output teks dari program tes.exe tadi ke file hosts yang ada di System32 tadi. Program kedua ini gw bikin pake bahasa pemrograman Python.

import os

os.system('copy C:\Windows\System32\drivers\etc\hosts .\\')
os.system('tes.exe >> hosts')
os.system('copy .\hosts C:\Windows\System32\drivers\etc')
os.system('del .\hosts')

Program ini harus ada di folder yang sama dengan file tes.exe yang udah gw bikin sebelumnya. Source code Python ini gw save pake nama tesvirus.py, isinya cuma script yang ngasih perintah ke Windows buat ngejalanin perintah copy, append file, & delete di command prompt. Virus ini baru bakal jalan kalo file tesvirus.py dijalanin di komputer korban.

Sedikit masalah yang gw temuin waktu nyobain ini di komputer gw sendiri, gw nggak bisa ngopi file hosts yang udah gw ubah ke C:\Windows\System32\drivers\etc melalui command prompt karena by default command prompt nggak dijalanin sebagai administrator, sementara buat ngopi file ke System32 kita butuh akses admin. Itu ngefek ke script Python yang gw bikin. Biar bisa jalan, scriptnya harus di-run as administrator.

Kalo mau lebih pinter & simpel, bisa pake Batch untuk bikin scriptnya. Script yang gw tulis di atas itu tadi agak barbar soalnya (maksain buat pake Python).

@echo off
echo http://www.google.com www.tumblr.com >> C:\Windows\System32\drivers\etc\hosts

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s