Friday 1 July 2011

Aneka Ragam Hacking Menggunakan Google

BY Putra Muharril IN No comments

 Jasakom - Artikel ini terinspirasi dari situs http://johnny.ihackstuff.com tentang cara mendayagunakan Google dalam mencari celah keamanan website.
Jika Google menemukan alur data yang dapat mengekspos informasi sensitif mengenai organisasi anda, Google tidak akan ragu-ragu mengindeksnya. Mesin pencari ini tidak membedakan data yang diindeknya. Apa yang sebaiknya anda lakukan jika rahasia anda bocor ke publik? Anda dapat menggunakan Google untuk keuntungan anda melalui beberapa query pencarian yang spesifik. Inspirasi contoh tersebut dapat dilihat pada artikel dari Johnny Long. Dalam artikel ini Nitesh Dhanjani (konsultan keamanan IT) ini juga akan menunjukkan kepada anda bagaimana cara menggunakan Google API untuk otomasi proses pencarian Google terhadap berbagai celah keamanan.
Default Resource
Web server seringkali diinstall sebagai halaman web. Default halaman web ini tidak menunjukkan suatu celah keamanan, tapi mereka bisa mengidentifikasi sebuah konfigurasi default web server. Para attacker mengetahui bahwa halaman default seringkali menunjukkan suatu kelemahan web server.: Jika seorang administrator tidak berusaha menghapus default halaman "welcome" tersebut, sangat dimungkinkan bahwa dia tidak memblokir service "unused" atau menambahkan patch apapun. Query Google berikut ini berguna dalam mencari instalasi default Apache.
intitle:"Test Page for Apache"
Directory Listing
Web server seringkali menyediakan daftar direktori saat sebuah file default seperti index.html tidak ada dalam direktori tersebut. Terkadang, mereka menyimpan informasi sensitif dalam direktori, seperti query sederhana berikut ini:
intitle:"Index of" admin
Query diatas akan menghasilkan URL yang berisi directory listing dari /admin. Kebanyakan, para administrator membuat direktori yang bernama admin untuk menyimpan informasi sensitif. Berikut ini query yang berguna dalam mencari directory listing:
intitle:"Index of" .htpasswd
intitle:"Index of" stats.html
intitle:"Index of" backup
intitle:"Index of" etc
intitle:"Index of" finance.xls
 

Error Messages
Error Message dari web server dan aplikasinya dapat memberikan rincian lebih jauh. Perhatikan query Google berikut ini yang menunjukkan sebuah MySQL error. argumen yang diberikan bukanlah sebuah hasil resource MySQL yang valid. Query lainnya juga dapat membongkar informasi yang menarik diantaranya:
"A syntax error has occurred" filetype:ihtml
"ORA-00921: unexpected end of SQL command"
 


Remote ServicesBesar kemungkinan untuk menemukan VNC dan Terminal Service Server melalui query berikut ini. Kebanyakan administrator mengira user eksternal tidak akan mampu menemukan URL tersebut untuk mengakses informasi perihal remote service.
"VNC Desktop" inurl:5800
intitle:"Terminal Services Web Connection"
 

Google dapat juga mencari aplikasi administratif yang memungkinkan user untuk mengkonfigurasi system secara remote. Contohnya, berikut ini cara menempatkan instalasi phpMyAdmin:
"phpMyAdmin" "running on" inurl:"main.php"
Vulnerability Report
Nessus Framework bekerja dengan baik untuk mengidentifikasi celah keamanan suatu jaringan. Tool ini dapat membuat suatu laporan HTML mengenai celah keamanan tersebut. Seringkali, laporan langsung ada dalam direktori web root, menyebabkan server melayani semua user eksternal. Sebuah laporan Nessus bisa jadi berisi rincian celah keamanan yang ada dalam jaringan organisasinya. Berikut ini query yang digunakan Google untuk menemukan laporan berupa:
"This file was generated by Nessus" "Host Vulnerability Summary Report"
google_vulns.php
Contoh query yang disajikan dalam bagian sebelumnya hanya sebagian kecil dari query yang diketahui yang dapat menemukan celah keamanan menggunakan mesin pencari Google. Script google_vulns.php yang disajikan pada bagian ini menggunakan Google API untuk mencari query yang mirip dengan yang ada diatas. (Lihat source code Google Hack #55 untuk contoh sederhana tentang teknik query dengan Google API menggunakan PHP). Membaca sebuah file teks, signatures.txt, yang berisikan query Google dan keterangannya. Script tersebut berguna untuk mendapatkan sebuah domain name sebagai sebuah parameter untuk memaksa pencarian dalam suatu organisasi domain.
File signatures.txt berisi sebuah daftar query yang dipilih, mirip dengan yang ada pada bagian sebelumnya. Setelah setiap baris yang berisi query tertentu yang ada, terdapat suatu baris yang berisi penjelasan query tersebut. Script tersebut mengiterasi melalui file signatures.txt, dan pada setiap query, pencarian Google yang dihasilkan menggunakan Google API. Script tersebut menambahkan site: domain pada setiap query. Hal ini memungkinkan script tersebut ke target domain tertentu yang diberikan, sebuah parameter yang diberikan untuk script tersebut. Jika Google mengembalikan hasil yang valid, script tersebut menampilkan URL yang dapat digunakan, sepanjang dengan keterangan dari query tersebut.
Cara menjalankan script ini:

  • Kunjungi Google Web APi dan mendaftar untuk mendapatkan sebuah account. Mereka akan meng-email anda sebuah license key.
  • Download script google_vulns.php
  • Edit script tersebut dan ubah nilai variabel $key untuk menrefrleksikan Google license key anda.
  • Download signatures.txt dan tempatkan dalam direktori yang sama dengan google_vulns.php
  • Download GoogleSearch.wsdl dan tempatkan dalam direktori yang sama dengan google_vulns.php.
  • Download nusoap.php dari NuSOAP
Sekarang jalankan google_vulns.php dari baris perintah:
[bash]$ php ./google_vulns nama_target.com
Anda boleh juga menjalankan google_vulns.php dengan tanpa restriktif domain name, seperti .edu
[bash]$ php ./google_vulns .edu
************************************************
Search string: site:.edu intitle:"Index of" service.pwd
URL: http://[removed for this article]/
Directory listing contains service.pwd file(s)
************************************************
Search string: site:.edu intitle:"Index of" admin
URL: http://[nama_target]/admin/
Directory listing yang berisi file atau direktori administratif
************************************************
************************************************
Search string: site:.edu intitle:"Index of" .htpasswd
URL: http://[nama_target]/
Directory listing yang berisi file .htpasswd
************************************************
************************************************
Search string: site:.edu intitle:"Index of" stats.html
URL: http://[nama_target]/
Directory listing yang berisi stats.html yang bisa jadi
berisikan statistik webserver yang bermanfaat
************************************************
************************************************
Search string: site:.edu intitle:"Index of" .bash_history
URL: http://[nama_target]/
Directory listing yang berisi informasi bash history
************************************************
...
...
...
Script google_vulns.php hanya merupakan sebuah implementasi proof-of-concept. Bukan multi-thread, dan menurut kebijakan Google API dibatasi hanya mengembalikan 10 hasil per query. Untuk menampilkan pencarian yang lebih mendalam, gunakan sebuah tool pengganti seperti SiteDigger
Sebagaimana yang anda lihat dari output tersebut, sangat mudah untuk menggunakan Google dalam menemukan celah keamanannya. Karena script tersebut menggunakan Google untuk mencari celah keamanan, Target yang discan tidak akan mengetahui scan tersebut sampai seseorang mengguakan sebuah URL yang dihasilkan. Hal ini menjadikan jenis scanning ini benar-benar stealth.
Security Links
Script google_vulns.php mengekspos celah keamanan yang ada, pada kebanyakan kasus, hasil dari pengabaian dan kecerobohan merupakan praktek dasar terbaik. Beberapa contoh query yang diberikan dalam bagian ini berorientasi web server yang lemah. website Apache berisikan link untuk sejumlah resource yang dapat membantu administrator melindung webserver mereka, termasuk tip keamanan Apache httpd tutorial Apache httpd. Dengan catatan, administrator seharusnya secara rutin mengaudit direktori yang melayani sebagai web root untuk menjamin ada tidaknya content yang sensitif.
Aplikasi web serharusnya juga dibawah perlindungan untuk tidak menyediakan informasi sensitif kepada user. Kebanyakan celah keamanan aplikasi web terjadi akibat praktek coding yang tidak aman. Berikut beberapa resource yang dpat emembantu developer memabahami cara mengamankan aplikasi mereka.


Remote service, seperti VNC dan Terminal Service, seharusnya tidak dapat diakses secara langsung dari Internet. Memerlukan remote user untuk otentikasi ke VPN Gateway yang menggunakan strong encryption untuk mengakses remote service.
Kesimpulan
Saat ini terdapat resource keamanan online yang gratis, tidak ada alasan yang dapat dimaafkan untuk tidak mengamankankan host yang kritis guna mencegah tereksposnya data yang sensitif. Meski material yang disajikan pada artikel ini tidak menggambarkan semua kemungkinan celah keamanan, saya harap hal ini berguna dikalangan para administrator dan end user.
Saya tegaskan sekali lagi bahwa artikel tidak menunjukkan bagaimana cara menghacking suatu webserver atau "HOW TO", saya akan berterima kasih sekali dan belajar dari anda sekalian, bila anda mau menuliskan tentang "HOW TO"-nya disini, di JASAKOM..

0 comments: