Wykorzystywanie tęczowych tablic do łamania haseł Atak Paweł Maziarz stopień trudności Znanym od dawna sposobem łamania haseł była metoda brute-force. Przy odpowiednio długim haśle była ona jednak co najmniej niepraktyczna. Jakiś czas temu Philippe Oechslin przedstawił nowe spojrzenie na łamanie pewnej grupy haseł, wprowadzając przy tym nowe narzędzie tęczowe tablice (ang. Rainbow Tables). eby zrozumieć istotę tęczowych tablic, W ramce obok przedstawionych jest kilka ha- trzeba wyjaśnić sobie kilka pojęć. Dziś shy różnych funkcji skrótu z hasła hakin9. Żw wielu systemach hasło użytkownika Druga funkcja leżąca u podstaw tęczowych zapisywane jest jako jego skrót (tzw. hash), tablic, o której należy wspomnieć, to funkcja uzyskany poprzez użycie na haśle funkcji skró- redukcyjna. Działa ona niejako odwrotnie do tu (ang. hash function). Funkcja skrótu to ta- funkcji skrótu, ponieważ z hasha tworzy ona ka funkcja, która z dowolnie długiej wiadomo- hasło w czystym tekście (zawierające tylko ści utworzy pewien ciąg znaków (zwykle o sta- określony zestaw znaków, np. tylko małe lite- łej długości), będący jej skrótem. Funkcje skró- ry i cyfry). Uzyskane za jej pomocą hasło z ha- tu do zastosowań kryptograficznych powinny sha nie może być oczywiście hasłem, które da- spełniać następujące kryteria: ło określony hash (co wynika z własności funk- cji skrótu), ale dzięki niej będą tworzone kolej- " brak możliwości odtworzenia wiadomości ne kombinacje hasła, które znowu zostaną po- (hasła) ze skrótu, traktowane funkcją skrótu i porównane z ha- " brak możliwości wygenerowania dwóch shem łamanego hasła. różnych wiadomości o takim samym skró- cie (brak kolizji), Z artykułu dowiesz się " zmiana jednego bitu wiadomości powinna istotnie zmienić jej skrót. " co to są tęczowe tablice, " jak dzięki nim złamać hasło do konta Windows, Najbardziej popularne funkcje skrótu używa- MySQL, Cisco PIX etc. ne do przechowywania haseł to: SHA1, MD-2, MD-4, MD-5, LM, NTLM, MySQL-SHA1, RI- Co powinieneś wiedzieć PEMD-160, Cisco PIX. Za pomocą tych algo- rytmów hasła zapisywane są między innymi w " powinieneś wiedzieć trochę o hasłach i meto- bazie użytkowników MySQL, w systemie Win- dach ich szyfrowania. dows, routerach Cisco oraz wielu aplikacjach. hakin9 Nr 9/2007 2 www.hakin9.org Wykorzystywanie tęczowych tablic do łamania haseł parę złożoną z hasła oraz jego skró- tu w postaci szukanego hasha. Me- toda ta jest równie prosta, co sku- teczna. Istnieje jednak jeden problem, który paradoksalnie jako niepożą- dany przy funkcjach skrótu zwięk- sza bezpieczeństwo generowanych hashy w kontekście tęczowych tablic. Chodzi o wspominane wcześniej ko- lizje, czyli sytuacje, kiedy wiele róż- nych wiadomości (haseł) daje w wy- niku funkcji skrótu taki sam hash. W przypadku tęczowych tablic mogło- by się więc okazać, że łańcuchy, któ- re zaczynają się różnymi hasłami, Rysunek 1. Eksport zahashowanych haseł systemu Windows w okolicznościach wystąpienia koli- Tęczowe tablice mieszczą się na dzisiejszych dys- zji w pewnym momencie zaczynają zasada działania kach twardych. się pokrywać i w konsekwencji koń- Jak zostało napisane wcześniej, W celu odzyskania hasła, wczy- czą się takim samym hashem. Mo- funkcja skrótu użyta na haśle przed- tywane są z tęczowych tablic ha- gą też wystąpić zapętlenia w przy- stawionym w postaci czystego tek- she, następnie szukany jest w nich padku, gdy hash został zredukowany stu, zwróci w wyniku jego hash. Na hash hasła, które chce się złamać. do hasła, które zostało już otrzyma- podstawie hasha nie jesteśmy w Jeżeli nie znaleziono, generowane ne gdzieś wcześniej w danym łańcu- stanie odtworzyć hasła, a więc by jest hasło z łamanego hasha za po- chu. Problem ten został rozwiązany złamać hasło musimy brać po ko- mocą funkcji redukcyjnej, z którego poprzez zastosowanie różnych funk- lei wszystkie możliwe hasła, pobie- uzyskuje się następnie hash za po- cji redukcyjnych na całej drodze od rać ich skrót (hash), a następnie po- mocą funkcji skrótu i wraca do kro- początku łańcucha do jego końca. równywać go z hashem hasła, które ku poprzedniego znów porównując Dzięki temu, problem kolizji hashy w chcemy złamać. By skrócić czas ta- hashe. Kiedy hash zostaje w koń- różnych łańcuchach został znacznie kiego postępowania, można by zapi- cu znaleziony, brane jest początko- ograniczony, ponieważ w przypadku sywać do pliku tak stworzone hashe we hasło z łańcucha, w którym hash wystąpienia kolizji o ile nie jest to i używać ich do łamania następnych się znajdował, a następnie reduko- kolizja w tej samej kolumnie w ko- haseł - jednak nietrudno ocenić, że wane jest i skracane, aż uzyska się lejnym kroku hash zostanie zreduko- plik zawierający taką tablicę haseł i ich hashy byłby ogromny, technicz- nie nie do pomieszczenia na dzisiej- szych nośnikach danych. Kompromisem między wykorzy- staniem wcześniej przygotowanych hashy, a oszczędnością miejsca na dyskach są właśnie tęczowe tablice. Składają się one z łańcuchów (ang. chains) złożonych z haseł oraz ich hashy. Dla każdego łańcucha gene- rowane jest hasło, z którego następ- nie wyliczany jest jego hash za po- mocą funkcji skrótu. W następnym kroku, z tak otrzymanego hasha, za pomocą funkcji redukcyjnej tworzone jest kolejne hasło. Z tego hasła znów generowany jest hash, z hasha kolej- ne hasło. I tak dalej. W tęczowych ta- blicach zapisywany jest jednak tylko pierwszy i ostatni element łańcucha (hasło i ostatni hash), dzięki czemu tak stworzone tablice bez problemu Rysunek 2. Aamanie haseł programem Ophcrack www.hakin9.org hakin9 Nr 8/2007 3 Atak wany do innego hasła. Został tym sa- slina. Jest to cracker haseł window- hasła użytkowników, po czym na- mym wyeliminowany problem zapę- sowych działający w oparciu o tę- tychmiastowo zacznie je łamać, nie tleń wewnątrz jednego łańcucha, bo czowe tablice. Jest on dostępny zostawiając po sobie żadnych śla- w każdym kroku hash redukowany na platformy Windows, Linux oraz dów. Nie potrzeba znać hasła ad- jest inną funkcją. Mac. Potrafi łamać hasła zaszyfro- ministratora Windows, ani mieć spe- Ten sposób rozwiązania omówio- wane algorytmami LM oraz NTLM. cjalnej wiedzy, wszystko robi się sa- nych problemów przyczynił się też Dostępne za darmo są do niego mo wystarczy zbootować kompu- do nazwy owych tablic. Jeżeli każ- tęczowe tablice zawierające ha- ter z płyty CD. dą funkcję redukcyjną w danym kro- sła złożone z liter i cyfr dla algoryt- Uruchamiając program pod Win- ku oznaczyć innym kolorem, powsta- mu LM, bardziej wyszukane tabli- dowsem i posiadając uprawnienia łaby wielka pionowa tęcza, a więc ce można kupić na stronie projek- administratora, Ophrack pozwala wy- określenie tęczowych tablic jest zu- tu. Ciekawy jest fakt, że w oparciu eksportować hasła z bazy. W prze- pełnie na miejscu. o dystrybucję SLAX Linux stworzo- ciwnym wypadku trzeba je uzyskać no Ophrack LiveCD, czyli dystrybu- samemu poprzez użycie dołączo- Ophrack cję Linuksa startującą wprost z na- nych poleceń bkhive oraz samdump2 Pierwszym narzędziem, które zo- pędu CD, która po wystartowaniu (Rysunek 1). Przykładowa sesja pro- stanie omówione jest program Oph- sama odnajdzie partycję z Window- gramu Ophrack, podczas której w rack napisany przez Philippe Oech- sem, znajdzie i wyeksportuje sobie niespełna kilkadziesiąt sekund pora- dził sobie z hasłami złożonymi z ma- łych i dużych liter oraz cyfr, przedsta- wiona jest na Rysunku 2. RainbowCrack Kolejnym ciekawym narzędziem jest aplikacja RainbowCrack. Jest to konsolowe narzędzie działają- ce pod systemami Linux oraz Win- dows. Dzięki niemu można złamać hasła zahashowane algorytmami LM, MD5, SHA1 oraz dowolnym in- nym w miarę potrzeb, ponieważ ła- two można dodać obsługę własnego algorytmu. Oprócz właściwego crac- kera (rcrack), RainbowCrack posia- da jeszcze narzędzia do tworzenia własnych tęczowych tablic (rtgen, rtsort, rtdump). Chociaż program nie ma graficznego interfejsu, używa się Rysunek 3. Skomplikowane hasła złamane programem RainbowCrack go szalenie łatwo narzędzie wyma- ga dwóch parametrów: ścieżki do tę- czowej tablicy oraz hashy do cracko- wania, które można podać wprost w linii komend (przełącznik -h), jako plik z listą hashy (-l) lub jako zrzut pli- ku z hasłami użytkowników (-f). Pro- gram w trakcie działania (z tęczowy- mi tablicami złożonymi z haseł za- wierających małe i duże litery, cyfry oraz znaki specjalne) przedstawia Rysunek 3. Cain & Able Cain jest dobrze znanym narzędziem dla systemu Windows służącym do przywracania zapomnianych ha- seł za pomocą różnorakich technik Rysunek 4. Cain & Abel w akcji podsłuchiwania sieci, crackowa- www.hakin9.org 4 hakin9 Nr 9/2007 Wykorzystywanie tęczowych tablic do łamania haseł nia metodą brute-force, słownikową. analizy, między innymi używając tę- bardzo proste, sprowadza się tylko Posiada on jeszcze wiele ciekawych czowych tablic. Program potrafi ko- do wybrania użytkowników, dla któ- funkcji, jednak w kontekście tego ar- rzystać z tablic przeznaczonych za- rych trzeba złamać hasło oraz zde- tykułu interesuje nas fakt, że potra- równo dla programu Ophrack, jak finiowania, z jakich tęczowych tablic fi łamać hasła korzystając z krypto- i RainbowCrack. Jego użycie jest chce się korzystać. W zależności od rodzaju tablic oraz stopnia skompli- kowania samych haseł, w ciągu kil- Przykładowe hashe hasła hakin9 kudziesięciu sekund powinny uka- zać się odszyfrowane hasła. Działa- " MD2: 6c335ceafc1ca2d9b701c0a503ebe29f, nie programu przedstawione jest na " MD4: 60a6ba1557c83ffd6d40bbafa633963b, Rysunku 4. " MD5: 5700d720e1c8f9af6929d05b02f4e7c6, " SHA-1: c0132641f8f1acb0a74b249f441e0ebac18be386, Skąd wziąć tęczowe " SHA-2 (256): 42daba7642566324b9344c7e5a83a97da3fc5fa145fd6358132a- tablice? 18804530de64, Tęczowe tablice można pozyskać " RIPEMD-160: 678e478a15637c67933731633ae73322b472aec2, na 3 sposoby. Po pierwsze, można " LM: 5e412e797ab62000, je wygenerować samemu. Służy do " NT: 7c61cd37d7c28d0f04d6d1b5d80cb8b4, tego między innymi konsolowe na- " MySQL-323: 42e0696a62ac975f, rzędzie rtgen z wcześniej wspomnia- " MySQL-SHA1: d6a98da6247cbaa40c436155203d104ef2865191, nego projektu RainbowCrack oraz " Cisco PIX: yvigbue7izydod6j. okienkowy program pod systemy Mi- crosoft o nazwie winrtgen. Urucha- miając ten pierwszy bez żadnych pa- rametrów, uzyskamy dokładną infor- mację o sposobie użycia wraz z kil- koma przykładami, drugi natomiast, posiadając bardzo przyjemny i przej- rzysty interfejs (Rysunek 5), nie na- stręczy trudności w generowaniu ta- blic nawet mało zaawansowanym użytkownikom. Następny sposób na pozyskanie tęczowych tablic to ściągnięcie ich z Internetu. Jest kilka serwisów, które udostępniają je za darmo, na przykład http://lasecwww.epfl.ch/~oechslin/ projects/ophcrack/ (dwie podstawo- we tablice dla programu Ophrack), Rysunek 5. Generowanie tęczowych tablic za pomocą winrtgen http://www.freerainbowtables.com/, http://rainbowtables.shmoo.com/, http://wired.s6n.com/files/jathias/. Ostatnim sposobem jest ich ku- pienie poprzez takie serwisy jak http: //www.rainbowcrack-online.com/, http://www.rainbowtables.net/ czy stronę projektu Ophcrack oraz wie- le innych. Aamanie haseł online Tęczowe tablice są dziś już bardzo popularne, dlatego nikogo nie dziwi fakt powstania wielu serwisów inter- netowych umożliwiających łamanie hasła online. Istnieje wiele komer- cyjnych stron, które po wniesieniu odpowiedniej opłaty wykorzystując Rysunek 6. Aamanie hasła w serwisie plain-text.info algorytm tęczowych tablic potrafią www.hakin9.org hakin9 Nr 8/2007 5 Atak odzyskać hasła kont windowsowych, użytkowników MySQL, routerów Ci- W Sieci sco czy też zabezpieczonych doku- mentów pakietu Microsoft Office. Ist- " http://lasecwww.epfl.ch/~oechslin/publications/crypto03.pdf idea tęczowych tablic opisana przez Philippe Oechslin-a, nieją też serwisy niekomercyjne, w " http://kestas.kuliukas.com/RainbowTables/ bardziej przyjazny opis tego tematu, których ku uciesze wielu moż- " http://ophcrack.sourceforge.net/ strona programu Ophcrack, na łamać hasła zupełnie za darmo, " http://www.antsight.com/zsl/rainbowcrack/ projekt RainbowCrack, często z zupełnie zadowalającą sku- " http://www.oxid.it/cain.html strona programu Cain & Abel. tecznością. Jednym z takich serwisów jest plain-text.info. Dzięki niemu moż- na odszyfrować hasło zakodowane O autorze algorytmami MD5, LM oraz NTLM. Autor jest właścicielem i jednocześnie jednym z głównych programistów firmy tworzą- System wprawdzie przyjmuje po 2 cej między innymi oprogramowanie sieciowe. Na przełomie ostatnich lat współpraco- hashe LM i NTLM co 15 minut oraz wał z kilkoma firmami w charakterze Security Specialist. W wolnych chwilach gra w 2 MD5 co minutę, jednak w chwi- golfa, na gitarze klasycznej oraz spuszcza się na linie z budynków. li pisania artykułu limity te są zupeł- Kontakt z autorem: pawel.maziarz@intersim.pl nie nieodczuwalne przy łamaniu po- jedynczych haseł. Po dodaniu hashy do serwisu i określeniu algorytmu, w jakim zostały utworzone, system wy- Po podaniu hasha system najpierw Podsumowanie szukuje czy hash został wcześniej sprawdza, czy istnieje on już w ba- Jak widać, przechowywanie haseł złamany, jeżeli nie tęczowe tabli- zie. Jeżeli istnieje, od razu zostanie w postaci ich hashy, powstałych w ce idą w ruch i rozpoczyna się łama- wyświetlone hasło (tak jak na Rysun- wyniku użycia funkcji skrótu, nie jest nie. Pozostaje już tylko co kilkana- ku 7), jeżeli nie, po kliknięciu przyci- wcale tak bezpieczne, jak się to kie- ście sekund odświeżać podstronę z sku Send My md5 hash to Rainbow dyś wydawało. Dzięki tęczowym ta- wynikami (View All Hashes) i wypa- Cracker, hash zostanie dodany do blicom ich łamanie staje się całkiem trywać złamanego hasła w czystym kolejki obliczeń. Na dzień dzisiejszy szybkie, do tego coraz więcej firm tekście. Należy jednak pamiętać, można dodawać do kolejki tylko ha- (oraz niekomercyjnych grup) tworzy że tak złamane hasła są widoczne she md5. coraz to większe zbiory tęczowych przez wszystkich internautów, a więc Inne serwisy łamiące hashe on- tablic, które radzą sobie z hasha- również i my możemy zobaczyć ha- line bez opłat to między innymi http: mi jeszcze szybciej. Jedną z me- sła innych, co może mieć spore wa- //www.milw0rm.com/cracker/ oraz tod obrony przed takimi atakami jest lory edukacyjne (Rysunek 6). http://md5crack.it-helpnet.de/. Istnie- dodanie do hasła pewnej nadmiaro- Kolejnym serwisem jest pas- je jeszcze wiele innych i wiele będzie wej, losowej informacji zwanej so- scracking.com. Dzięki niemu moż- jeszcze się tworzyć (a także znikać), lą (ang. salt) i zapisanie jej w takiej na złamać hash MD5, SHA-1 oraz dlatego najlepszym pomysłem jest postaci, by algorytm porównywania hasła użytkowników MySQL (My- wyszukanie ich dopiero wtedy, kiedy hasha z bazy z hashem hasła użyt- SQL-SHA1 i starszy MySQL-323). zajdzie taka potrzeba. kownika ją uwzględnił. I tak na przy- kład podczas dodawania użytkowni- ka do bazy, obok hasła mógłby zo- stać zapisany czas jego utworzenia i doklejony do końca hasła, więc ha- sło hakin9 zostałoby zapisane jako np. hash tekstu hakin91182850495. Przy logowaniu natomiast brane by- łoby pod uwagę hasło podane przez użytkownika, do którego doklejana byłaby odpowiednia sól z bazy i do- piero wtedy hashowane. Ten prosty zabieg znacznie utrudniłby łama- nie hasła, a w miarę zwiększania i komplikowania owej soli, nawet pro- ste hasła mogłyby się okazać prak- tycznie niemożliwe do złamania me- todami brute-force czy przy zasto- Rysunek 7. Złamane hasło Mysql na passcracking.com sowaniu tęczowych tablic. l www.hakin9.org 6 hakin9 Nr 9/2007