Distribuované lámání hesel pomocí JavaScriptu
V článku „Lámání hesel“ jsme si uvedli, že lámání hesel lze velice dobře paralelizovat. Na nedávné Black Hat konferenci v Abu Dhabi bylo prezentováno řešení, které přesně tohle umožňuje.
Na první pohled nic zajímavého, protože nástroje, které umožňují distribuované lámání hesel, jsou k dispozici již poměrně dlouhou dobu. Jenže v tomto případě se nemusí na počítač, který má být k lámání hesel použit, nic instalovat. O vše se postará obyčejný JavaScript.
Můžete sice namítnout, že JavaScript je pomalý, a že množství vyzkoušených hashů za sekundu není nic moc. To je jistě pravda, když ale uvážíte, že doba, za kterou je útočník schopen dané heslo prolomit, je závislá jen na počtu návštěvníků a době, kterou stráví na webu, jehož stránka bude daný JavaScript kód obsahovat, tak zjistíte, že k výsledku se může tímto způsobem dopracovat velice rychle. Útočník má teoreticky možnost využít kolem 2 miliard strojů uživatelů, kteří jsou připojeni do internetu.
A vzhledem k tomu, že je použit JavaScript, tak útočník nemusí brát vůbec v potaz použitý operační systém. V případě, že se mu povede svůj JavaScript kód umístit na nejnavštěvovanější weby, může se přiblížit k výše uvedené teoretické hranici, kdy se počítač každého návštěvníka, který na daný web zavítá a má povoleno spouštění JavaScriptu, stává jedním z mnoha klientů, kteří se na distribuovaném lámání hesel podílí.
A pokud připustíme, že běžným surfováním po internetu a návštěvou nejrůznějších stránek naprostá většina z nás spustí na svém zařízení mnoho řádků již z principu nedůvěryhodného JavaScript kódu, tak ani nezaznamenáme, k čemu je náš stroj použit. V podstatě nemáme ani jak, pokud neanalyzujeme, co daný JavaScript kód opravdu dělá nebo nesledujeme, jak zobrazování jednotlivých stránek zatěžuje procesor.
Pokud vás zajímá, jak takové řešení funguje, podívejte se na nástroj Ravan, což je nástroj umožňující distribuované lámání solených i nesolených hashů vygenerovaných pomocí algoritmů MD5, SHA1, SHA256, SHA512. Princip jak tento nástroj funguje, je celkem jednoduchý, zadáte hash, tomu je mu přiděleno jedinečné ID a následně se vygeneruje odkaz, který je třeba spustit na prohlížeči, který má být k lámání hashe použit. Jediným omezením je, že musí být použit browser s podporou Web Workers, která umožňuje spouštět JavaScript ve více vláknech.
Poznámka: Pro lámání nesolených hashů útočník samozřejmě zvolí řešení využívající rainbow tables, ale v případě solených hashů jinou možnost než útok hrubou silou nemá.
A co vy, máte ve svém prohlížeči povolen JavaScript?
Štítky: informační bezpečnost, lámání hesel
K článku “Distribuované lámání hesel pomocí JavaScriptu” se zde nenachází žádný komentář - buďte první.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.