Tujuan utama dari berbagai macam serangan (sistem/web) umum nya adalah mendapatkan shell target, entah itu ‘direct shell’ ataupun ‘web shell’. Shell merupakan suatu interpreter yang disediakan oleh sistem operasi agar dapat digunakan oleh user untuk berinteraksi dengan sistem tersebut.
Contoh simple:
Cyberweb:~ cyberWeb$ pwd
/Users/cyberweb
Banyak sekali yang sering menggunakan shell namun tidak sadar bahwa itu adalah shell. Contohnya adalah bash pada linux, ataupun command prompt pada M$ Windows. Jenis exploitasi khusus nya yang dilakukan secara remote (remote exploitation) selalu berusaha semaksimal mungkin untuk mendapatkan shell target, tujuan nya jelas agar kita dapat mengendalikan target melalui shell tersebut. Banyak hal yang dapat kita lakukan setelah berhasil mendapatkan shell target.
Untuk serangan yang ditujukan terhadap aplikasi-aplikasi web, umum nya juga berusaha untuk mendapatkan shell target. Walaupun memungkinkan untuk mendapatkan system shell, pada kenyataan nya untuk tahap awal banyak yang menggunakan webshell setelah proses eksploitasi aplikasi web. Shell merupakan interpreter untuk berinteraksi dengan sistem, jenis shell yang memanfaatkan protokol http (web) untuk berinteraksi dengan sistem sering disebut webshell. Karena webshell ini berjalan diatas protokol HTTP, maka webshell membutuhkan suatu webserver. Jika pada sistem shell kita membangkitkan shell melalui aplikasi bash, csh, ksh (UNIX like) ataupun cmd.exe (Windows) maka pada web shell kita membangkitan shell melalui aplikasi .php, .asp, ataupun .jsp. Jenis webshell yang dapat digunakan tergantung pada teknologi target, jika target menggunakan aplikasi php maka kita harus menggunakan tipe phpshell dan jika target menggunakan asp maka kita harus menggunakan tipe aspshell.
Bagaimana cara kita mendapatkan web shell pada target tergantung pada jenis hole yang akan di eksploitasi serta kreativitas si penyerang, untuk RFI misal nya…kita tidak perlu upload webshell tersebut ke server target karena jenis hole ini akan membuat target meng-eksekusi webshell pada mesin lain. Namun untuk jenis hole pada web lain nya, kita dapat membodohi target untuk secara tidak sengaja men-download webshell tersebut dan selanjut nya kita dapat mengeksekusi webshell langsung via browser (http). Ada banyak sekali jenis webshell, baik yang sifat nya private ataupun public. Dan setiap webshell memiliki beberapa fungsi umum (seperti listing isi directory, menampilkan informasi sistem, dll) serta beberapa fungsi khusus (safe-mode bypass, encoder, sql-injection, backdooring, dll). Dan biasa nya, jenis webshell bersifat private merupakan hasil pengembangan dari jenis webshell lain dengan melakukan kustomisasi untuk mendapatkan fungsi lain yang kita inginkan.
Berikut ini adalah beberapa jenis webshell (public/private) yang umum digunakan oleh kalangan underground dalam melakukan serangan terhadap aplikasi-aplikasi web, beberapa jenis webshell dibawah ini merupakan favorite saya secara pribadi karena memiliki cukup banyak fungsionalitas, tentu saja masih banyak lagi jenis webshell dengan kemampuan khusus namun beredar di kalangan tertentu. So, here they are:
* C99Shell, C99 merupakan webshell produksi dari CCTeam rusia, C99 memiliki cukup banyak fitur yang terus dikembangkan dan saat ini banyak jenis private webshell menggunakan C99 sebagai template/base nya.
* r57, Jenis webshell r57 juga banyak digunakan serta dijadikan base template oleh berbagai jenis private webshell. Kalangan underground di Indonesia umum nya menggunakan webshell r57 ini .
* Explorer ASP, Webshell ini merupakan contoh webshell untuk target yang menggunakan teknologi ASP.
* Ekin0x, merupakan contoh private shell (seperti nya sekarang sudah public) dari cyber warrior security tim, webshell ini juga memiliki beberapa fungsi tambahan yang berbeda dari webshell lain.
* Locus7s webshell, Contoh webshell ini merupakan hasil pengembangan dari c100, C100 merupakan webshell rilis baru dari CCTeam (Captain Crunch Team) yang merupakan hasil pengembangan dari C99, kita bisa melihat bahwa webshell tersebut di customize oleh Locus7s team dan ditambahkan beberapa fungsi baru untuk kebutuhan private.
Itu adalah berbagai macam jenis webshell, kita bisa lihat bahwa webshell-webshell tersebut menyediakan fasilitas point-and-click sehingga memudahkan kita untuk meng-eksplorasi sistem target serta menjalankan fungsionalitas lain (seperti backdooring, brute-force, dll). Jenis webshell diatas termasuk webshell modern, namun bagi yang suka dengan webshell classic bisa menggunakan jenis webshell seperti ssh-webshell.
Jika kita mau bersusah payah sedikit untuk mempelajari code-code yang terdapat pada webshell-webshell tersebut, maka kita dapat membuat versi private milik kita ataupun kelompok kita pribadi. Dan juga menambahkan berbagai macam fungsi tambahan yang menurut kita akan sangat berguna. So, lagi-lagi dibutuhkan skill programming…khusus nya pemrograman aplikasi web seperti php dan asp. Selanjut nya, kita dapat menggunakan code-code diatas sebagai template / base untuk mengembangkan webshell milik kita pribadi (fungsi blind sql-injection, mass-defacing, scanner, dll bisa ditambahkan sendiri). Untuk jenis webshell yang lebih lengkap bisa mencoba webkit dari open-labs.