V minulém článku Louskání hesel pro každého, Windows 7 jako bonus jsme se podrobně věnovali základním principům lámání hesel, prakticky jste si na závěr mohli otestovat prolomení i úplné odstranění hesla Windows. Právě v souvislosti s Windows byly zmíněny LM a NTLM hashe, bez nichž se autentizace v tomto systému neobejde, nicméně útoky na hash kódy mají význam i v síťovém světě. Hlavně při vytváření takovýchto otisků v databázích na serverech se využívá několika základních vlastností hash kódů:
Jednosměrnost – díky tomu, že heslo není ukládané ve své původní textové podobě, ale ve formě výsledného hash kódu, není výpočetně možné získat z hash kódu původní heslo, tedy alespoň v současné době. To platí pro silnou hashovací funkci, s výhodou lze posílat nebo uchovávat heslo v podobě výsledného hash kódu a při autentizaci tento otisk porovnávat s otiskem uživatelova aktuálního vstupu. Na minimum se tak omezí použití nezabezpečené plain-text formy, která sama o sobě svádí ke všem variantám útoku man in the middle.
Bezkoliznost – při případné autentizaci porovnáním výsledných hash kódů dokáže zajistit, že heslo bude akceptováno právě tehdy, když je zadáno správně. Správný hash kód totiž díky bezkoliznosti mohl vzniknout pouze ze správného hesla.
Nízká datová náročnost – v případě standardních hesel, která mají například 8znakovou délku, sice není datová velikost natolik důležitá, ale i přesto je příjemné, že je přesně stanovena délka výsledného hash otisku pro další zpracování.
U hashovacích funkcí navíc musí fungovat takzvaný lavinový efekt, kdy malé změně vstupu odpovídá velká změna výstupu, takže i v případě, že by se dvě náhodně vybraná hesla hodně podobala, nebude možné ze znalosti hash kódu jednoho odvodit otisk toho druhého. Tolik teorie, praxe je samozřejmě, jak tomu již bývá, o něco méně veselá.
LM na vymření, ale stále nevyhynulo
Pokud je součástí ochrany hesla či jiných dat hash kód (nejen pro kontrolu integrity), nabízejí se takzvané duhové útoky, k nimž jsou na webu k dispozici speciální programy a tabulky. Jedná se o doplněk slovníkového či bruteforce útoku, který může značně usnadnit především lámání většího množství hashů. Efektivitu duhových útoků si můžete sami otestovat pomocí duhových tabulek projektu RainbowCrack. Ve verzi 1.5 zvládnete rychlé útoky hlavně na často využívané LM, NTLM, MD5 nebo SHA1 hashe.
Duhové tabulky vám poskytnou rychlé útoky proti často používaným hashovacím algoritmům, jsou také pořádně objemné.
Idea celého postupu je jednoduchá: proč při lámání každého hesla vždy počítat odpovídající hash kód, když je můžete pro různé vstupy vypočítat předem? Připravená tabulka dvojic (otevřený text; výsledný hash) samozřejmě musí být pro úspěšný útok pořádně rozsáhlá, jedná se vlastně o speciální variantu slovníkového útoku. Vygenerované duhové tabulky samozřejmě nacházejí uplatnění také v celé řadě jiných aplikací, vždy ale mějte na paměti, že opravdu rozsáhlé verze jsou také adekvátně veliké co do datové náročnosti, připravte si desítky až gigabajtů volného místa.
Generování tabulek pro úspěšné prolomení hash kódů představuje časově velice náročný úkol, a tak se kromě distribuovaných výpočtů procesory využívají také grafické čipy. Výpočetní výkon však značí pouze jednu z více překážek, zpomalení s sebou nese i procházení, čtení/zápis výsledných stovek gigabajtů dat. Útočníci využívající síťové služby pro profesionální ataky na hash kódy postupem času získaly silnou zbraň v podobě ukládání tabulek na SSD disky, které lámání značně zrychlí.
Mezi specializované služby tohoto typu patří například lámání LM hash kódů „na steroidech“, jak jej sami tvůrci na svém webu Objectif-securite.ch nazývají. Steroidy zde zastupují právě SSD disky, jež aktuálně hostují 90GB tabulky shrnující LM hash kódy, ve výsledku tak z LM hash kódu Windows XP získáte původní heslo během několika vteřin, a to i v případě jeho větší složitosti. Sami si to přímo ve webovém prohlížeči vyzkoušejte vložením LM hash kódu na odkazovaných stránkách do spodního formuláře.
Webová aplikace pro lámání LM hash kódů vám nabídne výsledek během pár okamžiků, postačí jen prohlížeč
Staré protokoly s otevřenými přenosy
Při domácím lámání hesel a hash kódů vyzkoušejte také jeden z nejlepších programů pro zjišťování hesel všeho druhu, a sice aplikaci Cain&Abel. Ten slouží pro získávání hesel při běhu v systému Windows, umožňuje sniffing i ARP poisoning a je k dispozici zcela zdarma. Nabízí se jak slovníkový, tak bruteforce i duhový útok, přičemž ho můžete použít například na tyto typy hash kódů:
- Windows – LM, NTLM, NTLMv2,
- MDx – MD2, MD4, MD5,
- SHA – SHA-1, SHA-2,
- RIPEMD-160,
- MSSQL, MySQL.
Zmíněný sniffing obecně označuje čmuchání hesel na síti, útočník se v něm staví do role prostředního záškodníka modelu man in the middle. Stačí si vyhlédnout některý z řady protokolů, který využívá nešifrované komunikace, a čekat na výsledky síťového „čmuchání“. Využití techniky man in the middle závisí na struktuře síťového prostředí a tom, v jaké pozici se útočník topologicky nachází.
Při úspěšném útoku tohoto typu je možné získat hesla, která sítí putují bez ochrany, nejčastěji tedy přímo v otevřené podobě. Díky popsaným možnostem útoků na hash kódy však můžete být úspěšní i při zachycení otisku takovéhoto hesla, pokud není použita sůl nebo doplňující šifrování. Jedněmi z kritických protokolů jsou již vousaté varianty FTP, ICQ, SMTP, NNTP, nešifrovaného HTTP – vše v původních a stále hojně využívaných podobách bez nadstaveb. V případě HTTP nabízí řešení použití SSL/TLS, kdy kromě šifrovaného přenosu dochází také k ověření identity protistrany.
V pohodě i na PDF
Poslední sekci po přehledu útoků na hash kódy Windows i ty jiné, v síťovém světě běžně používané, věnujeme lámání hesel, jež mají na svědomí různé aplikace. Mezi nejvíce rozšířené a často diskutované patří lámání hesel komprimovaných archivů, typicky ZIP a RAR. Dříve se lámání hesel archivů věnovalo i archivům ARJ, jejichž použití však výrazně ubylo a nahradily je právě zmíněné varianty.
Pro lámání hesel k archivům stojí za vyzkoušení Advanced Archive Password Recovery, s jehož pomocí se můžete pustit do obcházení ochrany archívů ZIP, ARJ, RAR a ACE. Především u starších variant archívů ZIP se dočkáte rychlého „brute force“ útoku, novější verze jsou samozřejmě díky inovované obraně odolnější, útok na ně tedy zabere více času. Otestujte ale také léty prověřený Ultimate ZIP Cracker, u něhož tvůrci sázejí nastavení útoku prostřednictvím průvodce, a je tedy vhodný i pro začínající uživatele.
Útoky hrubou silou můžete použít také při útoku na chráněná PDF, kde se zpravidla používají dvě hesla. Jedním z nich je heslo pro čtení, které uživatel musí vložit hned během otevírání dokumentu, druhým pak heslo, jež může být vyžadováno pro dodatečné úpravy. Podobně jako v případě některých jiných typů souborů, je i zde tím opravdovým silným heslem varianta pro otevření. Heslo pro odstranění ochrany pro úpravy lze odstranit během pár okamžiků, o čemž vás utvrdí například snadno použitelný program Guaranteed PDF Decrypter.
Office pod palbou
Specialitu na závěr představují dokumenty Microsoft Office, s nimiž vám vypomůže především program Advanced Office Password Recovery. Ten poskytuje všechny potřebné funkce prostřednictvím jednoduchého a přehledného uživatelského rozhraní, na domovských stránkách můžete nalézt podrobnou tabulku sumarizující rozdíly mezi jednotlivými variantami, důležité však je, že si poradí už i s dokumenty nejnovějších Microsoft Office 2010.
Typicky dokumenty Wordu nebo Excelu mohou být (stejně jako v případě zmíněného formátu PDF) chráněny několika typy hesel, asi nejznámějšími jsou varianty pro zápis, pro čtení (tedy otevření souboru) a takzvané zámky. Není bez zajímavosti, že pokud máte svůj dokument ošetřen pouze prvně či posledně jmenovanou variantou, je i zde odhalení odpovídajícího hesla otázkou pár vteřin. U ochran pro otevření dokumentů již musíte sáhnout ke klasickým pokusům slovníkovým a brute-force útokem.
Jak tento, tak předchozí díl věnovaný lámání hesel a hash kódů všeho druhu, vám prozradil možnosti útoků na nejčastější ochrany a souborové formáty. Pokud budete potřebovat sami ochránit svá důležitá data, vždy volte dostatečně silné heslo, zajímejte se o to, jak je s ním dále zacházeno a kde se jak ukládá.