March 23, 2008

SPYBOT

Filed under: Uncategorized

SPYBOT

Spybot merupakan salah satu bot yang terkenal di dunia underground dan sangat luas digunakan oleh para hacker. Bot ini dibuat dengan bahasa C oleh Mich yang sebelumnya disebarkan secara terbatas melalui situsnya http://members.lycos.co.uk/ircspybot (saat ini sudah tidak aktif lagi)

Karena program ini berupa source code, Anda harus melakukan proses kompilasi yang sering menakutkan pengguna awam. Namun, Anda tidak perlu khawatir, pembuat program ini telah menyediakan sebuah batch file yang tinggal Anda klik dan selesailah sudah.

Saya mendownload compiler gratis bahasa C seperti yang disarankan yaitu lcc-win32 dari http://www.q-software-solutions.com. Instalasi program lcc-win32 yang bisa Anda dapatkan dari CD yang disertakan pada buku ini, sangatlah mudah dan tidak ada yang perlu di ceritakan lebih lanjut. Anda hanya perlu klik next, next, finish dan selesai.

File sumber spybot terdiri atas file spybot.c yang merupakan source code file sedangkan konfigurasi disimpan pada file yang berbeda yaitu settings.h. Anda menentukan sifat dan karakteristik file spybot yang hendak di ciptakan melalui file settings ini. Sebagai contohnya, saya ambil beberapa baris penting pada file settings.h.

[quote]char password[] = “password”; //bots password

char channel[] = “#testing”; //channel bot joins on connect[/quote]

Baris password[] merupakan password untuk memerintah bot., tanpa mengetahui password ini, bot akan diam seribu bahasa ketika Anda perintahkan untuk melakukan sesuatu.

Secara default, password yang digunakan adalah password dan saya tidak akan menggantinya untuk saat ini.

Secara default channel tersebut diset dengan #testing dan disini akan saya ganti menjadi #WarungZombie. Setelah perubahan, kedua baris tersebut akan berubah menjadi :

[quote]char password[] = “password”; //bots password

char channel[] = “#WarungZombie”; //channel bot joins on connect[/quote]

IRC mempunyai banyak sekali jaringan-jaringan yang berdiri sendiri. Misalnya, server-server dalam kelompok dalnet, tidak bisa berhubungan dengan server-server dalam kelompok undernet karena jaringan keduanya berdiri sendiri. Channel #jasakom yang dibuat dalam server dalnet, berbeda sama sekali dengan channel #jasakom yang ada di undernet.

Karena itu, kita juga perlu menentukan server mana channel #WarungZombie akan dibuat. Baris yang menentukan hal ini berada pada baris berikut :

[quote]//servers

char *ircservers[]={

“127.0.0.1”,

“irc.icq.com”,

NULL //dont remove this line

};

//number of ports MUST be the same as the number of servers you use,

int serverports[]={

6667,

6666,

};[/quote]

Secara default, server yang akan digunakan dimasukkan ke dalam array bernama ircservers yang secara default menggunakan 127.0.0.1 dan server irc.icq.com. Nomor port yang digunakan harus sesuai jumlahnya dengan server yang digunakan dan karena menggunakan dua server, terdapat dua port yang digunakan yaitu 6667 dan 6666.

Jika Anda hendak merubahnya ke server dalnet misalnya, Anda juga harus mengetahui port yang digunakan oleh server tersebut dan mengisinya pada baris serverports[]. Gambar 86. Melihat konfigurasi server-server IRC. Untuk mengetahui nama server dan juga port server IRC, Anda bisa mendownload list server-server IRC dari internet.

                                      

Saya menggunakan software mIRC dan dari situ juga bisa dilihat dengan mengklik tombol Options a Connect a Servers a Pilih server IRC a Edit. Terlihat server irc.icq.com termasuk dalam ketegory group IrCQNet.

 

Pada contoh ini, saya tidak akan merubah server yang digunakan dan hanya menghapus server lokal 127.0.0.1 karena memang tidak digunakan. Code akhir setelah saya edit akan tampak seperti berikut :

[quote]char *ircservers[]={

“irc.icq.com”,

NULL //dont remove this line

};

//number of ports MUST be the same as the number of servers you use,

int serverports[]={

7000,

};[/quote]

 

[quote][b]Catatan[/b]

Baris komentar dimulai dengan karakter //. Jadi jika Anda hendak menghilangkan sebuah baris agar tidak dicompile, Anda tinggal menambahkan karakter // di depan seperti tampak pada baris keterangan [i]“//number of ports MUST be the same as the number of servers you use”[/i] di atas[/b][/quote]

Setting lainnya masih sangat banyak seperti memberikan password channel agar hanya orang-orang yang mengetahui password saja yang bisa join ke channel, menjalankan web server dan keylogger secara otomatis, mengganti perintah-perintah default seperti perintah “list” menjadi “perlihatkan”, dan lain sebagainya. Program ini dibuat dengan struktur yang sangat rapi sehingga melakukan modifikasi setting menjadi mudah.

Setelah proses konfigurasi selesai dilakukan, saatnya untuk melakukan kompilasi. Klik file “Make spybot.bat” yang akan menghasilkan file spybot.exe. File inilah yang nantinya harus dijalankan di komputer korban.

Pada percobaan ini, saya menggunakan 3 komputer dengan koneksi internet masing-masing. Hal ini dilakukan karena server irc.icq.com hanya mengijinkan 2 koneksi yang terjadi sekaligus, pada koneksi ke-3, alamat IP malah akan di-ban (black list) oleh server irc sehingga tidak bisa melakukan koneksi lagi.

Selain menggunakan irc server publik, hacker juga bisa membuat server irc sendiri namun cara ini jarang dilakukan karena memudahkan penangkapan hacker tersebut. Pada kejadian sesungguhnya, komputer-komputer zombie adalah komputer yang berbeda dan mempunyai alamat IP nya masing-masing sehingga tidak begitu bermasalah dengan aturan semacam ini.

Pada contoh, saya menggunakan mIRC untuk melakukan koneksi ke channel #WarungZombie dengan server irc.icq.com dan nick HackerDDOS.

Pada cerita ini, diasumsikan 2 komputer telah terinfeksi dengan bot, dimana bot ini secara otomatis akan join ke channel #WarungZombie. Satu zombie menggunakan nick Zombie152 dan satunya lagi menggunakan nick Zombir187.

Nama nick bot diambil dari user yang login ditambah dengan angka secara acak. Pada contoh, dua komputer yang terinfeksi masing-masing login dengan nama Zombie1 dan script secara otomatis menambahkan angka 52 dan 87.

 

                                                

Gambar 87. Memerintah Zombie melalui channel IRC

 

Pada contoh, terlihat saat saya mengetikkan perintah “info” kepada bot agar menampilkan informasi system tempat dirinya berada, bot tidak memberikan reaksi apapun. Agar bot mau mendengarkan perintah dari tuannya, Anda harus mengetahui password bot terlebih dahulu.

Password defaultnya adalah “password” yang tidak saya ganti. Untuk itu, saya bisa login ke bot dengan mengetikkan perintah “login password”.

Setelah itu, saya mencoba lagi menjalankan perintah “info”. Kali ini, para bot sudah mengetahui bahwa yang mengirimkan perintah adalah tuan mereka sehingga masing-masing bot menampilkan informasi system tempat dirinya berada.

                                                   

Gambar 88. Melakukan serangan DDoSSpybot

 

juga menyediakan fungsi untuk melakukan serangan DDoS dengan synflooding. Untuk melakukan synflooding kepada situs www.jasakom.com, saya memberikan perintah “Synflooding www.jasakom.com 80 100 10” yang artinya serang www.jasakom.com dengan mengirimkan paket syn ke port 80 (web server) sebanyak 10 kali dengan delay selama 100 milidetik.

Sebuah web server berjalan dengan membuka port 80 dan setiap kali Anda melakukan browsing ke web server, maka artinya Anda membuka sebuah koneksi ke port 80.

Seberapapun besarnya sebuah server, tentulah mempunyai batas dan batas inilah yang akan dimainkan oleh serangan DDoS. Serangan DDoS akan membuat koneksi ke port 80 sebanyak-banyaknya sampai server tersebut terlalu penuh untuk merima koneksi yang lain, akibatnya adalah situs yang diserang, menjadi tidak bisa diakses oleh pengguna yang sebenarnya.

Synflood adalah serangan dengan memanfaatkan sifat koneksi TCP/IP. Masih ingat dengan three way handshake ? Untuk memulai sebuah komunikasi, protokol TCP/IP memulianya dengan jabat tangan 3 kali. Pertama kali komputer sumber mengirimkan paket SYN, dibalas oleh target dengan paket SYN/ACK. Terakhir, sumber mengirimkan ACK.

Synflood akan mengirimkan paket SYN kepada target yang dalam contoh ini adalah web server, seakan-akan ia hendak melakukan koneksi yang sah, namun sebenarnya paket SYN tersebut telah dimanipulasi sehingga alamat sumber menjadi berubah.

Web Server kemudian mengirimkan paket balasan SYN/ACK dan mengalokasikan memory untuk digunakan oleh koneksi ini. Namun karena hacker telah merubah alamat IP sumber, balasan ini lari entah ke mana sehingga tidak pernah ada balasan.

Web server menunggu, menunggu dan terus menunggu tanpa pernah mendapatkan paket ACK. Sementara paket SYN yang lainnya terus terjadi dan Web server terus mengalokasikan memorynya yang akhirnya membuat memorynya menjadi penuh.

Pada sebagian web server, hal ini bisa saja membuatnya crash, namun, itu dulu. Sekarang hal tersebut sebagian besarnya sudah bisa diantisipasi namun menghabiskan resource ? tetap saja terjadi ! karena itulah sifat dasar dari koneksi TCP/IP.

Beberapa konfigurasi, mencegahnya dengan membuat time out untuk sebuah koneksi apabila tidak ada jawaban ACK dari sumber, namun cara ini juga membuat user sah yang mempunyai koneksi yang lambat tidak bisa mengakses resource yang seharusnya karena mengalami time out terus menerus.

Masih ingat dengan cerita saya tentang situs detik.com yang selalu down setiap kali ada kejadian penting ? Artinya, dengan memiliki pasukan yang banyak, Anda bisa membuat sebuah situs atau server down dengan cara apapun. Anda bisa memerintahkan semua bot membrowse server tersebut sehingga resourcenya menjadi habis dan berbagai koneksi normal lainnya. Dengan memiliki pasukan yang banyak, seorang hacker mempunyai power yang besar dan bisa berbuat apa saja.  

            

Gambar 89. Menjalankan keylogger di komputer zombie

Pada layar berikutnya, saya mencoba mencuri ketikan keyboard dari komputer korban yang telah terinfeksi dengan bot. Caranya adalah dengan mengetikkan perintah “startkeylogger”.

Setelah keylogger diaktifkan, semua ketikan keyboard yang dilakukan di komputer korban, akan dikirimkan dan ditampilkan di channel IRC. Terakhir, saya mematikan fungsi ini dengan memberikan perintah “stopkeylogger” kepada para bot.

Fungsi-fungsi yang telah saya bahas ini, hanyalah sebagian kecil dari fungsi-fungsi yang ada. Berikut adalah fungsi menarik lainnya yang tersedia :

 

[quote]*ingat bahwa Anda bisa mengganti perintah default ini dengan kata-kata lain sesuai dengan kehendak Anda melalui file settings.h[/quote]

 

 


 


 


 


 

 

Comments »

The URI to TrackBack this entry is: http://aw4nk.blogsome.com/2008/03/23/spybot/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.