Dokumen ini menjelaskan bagaimana administrator sistem dapat menggunakan Google untuk menemukan celah keamanan pada situs web mereka sendiri dengan melakukan query khusus. Metode ini meliputi pencarian direktori terbuka, kesalahan pesan, layanan jarak jauh, dan laporan kerentanan yang tersedia secara online. Dokumen ini juga memberikan saran keamanan untuk mencegah eksploitasi celah tersebut.
CARA MENGGUNAKAN GOOGLE UNTUK MENEMUKAN CELAH KEAMANAN
1. Ragam Hacking Menggunakan Google
Wednesday, December 15, 2004- Jumlah Klik [8428] , Penulis :
si_cebol
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:
2. 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
3. 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]/
4. 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
5. 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.
"PHP Security" (Part 1, Part 2, and Part 3).
"Secure Programming for Linux and Unix HOWTO"
"Perl Security"
"How to Remove Meta-characters From User-Supplied Data in CGI
Scripts"
"Building Secure ASP.NET Applications: Authentication,
Authorization, and secure communication
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..
Sekian.
si_cebol