13 sierpnia 2009

Łamanie hasła w Windows XP i Windows Vista


Dzisiaj chciałbym zaprezentować pierwszą z metod łamanie haseł broniących dostępu do kont użytkowników w systemie operacyjnym Windows XP i Vista.


Procedura jest banalnie prosta. W przypadku Windows XP wystarczy pobrać plik Ophcrack XP LiveCD 2.3.1 z HCSL DOWNLOAD CENTER, następnie nagrać go na płytę CD dowolnym programem obsługującym wypalanie obrazów ISO. Teraz wystarczy już tylko z tak przygotowanej płyty uruchomić (załadować) komputer, na którym znajduje się Windows XP, do którego hasła chcemy odgadnąć. Uruchomi się specjalny system operacyjny, który po wybraniu opcji Ophcrack Graphic mode automatic, automatycznie rozpocznie odgadywanie haseł do poszczególnych kont użytkowników.

Już po kilku minutach, przy odrobinie szczęścia, hasła do wszystkich kont zostaną odgadnięte i wyświetlone w oknie programu ophcrack w kolumnie NT Pwd (zob. zdjęcie).

W przypadku systemu Vista, należy pobrać z HCSL DOWNLOAD CENTER plik Ophcrack Vista LiveCD 2.3.1 i postępować dokładnie tak samo.

To wszystko, jeśli chodzi o sposób postępowania. Znacznie ciekawsze będzie jednak zrozumienie samej zasada działania systemu Ophcrack, na przykładzie Windows XP…

Otóż system Windows XP nie przechowuje haseł do poszczególnych kont użytkowników. W tzw. bazie Security Accounts Manager (SAM) przechowywane są jedynie tzw. hasze haseł, czyli pewne wartości (w formacie LM hash) wyznaczone za pomocą pewnej funkcji jednokierunkowej na podstawie każdego z haseł. Ponieważ wyznaczenie hasła na podstawie jego haszu jest bardzo trudne (stąd nazwa - funkcja jednokierunkowa), przechowywanie haseł w postaci haszowanej jest o wiele bezpieczniejsze niż przechowywanie hasła w postaci prostej. W momencie logowania do systemu, użytkownik podaje swoje hasło, a Windows XP wyznacza sobie z niego w locie hasz i porównuje go z tym zapisanym w bazie, jeśli są identyczne użytkownik zostanie zalogowany (gdyż oznacza to, że użytkownik podał prawidłowe hasło).

Klasyczne metody łamania haseł sprowadzały się zazwyczaj do testowania po kolei wszystkich możliwości hasła lub poszczególnych słów znajdujących się w słowniku danego języka. Metody takie są jednak bardzo nieefektywne, a w przypadku dość długiego i skomplikowanego hasła (np. a1b2c3d4e5) nie są w stanie w rozsądnym czasie osiągnąć jakiegokolwiek rezultatu.

Ophcrack korzysta jednak z nowatorskiej metody wykorzystującej tzw. tęczowe tablice (ang. rainbow tables). Metoda ta polega na wcześniejszym wyliczeniu bazy skrótów odpowiadających wszystkim potencjalnym hasłom. Specjalne funkcje redukujące pozwalają na zapisywanie tylko niektórych haszy przy zachowaniu niemal pełnego pokrycia wszystkich możliwości haseł. Ophcrack próbując złamać hasło, odczytuje więc jego hasz zapisany w bazie SAM, następnie odszukuje identyczny hasz we własnej bazie i odczytuje odpowiadające mu hasło. Proste i genialne.

Dzięki zastosowaniu tej metody, prezentowany system Ophcrack jest w stanie złamać hasła mające do 14 znaków alfanumerycznych, czyli wspomniane wcześniej hasło a1b2c3d4e5 zostanie bez problemu odgadnięte. Zapraszam więc do testowania odporności własnych haseł. Warto w tym momencie jeszcze przypomnieć, że obecnie bezpieczne hasło to takie, które składa się z co najmniej 14 znaków zawierających duże i małe litery, cyfry oraz znaki specjalne. W jednym z najbliższych postów pokażę jednak jak w systemach Windows XP i Vista złamać nawet tak skomplikowane hasła! Bądźcie więc czujni ;).


Artykuł autorski HCSL - Wojciech Smol