Hackujeme Dropbox: jak vyloupit cizí data

Dropbox je populární úložiště se synchronizací napříč počítači. Má ale i svá potenciální rizika. Pokud totiž z cizího počítače vydolujete jeho identifikátor, získáte přístup ke všemu.

Používáte synchronizační webdisk Dropbox? Pak je tu článek přesně pro vás. Dnes si s ním trochu pohraji a „zahackuji“. Rovnou ale přiznám barvu. Vše, co se dnes dozvíte, nedávno objevil Derek Newton, bezpečnostní analytik Time Warner Cable. Jeho blogový zápisek se mi stal předlohou.

Jak funguje Dropbox

Nejprve řečnická otázka. Jak funguje Dropbox? Neustále synchronizuje soubory i celé adresáře mezi počítačem, na kterém běží speciální klient, a webovým úložištěm služby. Pokud tedy něco zkopírujete (zpravidla) do adresáře C:\Users\<uživatelské jméno>\Dropbox, na pozadí se data nahrají na váš webový účet, kde je máte archivovaná a kdykoliv k dispozici skrze webové rozhraní. Když si pak třeba pořídíte nový disk nebo prostě jen přeinstalujete systém, stačí opět stáhnout klient, přihlásit se a za pár okamžiků budete mít svá data opět na počítači.

Dropbox s tímto scénářem funguje výborně, ještě více ho ale oceníte v případě, kdy máte více počítačů. Pak můžete snadno synchronizovat data třeba mezi domácím a pracovním počítačem, notebookem a ostatně i mezi mobilem. Stačí se s klientem na každém z počítačů přihlásit pod vaším účtem a mašinu připojit do služby.

Jak tomu není...

Po nudných formalitách přichází na řadu konečně zábava. Každý počítač s klientem Dropbox je identifikovaný pomocí nějakého unikátního ID a vašeho účtu. Při komunikaci tedy sdělí serveru, že počítač má ID třeba 123456789 a patří uživateli s loginem jarmila.chroustova@seznam.cz. Proběhne autentizace a data se přesunou z jedné hromady na druhou.

... a jak tomu naopak je

Ne! Vše z předchozího odstavce okamžitě zapomeňte. Počítač je totiž v systému identifikovaný pouze a jedině skrze ID mašiny. Autentizaci pomocí vašeho přihlašovacího jména a hesla provádíte pouze při nastavení klientu, kdy se na serveru vygeneruje „tajný“ ID počítače. Při další komunikaci, tedy při samotné synchronizaci a přenášení souborů sem a tam, používá Dropbox už jen ID mašiny. Předpokládá totiž, že pokud je už stroj jednou zaregistrovaný – získal ID, vše je v pořádku.

Ono by i bylo, kdyby… Kdybyste tento ID snadno nezjistili a ještě snadněji nevložili do úplně cizího účtu Dropboxu. Bystří čtenáři už tuší, kam to vše povede, já to ale opět pro názornost rozvedu. Dejme tomu, že získám ID počítače se jménem JeanBabtistePocitac. Každý počítač by totiž měl mít pro vaši přehlednost i nějakou tu přezdívku. Může to být mašina třeba kolegy v práci, který si zrovna zašel na kávu a nechal spuštěný počítač. Jean má na svém počítači zajímavé dokumenty a pro jejich archivaci používá právě Dropbox. V tuto chvíli tam sice nic nemá, my ale víme, že večer si skrze službu něco přepošle domů.

dropbox web.png
Webové rozhraní Dropboxu se seznamem propojených počítačů – tento má jen jednu mašinu, JeanBabtistePocitac

Neznáme jeho heslo ke službě a nedozvíme se ho ani z webového rozhraní, kam se z desktopového Dropboxu dostanete i bez znalosti loginu a hesla. Dropbox totiž používá pouze hashe hesel. Mohli bychom Jeanovi samozřejmě změnit heslo a pomocí něho se pak později připojit k jeho účtu a podívat se, jaké dokumenty přibyly. Toho by si ovšem Jean všimnul a my bychom ke všemu museli mít přístup k jeho poště. Tak jak?

Pokud čtete bedlivě, dobře víte, že sice nemáme Jeanovo heslo do Dropboxu, známe ale ID mašiny (zatím se neptejte, kde jsem ho vzal). Jelikož jsou počítače autentizované pouze skrze toto ID (to už víte), stačí Jeanův ID vložit do nastavení našeho Dropboxu. Co se pak stane? Nastane totální schizofrenie – doslova naklonujeme Jeanův počítač. Náš počítač se bude pro server Dropboxu jevit úplně stejně jako originál a cokoliv tedy Jean zkopíruje do svého Dropboxu, dostaneme i my. V podstatě tu budou dva úplně identické počítače se stejným ID a tím zmateme i Dropbox samotný. Vše bude úplně v pořádku, Jeanovi nedojde žádný e-mail, že je s jeho účtem propojený další počítač nebo že se snad děje něco nekalého. Vše bude naprosto košer.

dropbox.png  dropbox slozka.png
Dva různé počítače se stejnou složkou Dropbox – nejedná se přitom o dvé připojené
mašiny nebo snad oficiální sdílení. Jedna z těchto mašin díky bezpečnostní díře zrcadlí tu
druhou a Dropbox o nějakém zdvojení nemá ani potuchy.

Jak jsem získal ID mašiny (a jak jsem ho vložil na druhý počítač)

A teď už konečně k jádru věci – kde jsem vzal Jeanův ID a jak jsem ho vložil do nastavení vlastního Dropboxu? Je to poměrně snadné. ID počítače je uložený v SQLite databázi config.db v adresáři %appdata%\Dropbox (appdata je makro Windows, skutečná cesta na Windows by tedy mohla vypadat třeba takto: C:\Users\<uživatelské jméno>\AppData\Roaming\Dropbox\config.db)..

dropbox.png
V tomto souboru je schovaný identifikátor mašiny

SQLite databáze sice není žádný textový soubor, kterému porozumíte v Poznámkovém bloku, ale netřeba se ničeho obávat, na webu totiž najdete desítky nejrůznějších editorů SQLite. Stáhnout si můžete třeba multiplatformní SQLite Database Browser. Stačí ho rozbalit – neinstaluje se, a pak v něm otevřít kýžený soubor. V záložce Browse Data najdete vše potřebné, tedy položku host_id. To je přesně to, co potřebujeme. Unikátní identifikátor autorizovaného počítače.

Zkopírujte hodnotu a v editoru SDB ji vložte do databáze na vašem počítači. Dropbox se okamžitě synchronizuje s účtem Jeana a obsah složky Dropbox bude vypadat úplně stejně na obou počítačích..

database editor.png
Databáze config.db v editoru a kýžený ID mašiny

Koho pustíte do svého mráčku?

Je to bezpečnostní riziko? Samozřejmě je. Kritici sice argumentují tím, že Dropbox nemůže být zodpovědný za to, že se vám někdo dostane do počítače a uloupí nechráněnou databázi config.db – už v té chvíli by totiž musel mít přístup do celého počítače a data si prostě zkopíruje, ale o tom to právě není. Bezpečnostní riziko spočívá v tom, že i když záškodník opustí počítač, díky neměnnému a dále již nekontrolovanému ID získá přístup i k dalším dokumentům, které na Dropbox nahrajete později.

Dejte tedy pozor, kdo všechno má přístup k vašemu počítači. Nejedná se přitom pouze o zlobivé kamarády – o nezabezpečený soubor a nešifrovanou hodnotu ID počítače by totiž mohl mít zájem i nějaký budoucí virus. Tímto způsobem totiž můžete pomocí unikátního ID klonovat počítače jedna báseň a jako jedna mašina se pak může chovat celá armáda tichých posluchačů, o kterých nemají autoři služby ani ponětí.

Koho pustíte do svého mráčku?

Diskuze (60) Další článek: CreateInstall Free: Bezplatná tvorba instalátorů

Témata článku: , , , , , , , , , , , , , , , , , , ,