Společnost Google Inc. patří mezi nejhodnotnější firmy světa. Stalo se tak jistě díky provozování stejnojmenného fulltextového vyhledávače. Služba Google Search je dostupná z webové stránky www.google.com a v mnoha národních variantách. Nabízí jednoduché uživatelské prostředí, snadné ovládání i pomocnou ruku pro pokročilejší uživatele. Nejen díky tomu je Google nejvíce používaný vyhledávač na světě a textové pole pro spojení se službou je možné implementovat do všech současných webových browserů. Data do databáze jsou sbírány pomocí sofistikovaných robotů, kteří pomocí odkazů prohledávají a následně indexují internetové stránky. Výsledky každého vyhledávání jsou pak řazeny podle mnoha citlivých aspektů a pravidel.
Každý fulltextový vyhledávač tak můžeme rozdělit na dvě části. První část je robot, který indexuje, a druhá část je internetové rozhraní. Robot má na starosti procházení webu a stahování souborů. V poslední době se usilovně pracuje na indexaci nejen html obsahu internetu, ale také na porozumění vyhledávacích strojů souborům s příponami jako pdf, doc, docx a další.
Při vyhledávání se na webové stránce vyhledávače pokládá dotaz, který vyhledávač porovná se svou databází. Existují však jen domněnky, jakým způsobem se seřazují jednotlivé výsledky hledání, protože tyto algoritmy nejsou veřejné. S největší pravděpodobností jde o kombinaci výskytu vyhledávané fráze s tzv. offpage faktory. Jde o faktory, které nelze přímo ovlivnit, nenacházejí se přímo na stránce. Mezi takové patří Google PageRank. Je to číselný systém hodnocení relativní důležitosti webových stránek vyvinutý zakladateli Googlu.
Search Engine Optimalization (zkráceně SEO) lze pak popsat jako množinu technik a pravidel, které využívají programátoři a pomocí doposud známých fungování vyhledávačů přizpůsobují webovou stránku tak, aby se objevila po zadání klíčových slov co nejvýše.
Google nabízí kromě základního vyhledávání frází možnost svůj dotaz specifikovat podobně jako dotaz na databázi SQL. Pomocí pokročilých operátorů jsme pak schopni rychleji najít přesnější informace. Techniky spojené s touto problematikou můžeme chápat jako Google Hacking. Jednoduše řečeno jde o hledání citlivých informací a slabých míst v zabezpečení webových aplikací.
V následující tabulce se pokusím shrnout ty nejdůležitější operátory.
Tvorba dotazu | Detail |
---|---|
intitle: | Text označkovaný <TITLE> v hlavičce HTML dokumentu. |
inurl: | Vyhledá řetězec v URL |
filetype: | Omezení na určený typ souboru. |
"dotaz" | Hledání fráze. Slova v uvozovkách se hledají ve stejném pořadí jak byla zadána |
V prvním pokusu hledání jsem se pokusil získat přístup k nezabezpečenému webovému prostředí kamery Canon.
Stránku s vyhledáváním je možné nalézt zde.
Vybral jsem si jeden z mnoha funkčních výsledků: zde
Kromě používání nezabezpečené aplikace jsem měl možnost s kamerkou hýbat do stran a používat funkci zoom. Díky službě whois jsem dokázak zjistit, že doména byla založena v Maďarsku.
V dalším hledání jsem se pokusil nalézt nezabezpečené internetové rozhraní tiskáren HP.
Stránku s vyhledáváním je možné nalézt zde.
Odkaz na webové rozhraní tiskárny: web tiskárny
V nalezeném webovém rozhraní pro HP LaserJet 4250 jsem si mohl přečíst statistiku tisku, stav tiskárny a dokonce bylo možné poslat libovolný soubor k přímému vytištění. Dále jsem zjistil, že doménu, na které tato aplikace běží si zaregistrovala firma Markmonitor Inc. a server běží v Ohiu.
Dump databáze je schopný prozradit vše o struktuře, vazbách a datových typech. Při použití struktury databáze je možné analyzovat chování aplikace a přizpůsobit tomu i další útok.
V další pokusu jsem se snažil najít dump databáze vytvořený phpMyAdminem, který obsahuje entitu password.
Stránku s vyhledáváním je možné nalézt zde.
Odkaz na soubor: zde
Podle mého názoru bylo toto hledání úspěšné. Mohl jsem analyzovat chování celé databáze a dále s touto znalostí použít útok na získání obsahu databáze.
V druhém pokusu nalezení výpisu databáze jsem se zaměřil na české webové stránky.
Stránku s vyhledáváním je možné nalézt zde: zde.
Odkaz na soubor: zde
Podařilo se mi najít dump z databáze pro články na serveru www.penguin.cz. Pokusím se zjistit, jestli jsem nalezl opravdu zálohu pro články a tedy zda se tato data objeví i na samotném webu. Pro další přesnější hledání jsem si vybral data z prvního řádku: autorem by měl být snek a článek by měl začínat asi takto: Jak počeštit. Pomocí Googlu jsem tedy hledal jen na již zmíněné stránce začátek článku.
Zaznamenal jsem úspěch. Tento výstřižek už je ze samotných webových stránek projektu a je důkazem, že jsem opravdu našel zálohu databáze pro články.
Chybová hlášení mohou napovědět více o fungování webové aplikace. Mohou zobrazovat jména použitých funkcí a parametrů, adresářovou strukturu webu, čísla řádků, část SQL dotazů nebo žádostí o zadání správného hesla. Já jsem se zaměřil na chyby generované PHP skriptem s cílem mapování adresářové struktury.
Stránku s vyhledáváním je možné nalézt zde.
Odkaz na stránku: www.z2z.ru
Tato chybová zpráva obsahuje informace o skriptu, který ji vytvořil, ale také o cestě k němu, čísla řádků a jména funkcí. V tomto hledání se mi podařilo nalézt asi nejvíce výsledků, vybral jsem tedy jen jeden z nich.
Squid je kešující proxy-server pro HTTP a FTP, který sám používám. Pokusil jsem se najít záznam tohoto programu, ze kterého je mimo jiné možné vyčíst, jaké webové adresy jsou navštěvovány a například jaký typ dat a kolik squid zprostředkoval.
Stránku s vyhledáváním je možné nalézt zde.
Odkaz na stránku: zde
V tomto výsledku jsem byl schopen určit, které stránky klient otevírá nebo například analyzovat zastoupení stahovaného obsahu.
Na závěr práce si položme důležitou otázku: Jak se Google Hackingu bránit? Základ tkví v zobrazování informací na webu pro širokou veřejnost. Platí tak, že například veškeré zálohy by měly být skryty nebo by vůbec neměly na webovém serveru být. Cíl je tedy lepší a propracovanější zabezpečení. Mám na mysli například zákaz procházení adresářové struktury nebo zablokování přístupu Google Robotovi do určitých souborů a adresářů.
Svou práci jsem chtěl dovést k dokonalosti. S vizí absolutního úspěchu jsem předpokládal, že například u hledání hesel v SQL dumpu bude stačit systém „najít – zkopírovat – použít“. Tak to bohužel, nebo bohudík, nefunguje. Většina nalezených projektů byla buď „v plenkách“ nebo na druhou stranu „pod drnem“. Použití hesla většinou přineslo jen další chybovou hlášku. Po několika denním pátrání jsem zjistil, že to není tak jednoduché, jak jsem si myslel. Moje práce tedy obsahuje to nejlepší, a z mého pohledu nejzajímavější, co jsem za dobu strávenou hledáním našel. Pokud totiž není správce systém absolutní diletant, dodržuje alespoň základní pravidla pro zabezpečení a technika Google Hackingu je na něj krátká.