Jika Google menemukan alur data yang dapat mengekspos informasi sensitif
mengenai organisasi anda, Google tidak akan raguragu 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.
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"
(http://www.google.com/search?q=intitle:%22Test%20Page%20for%20Apa
che%22)
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
(http://www.google.com/search?q=intitle:%22Index%20of%22%20admin)
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" stats.html
(http://www.google.com/search?q=intitle:%22Index%20of%22%20stats.ht
ml)
intitle:"Index of" backup
(http://www.google.com/search?q=intitle:%22Index%20of%22%20backup
%22)
intitle:"Index of" etc
(http://www.google.com/search?q=intitle:%22Index%20of%22%20etc)
intitle:"Index of" finance.xls
(http://www.google.com/search?q=intitle:%22Index%20of%22%20finance.x
ls)
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
(http://www.google.com/search?q=intitle:%22Index%20of%22%20stats.ht
ml)
"ORA00921: unexpected end of SQL command"
(http://www.google.com/search?q=%22ORA
00921:%20unexpected%20end%20of%20SQL%20command%22)
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
(http://www.google.com/search?q=intitle:%22VNC%20Desktop%20%22%2
0inurl:58 00)
intitle:"Terminal Services Web Connection"
(http://www.google.com/search?q=intitle:%22Terminal%20Services%20We
b%20Co nnection%22)
Google dapat juga mencari aplikasi administratif yang memungkinkan user
untuk mengkonfigurasi system secara remote. Contohnya, berikut ini cara
menempatkan instalasi phpMyAdmin:
(http://www.phpmyadmin.net/home_page/)
"phpMyAdmin" "running on" inurl:"main.php"
(http://www.google.com/search?q=%22phpMyAdmin%22%20%22running
%20on%22%20i nurl:%22main.php%22%22)
Vulnerability Report
Nessus (http://www.nessus.org/) 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"
(http://www.google.com/search?q=%22This%20file%20was%20generated
%20by%20N essus%22) "Host Vulnerability Summary Report"
(http://www.google.com/search?q=%22Host%20Vulnerability%20Summary
%20Repor t%22)
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
(http://hacks.oreilly.com/pub/h/175) 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 (http://www.google.com/apis/) dan mendaftar
untuk mendapatkan sebuah account. Mereka akan mengemail anda sebuah
license key.
Download script google_vulns.php
(http://www.onlamp.com/security/2004/10/07/examples/google_vulns.php.
txt)
Edit script tersebut dan ubah nilai variabel $key untuk menrefleksikan Google
license key anda.
Download signatures.txt
(http://www.onlamp.com/security/2004/10/07/examples/signatures.txt)
dan tempatkan dalam direktori yang sama dengan google_vulns.php
Download GoogleSearch.wsdl
(http://www.onlamp.com/security/2004/10/07/examples/GoogleSearch.ws
dl) dan tempatkan dalam direktori yang sama dengan google_vulns.php.
Download nusoap.php dari NuSOAP (http://dietrich.ganx4.com/nusoap/)
Sekarang jalankan google_vulns.php dari baris perintah:
$ [B]php ./google_vulns nama_target.com
Anda boleh juga menjalankan google_vulns.php dengan tanpa restriktif
domain name, seperti .edu
$ [B]php ./google_vulns .edu
************************************************
Search string: site:.edu intitle:"Index of" service.pwd
URL: [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 proofof
concept. Bukan multithread, dan menurut kebijakan Google API dibatasi
hanya mengembalikan 10 hasil per query. Untuk menampilkan pencarian
yang lebih mendalam, gunakan sebuah tool pengganti seperti SiteDigger
(http://foundstone.com/resources/termsofuse.htm?file=sitedigger.zip)
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,
(http://httpd.apache.org/docs/misc/security_tips.html) httpd tutorial
(http://httpd.apache.org/docs/misc/tutorials.html) 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
(http://www.onlamp.com/pub/a/php/2003/07/31/php_foundations.html),
Part 2
(http://www.onlamp.com/pub/a/php/2003/08/28/php_foundations.html),
and Part 3
(http://www.onlamp.com/pub/a/php/2003/10/09/php_foundations.html)).
"Secure Programming for Linux and Unix HOWTO"
(http://www.dwheeler.com/secureprograms/SecurePrograms
HOWTO.html)
"Perl Security" (http://www.perldoc.com/perl5.8.0/pod/perlsec.html)
"How to Remove Metacharacters From UserSupplied Data in CGI Scripts"
(http://www.cert.org/tech_tips/cgi_metacharacters.html)
"Building Secure ASP.NET Applications: Authentication, Authorization, and
secure communication
(http://msdn.microsoft.com/security/default.aspx?pull=/library/en
us/dnnetsec/html/secnetlpmsdn.asp)
Remote service, seperti VNC (http://www.tightvnc.com/) 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.
Read More......