Ahad, 11 September 2011

Tutorial Godam atau Hack Website

Saya akan tunjukkan cara bagaimana hendak mendefaced sesebuah laman web dengan menggunakan cara SQL Injection untuk mendapatkan admin password..baiklah,saya akan tunjukkan satu persatu caranya...
Sebelum itu,kamu harus ada ilmu mengenai defaced,IP ADDRESS dan SQL Injection (PENTING!!):-

APAKAH ITU DEFACED:
Defaced ialah perbuatan merubah paparan utama sesebuah website.Paparan utama dipanggil shell.Shell ialah satu kode atau aturcara yang sudah diprogramkan dalam bentuk laman web untuk ditunjukkan kepada sesiapa yang melayari web tersebut.Defaced ialah satu kerja jahat (^_^) menggantikan kode asal kepada kode yang diinginkan oleh penggodam.Selepas kode itu digantikan,sesiapa sahaja yang melayari laman web itu akan melihat paparan yang diubah oleh penggodam.Untuk melakukan perkara ini,kamu harus mencipta satu shell dalam extension (".htm" atau ".html") ataupun anda boleh copy shell ini daripada laman web yang telah didefaced dan hanya menukar sedikit sahaja kandungan dalam shell itu.

APAKAH ITU SQL INJECTION:-
SQL Injection ialah satu cara untuk kita memecah masuk pangkalan data (database) sesebuah website bertujuan mencuri data dan nama pengguna dan juga password.SQL Injection ialah kaedah memecah masuk yang paling berkesan sekali berbanding XXS Cross dan PHP Injection.Asalnya,SQL Injection harus dilakukan dengan cara manual iaitu memasukkan kode kedalam URL ataupun dipanggil UNION.Kode ini sangat susah dan ramai penggodam baru (newbies) tidak dapat menghafal kode ini secara menyeluruh.Tetapi,banyak tool yang telah direka bagi memudahkan penggodam memecah masuk pangkalan data.Antara alatan yang popular untuk melakukan SQL Injection ialah Havij dan SQLi Helper.

APAKAH ITU IP ADDRESS:-
IP Address ialah pengenalan kepada komputer yang menggunakan Internet.IP address terdapat maklumat mengenai lokasi di mana sesebuah komputer bersambung kepada Internet.Ia sama seperti kad pengenalan,begitulah juga IP Address.

TOOL YANG HARUS KAMU ADA:-
(1).Havij 1.15 atau versi lain..
KEGUNAAN : Untuk melakukan SQL Injection ke sesebuah website


(2).SUPER IP HIDE 3.0 atau versi lain..

KEGUNAAN : Untuk menyembunyikan IP kamu semasa kamu melakukan SQL Injection atau melogin sebagai ADMIN...



(3).C99.PHP

KEGUNAAN : Digunakan untuk merubah kode shell yang terdapat di dalam sesuatu website..



Baiklah,itulah tool yang mesti kamu ada.Kedua-dua tool ini penting terutama SUPER IP HIDE kerana tool itu berfungsi menyembunyikan IP kamu.Kalau kamu tidah mempunya tool itu,kamu akan ditangkap kerana admin server itu mengesan kamu dengan mudah kerana kamu tidak menyembunyikan IP kamu..


Baiklah,sekarang kita mesti mencari laman web yang security lemah atau lebih dipanggil website yang vulneberity(dalam bahasa Inggeris) untuk dilakukan defacement.Terdapat langkah yang mudah untuk mencari website yang vuln(singkatan vulneberity).Iaitu menggunakan "google dork","google dork" ialah salah satu kemudahan diberi google untuk mencari website yang penting.Tetapi,kita boleh menyalahgunakan kelebihan itu untuk mencari website yang vuln.Caranya seperti begini:-


(1).Buka "www.google.com"

(2).Taip salah satu kode di bawah ini


inurl:"id=" & intext:"Warning: mysql_fetch_assoc()

inurl:"id=" & intext:"Warning: mysql_fetch_array()

inurl:"id=" & intext:"Warning: mysql_num_rows()

inurl:"id=" & intext:"Warning: session_start()

inurl:"id=" & intext:"Warning: getimagesize()

inurl:"id=" & intext:"Warning: is_writable()

inurl:"id=" & intext:"Warning: getimagesize()

inurl:"id=" & intext:"Warning: Unknown()

inurl:"id=" & intext:"Warning: session_start()

inurl:"id=" & intext:"Warning: mysql_result()

inurl:"id=" & intext:"Warning: pg_exec()

inurl:"id=" & intext:"Warning: mysql_result()

inurl:"id=" & intext:"Warning: mysql_num_rows()

inurl:"id=" & intext:"Warning: mysql_query()

inurl:"id=" & intext:"Warning: array_merge()

inurl:"id=" & intext:"Warning: preg_match()

inurl:"id=" & intext:"Warning: ilesize()

inurl:"id=" & intext:"Warning: filesize()

inurl:"id=" & intext:"Warning: require()


(3).Tekan search

(4).Akan keluar beratus-ratus website yang vuln.

(5).Pilih salah satu.


Cuba buka laman yang anda pilih itu,anda pasti lihat error yang berlaku seperti "Warning: mysql_fetch_assoc()" atau "Warning: mysql_fetch_array()".Itu maknanya security website ini masih lemah dan berupaya untuk didefacedkan.Contohnya saya mendapat web seperti ini:-




Untuk kita mengdefaced laman web tersebut.Kita harus menyamar sebagai admin dan sebagai admin,tidak akan ada sekatan lagi untuk kita lakukan apa sahaja di website itu.Dan untuk mencari kata pengguna admin dan juga password,kita harus memecah masuk kedalam pangkalan data website berkenaan.Sebenarnya error yang kita cari sebentar tadi ialah pintu masuk kedua ataupun dipanggil "backdoor" dalam sesebuah website.Error tersebut akan memudahkan kita melakukan SQL Injection berbanding melakukan di page yang tidak mempunyai error.Antara alatan kesukaan saya untuk memecah masuk database ialah Havij,Havij sangat terkenal di kalangan penggodam kerana ia memudahkan kerja penggodam bagi melakukan SQL Injection.SEBELUM ANDA MEMULAKAN SQL INJECTION KE SESUATU WEBSITE.PASTIKAN ANDA SUDAH MENYEMBUNYIKAN IP ANDA KERANA APABILA ANDA MELAKUKAN SQL INJECTION,WEBSITE SERVER BOLEH MENGESAN IP ADDRESS ANDA.SAYA TIDAK AKAN BERTANGGUNGJAWAB SEKIRANYA ANDA DITANGKAP KERANA KECUAIAN ANDA.Caranya melakukan SQL Injection adalah seperti berikut:-


(1).Buka Havij

(2).Masukkan alamat website yang error sebentar lagi.


(3).Tekan scan.

(4).Tunggu kerana Havij sedang melakukan SQL Injection ke dalam website berkenaan.


Bila anda berjaya,Tables akan diunlockkan,di situ,anda boleh mencuri admin username dan password.TETAPI,jika anda tidak berjaya,cari target lain kerana website itu mungkin sudah diupgradekan pangkalan datanya dan sukar untuk kita memecah masuk pangkalan datanya.Dan apabila berjaya,pergi ke "Tables",di situ keluar fail yang mana fail itu ialah "DataBase".Katakanlah fail itu bernama "ID_INFORMATION",maka click pada kotak itu.Selepas itu tekan "Get Tables",ia akan mencari table yang wujud dalam database itu,selepas semua table sudah habis discan oleh Havij,cari nama tables yang merujuk nama username atau admin.Kerana kebiasaan di dalam table itulah kata nama dan kata laluan Admin disimpan.Jika anda melihat table yang aneh seperti "admin" atau "username_info"..click pada kotak itu,selepas itu,tekan "Get Colums"..ia akan muncul fail-fail yang mungkin menyimpan data bagi admin username dan password..andainya terdapat dua colum iaitu "username" dan "password"..click pada kedua-dua fail tersebut..click "Get Data"..ia akan keluar username dan password...itulah username dengan password admin..tetapi,andai jika anda scan,terdapat banyak username dengan password yang keluar,pilih username yang tertulis admin..itulah username dan password admin yang sebenar..Tetapi,andai kata nama admin muncul,tetapi passwordnya dalam bentuk yang pelik.Iaitu password yang mempunyai 32 huruf.Itu adakah password hash.Ia telah dihashkan bagi menyukarkan penggodam mendapat password yang benar-benar betul.Contohnya passwordnya dalam bentuk begini :-


Contoh Password:-

098F6BCD4621D373CADE4E832627B4F6


Ini dipanggil MD5 hash.MD5 hash sangat terkenal sekali kerana banyak digunakan oleh web server bagi menyembunyikan password mereka walaupun database mereke dipecah masuk oleh penggodam.Password itu telah dihashkan begini:-


Contoh:-

test (password sebenar) ---------> 098F6BCD4621D373CADE4E832627B4F6 (telah dihashkan)


Tetapi,tidak mengapa.Di dalam Havij,terdapat tool yang membolehkan kita memecah password hash itu.Begini caranya:-


(1).Buka Havij

(2).Pergi ke "MD5"

(3).Masukkan hash MD5 tadi.

(4).Tekan "start"

(5).Lihat passwordnya.


Tetapi,jika kamu tidak berjaya ataupun failed dalam memecahkan password itu.Mungkin terdapat beberapa sebab.Mungkin MD5 itu telah dihashkan dalam bentuk AES-256.AES-256 ialah bentuk penyimpan password security yang paling selamat dan sukar dihash.Ia hanya boleh dihash menggunakan tool "Cain and Abel".Kedua,mungkin password asal yang belum dihash itu terdapat dalam digit yang panjang,seperti contoh yang saya tunjuk tadi iaitu "test".Ia hanya 4 digit,password yang senang untuk dicrack ialah 8 digit sahaja.Itu pun bergantung kepada security MD5 itu.Jika password asal digitnya lebih daripada 9.Ia sukar dihash dan hanya boleh dihash dengan menggunakan Rainbow Table.Rainbow table ialah satu "table" yang digunakan oleh "Cain and Abel" untuk menggunakan kaedah cryptology untuk memecah kod tersebut.Rainbow Table boleh didownload tetapi saiznya di luar jangkaan kita,iaitu 50-300 GB.Kita juga boleh menghasilkan sendiri Rainbow Table tetapi ia mengambil masa sehingga 10 tahun untuk siap.Ketiga,mungkin hash tersebut bukan MD5,mungkin MD2 atau MD4.Terdapat banyak hash yang ada sekarang.Kalau kamu mempunyai masalah password dalam bentuk MD5 hash.Saya sarankan kamu mengambil target lain kerana kita akan membuang masa sahaja untuk memecah password itu melainkan itu website yang sudah kamu target sejak dahulu sekali.Saya tidak akan menghalang kamu.Sekarang kita kembali ke agenda kita,iaitu mendefacedkan website.


Sekarang tugas sebenar ialah mendefaced laman web berkenaan.Perkara pertama ialah kamu harus memecah masuk ke dalam admin website itu dengan menggunakan username dan password yang kamu dapat semasa melakukan SQL Injection.Kebiasaan,untuk melogin kedalam website,anda harus menambah "/admin" kebelakang nama website tersebut.Contohnya:-




Tetapi,jika page itu tidak wujud.Maka admin login page mungkin telah disembunyikan dengan nama yang lain selain admin.Andai berlaku kejadian itu,Havij ialah alat yang sempurna sekali untuk mengesan admin login page yang terdapat dalam laman web berkenaan.Caranya begini:-


(1).Pergi ke Find Admin

(2).Masukkan laman web berkenaan (Contohnya:www.example.com)

(3).Tekan start.Ia akan mula mencari admin login page dalam laman web berkenaan

(4).Bila sudah habis scan,buka URL berkenaan.


Masukkan username dengan password.Bila berjaya masuk,anda berupaya melihat segala fail sulit atau e-mail sulit yang terdapat dalam website berkenaan.Tetapi,tujuan kita ialah mendefaced,jadi kita beralih kepada agenda kita.Untuk mendefaced,seperti saya sebutkan sebentar tadi,kita gunakan shell "c99.php" sebagai shell utama kita hendak mendefaced web berkenaan.Cari apa-apa yang ditulis dalam website berkenaan upload.Jika terdapat butang yang membolehkan kita mengupload shell,ia akan memudahkan kerja kita.Tetapi,jika tak terdapat butang yang membenarkan kita mengupload shell.Kita harus "menipu" laman web berkenaan.Cari lagi butang yang membolehkan kita menguploadkan fail,selalunya admin hanya dibenarkan mengupload gambar sahaja.Tetapi,tidak mengapa.Rename kembali shell "c99.php" anda kepada "c99.php.gif".Ini akan menipu laman web berkenaan kerana laman web berkenaan akan menganggap kita cuma mengupload gambar sahaja tetapi kita sudah mengupload shell ke website berkenaan.Buka shell berkenaan,contohnya:-



www.example.com/c99.php.gif (mengikut kepada apa extension yang anda tukar)


Bila anda buka c99.php,ia akan keluar satu page yang membolehkan kita mengawal web itu lebih daripada admin tersebut.Ia membolehkan kita mengedit,menukar dan memadam shell yang terdapat dalam website berkenaan.Tujuan kita adalah mengdefaced website berkenaan.Oleh itu,kita akan mengedit shell yang terdapat dalam website itu.Cari apa-apa shell yang mungkin bernama "index.php" atau "main.php".Cari apa-apa sahaja shell yang mungkin paparan utama website berkenaan.Contohnya,"index.php" ialah paparan utama yang keluar apabila kita membuka website berkenaan.Jadi,shell itulah yang kita akan edit.Tekan pada "index.php" berkenaan.Akan keluar kode yang terdapat dalam shell itu,padam semua kode itu,gantikannya dengan kode shell kita.Tekan save.Sekarang.Anda telah berjaya.Cuba taip website itu untuk melihat ia berjaya atau tidak.Kalau ia berjaya,ia akan keluar paparan yang kita sudah programkan ke dalam website itu.

1 ulasan:

Translate This Page