Login lub e-mail Hasło   

Google Hacking - zarys problemu

Google posiada ogromną wiedzę o zasobach Internetu. Może to być, i często jest, wykorzystane przez krakerów. Dzięki odpowiednio spreparowanym zapytaniom atakujący może uzyskać wiele przydatnych informacji na temat danej witryny.
Wyświetlenia: 14.242 Zamieszczono 06/09/2007

Wyszukiwarka internetowa firmy Google jest obecnie jedną z największych dostępnych na rynku. W jej zasobach zaindeksowane są miliony odnośników do stron WWW na całym świecie. Ponadto narzędzie to posiada szereg opcji, które pozwalają na kompleksowe i zaawansowane wyszukiwanie. Może to być, i często jest, wykorzystane przez krakerów. Dzięki odpowiednio spreparowanym zapytaniom atakujący może uzyskać wiele przydatnych informacji na temat witryny.

Ten rodzaj ataku uzyskał nawet własną nazwę : Google Hacking. Co prawda, do tego samego celu mogą być użyte też inne wyszukiwarki dostępne w Internecie, nie tylko Google, lecz to właśnie produkt tej firmy wydaje się oferować najlepszą funkcjonalność i największą ilość odnośników przechowywanych w swoich zasobach.

Jednym z kluczowych elementów, na który należy zwrócić uwagę podczas analizy bezpieczeństwa aplikacji, są komunikaty błędów. Google bardzo łatwo może posłużyć atakującemu do odnalezienia luk tego typu.

Przykładowe polecenia wyszukiwarki Google, których celem jest odnalezienie stron wyświetlających komunikaty błędów (źródło: Piotrowski M.: Niebezpieczne Google - wyszukiwanie poufnych informacji, Hakin9 nr 3/2005) :

Zapytanie

Rezultat

"Access denied for user" "Using password"


Błędy autoryzacji - mogą zawierać nazwy użytkownika, nazwy funkcji, informacje o układzie plików i fragmenty kodu SQL.

"The script whose uid is" "is not allowed to access"

Błędy PHP związane z kontrolą dostępu - mogą zawierać nazwy plików, nazwy funkcji i informacje o układzie plików.

"#mysql dump" filetype:sql

Błędy bazy MySQL - mogą zawierać informacje o strukturze i zawartości bazy danych.

"Warning: mysql _ query()" "invalid

query"

Błędy bazy MySQL - mogą zawierać nazwy użytkowników, nazwy funkcji, nazwy plików i informacje o układzie plików.

"Error Message : Error loading required

libraries."

Błędy skryptów CGI - mogą zawierać informacje o rodzaju systemu operacyjnego i wersji oprogramowania, nazwy użytkowników, nazwy plików oraz informacje o układzie plików w systemie.

Poza komunikatami błędów, Google może się okazać bardzo dobrym narzędziem do wyszukiwania wielu innych przydatnych informacji, takich jak hasła, struktura bazy danych, dane konfiguracyjne, ukryte i poufne pliki i katalogi, tajne dokumenty i wiele wiele innych. W ogólnodostępnej bazie Google Hacking (http://johnny.ihackstuff.com/) znajduje się obecnie ponad 1400 konkretnych i gotowych zapytań, które mogą być wykorzystane do odnalezienia przeróżnych informacji ułatwiających przeprowadzanie ataku na aplikację. Poniżej przedstawiono tylko część z nich.

Zapytanie

Rezultat

"robots.txt" + "Disallow:" filetype:txt

Pliki robots.txt zawierające informacje o zasobach ukrytych przed indeksowaniem przez wyszukiwarki.

inurl:phpinfo.php filetype:php

Podstrony pokazujące konfigurację PHP na danym serwerze. Wiele przydatanych danych, od ustawień poszczególnych parametrów po zainstalowane rozszerzenia.

pass|password inurl:config.inc filetype:inc

Pliki config.inc, które bardzo często używane są przez programistów PHP do przechowywania danych konfiguracyjnych, m.in. haseł dostępu do bazy danych.

"admin account info" filetype:log

Dzienniki zdarzeń serwera (tzw. logi) zawierające informacje dotyczące konta administratora, w tym nazwę użytkownika i hasło.

"#mysql dump" filetype:sql

Pliki zawierające zrzuty baz danych MySQL.

filetype:sql "insert into" (pass|passwd|password)

lub

filetype:sql ("values * MD5" | "values * password" | "values * encrypt")

Kopie zapasowe lub pliki instalacyjne bazy danych MySQL, zawierające zarówno strukturę bazy danych jak i dane, w tym także nazwy i hasła użytkowników.


"not for public release" -.gov -.mil


Dokumenty, które zawierają wiele poufnych informacji, do których nie powinny mieć dostępu nieuprawnione osoby. W niniejszym przykładzie przeszukiwane są zasoby zgromadzona na amerykańskich stronach rządowych USA, w tym Ministerstwa Obrony.


Niektórzy zalecają ochronę przed indeksowaniem strony poprzez użycie pliku robots.txt. Umożliwia on wskazanie tych plików i katalogów, które nie powinny być zapisywane w bazie odnośników wyszukiwarki. Niestety, o ile plik ten rzeczywiście może stanowić częściową ochronę przed atakami typu Google Hacking, o tyle jest przyczyną pojawienia się innej luki. Problem polega na tym, że plik ten jest ogólnie dostępny, także dla potencjalnych włamywaczy, w wyniku czego mogą oni poznać nie tylko strukturę witryny, ale i lokalizację poufnych plików chronionych przed indeksowaniem przez roboty wyszukiwarek internetowych. Co więcej, Google może być także z powodzeniem wykorzystane do odnajdywania stron, które używają robots.txt (zob. tabela powyżej). Nie ulega więc wątpliwości, że należy szukać innych sposobów zabezpieczania witryny przed atakami wykorzystującymi wyszukiwarki internetowe.

Wbrew pozorom rozwiązanie problemu jest dość proste. Dobrze napisana witryna po prostu nie powinna w ogóle wyświetlać komunikatów błędów, które mogłyby ujawnić potencjalnym atakującym jakiekolwiek informacje na temat działania skryptów - najzwyklejsza notka z przeprosinami oraz krótkim i ogólnym wyjaśnieniem problemu powinna w zupełności wystarczyć. Oczywiście błędy te muszą być zapisywane w odpowiednich dziennikach zdarzeń, aby umożliwić ich analizę przez administratorów systemu.

Podobne artykuły


8
komentarze: 79 | wyświetlenia: 954
111
komentarze: 32 | wyświetlenia: 60420
54
komentarze: 56 | wyświetlenia: 32425
54
komentarze: 68 | wyświetlenia: 31152
50
komentarze: 27 | wyświetlenia: 63301
49
komentarze: 18 | wyświetlenia: 64804
39
komentarze: 50 | wyświetlenia: 23137
39
komentarze: 30 | wyświetlenia: 28647
37
komentarze: 9 | wyświetlenia: 28369
36
komentarze: 37 | wyświetlenia: 23214
34
komentarze: 21 | wyświetlenia: 26234
32
komentarze: 12 | wyświetlenia: 26551
 
Autor
Artykuł



Google ma jeszcze groźniejszą "broń": wyszukiwarkę kodu - http://www.google.com/codesearch, gdzie za pomocą odpowiednich wyrażeń możemy znaleźć luki w popularnym oprogramowaniu. Kiedyś widziałem o tym ciekawy artykuł, ale już go chyba nie znajdę...

To prawda, techniki zaprezentowane w tym artykule są niczym, przy tym, co można robić z Google. Wykorzystując odpowiednie wyrażenia regularne, otrzymujemy potężne narzędzie!

Racja, jednak należy wskazać drobną różnicę. Codesearch pozwala na wyszukiwanie dziur tylko w kodzie, który został gdzieś udostępniony, najczęściej open source typu phpbb, mambo itp. (i jest niestety w tym bardzo skuteczne), natomiast samo google (w sposób opisany powyżej w artykule) nawet w "zamkniętych" witrynach opartych o autorskie (i dziurawe) systemy.

Blokowanie, poprzez np. .htaccess katalogów z kodem aplikacji jest podstawowym działaniem. Tu już nawet nie ma co bać się że Google coś znajdzie: wystarczy spojrzeć do log'a Apache, żeby się przekonać, że wiele botów automatycznie szuka na serwerze takich katalogów jak /backup/ czy /logs/.

  radek_1  (www),  07/09/2007

Ciekawy artykuł. Nigdy nie słyszałem o takim wykorzystaniu Google i o tej "dziedzinie" wyszukiwania :)

Wydaje się, że takie wyszukiwanie nie powinno być skuteczne. Niestety, na świecie są informatyczni idioci, czasem na ważnych stanowiskach. I wtedy wszystko staje się możliwe...

  Amadeusz  (www),  21/05/2010

Google coraz bardziej mnie zaskakuje. Ciekawe były też ostatnie newsy o tym że google podsłuchiwało prywatne sieci WIFI ;)



Dodaj swoją opinię
W trosce o jakość komentarzy wymagamy od użytkowników, aby zalogowali się przed dodaniem komentarza. Jeżeli nie posiadasz jeszcze swojego konta, zarejestruj się. To tylko chwila, a uzyskasz dostęp do dodatkowych możliwości!
 

© 2005-2018 grupa EIOBA. Wrocław, Polska