12 października 2009

Łamanie hasła: Windows Vista oraz Windows 7 (sposób nr 2)

Niedawno opisałem procedurę pozwalającą na złamanie (odzyskanie) haseł w systemie Windows Vista oraz Windows 7 za pomocą bootowalnej płyty Ophcrack Vista LiveCD. Z treścią tamtego artykułu można się zapoznać tutaj. Dziś chciałbym przedstawić nieco inny sposób łamania (odzyskiwania) haseł do kont użytkowników w najnowszych systemach Windows. Sposób ten będzie polegał na złamaniu (odzyskaniu) haseł innych lokalnych użytkowników w systemie Windows Vista lub Windows 7, z poziomu samego systemu operacyjnego, w którym posiadamy własne konto użytkownika.

Pomimo, że do oficjalnej premiery Windows 7 pozostał jeszcze ponad tydzień (22.10.2009 r.), chciałbym Wam już dziś zaprezentować kolejny sposób w jaki będzie można w tym systemie łamać (odzyskiwać) hasła poszczególnych użytkowników. Jak to możliwe, że już dziś istnieją skuteczne narzędzia pozwalające na tego typu zabiegi? Otóż tajemnicą poliszynela jest, że wiele funkcji Windows 7 jest bardzo podobnych (identycznych?) do tych znanych z... Windows Vista. Okazuje się więc, że narzędzia do łamania (odzyskiwania) haseł stworzone dla Windows Vista działają również w Siódemce.

Procedura jest banalnie prosta. Wystarczy tylko pobrać plik Ophcrack 3.3.1 Windows dostępny w zasobach HCSL, w sekcji Narzędzia - bezpieczeństwo sieci i systemów komputerowych, a następnie zainstalować go w docelowym systemie Windows Vista lub 7 z poziomu własnego konta (wymagane będą uprawnienia administracyjne). W trakcie instalacji należy zaznaczyć opcję Download and Install free Vista tables. Spowoduje to automatyczne pobranie i zainstalowanie tęczowych tablic przeznaczonych do łamania haseł w systemach Vista oraz 7.

Jeśli automatyczna instalacja tablic nie powiedzie się, należy je pobrać i zainstalować ręcznie. W tym celu należy pobrać plik Vista free (461MB) dostępny pod następującym adresem. Opcja Tables w programie Ophcrack pozwoli nam na ręczne wskazanie lokacji i zainstalowanie (uprzednio rozpakowanych) tablic dla systemów Windows Vista / 7.

W celu złamania (odzyskania) haseł do kont innych lokalnych użytkowników naszego systemu Vista lub 7 należy uruchomić program Ophcrack i wybrać opcję Load/Local SAM. Spowoduje to załadowanie do programu lokalnej bazy SAM. W głównym oknie programu pojawią się informacje o wszystkich lokalnych kontach użytkowników, wraz z odpowiadającymi im wartościami NT Hash. Po wybraniu opcji Crack, program Ophcrack przystąpi do łamania (odzyskiwania) haseł wszystkich użytkowników na podstawie odpowiednich wartości NT Hash. Po kilku minutach hasła poszczególnych użytkowników zostaną złamane (odzyskane). Wynik działania programu został przestawiony na poniższym zrzucie ekranu.

To wszystko, jeśli chodzi o sposób postępowania. Przypomnijmy sobie jeszcze zasadę działania systemu Ophcrack...

Otóż systemy z rodziny Windows nie przechowują haseł do poszczególnych kont użytkowników. W bazie Security Accounts Manager (SAM) przechowywane są jedynie tzw. hasze haseł, czyli pewne wartości (w formacie LM hash w przypadku Windows XP lub NT hash w przypadku Visty oraz Windows 7) wyznaczone za pomocą 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 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). Więcej na temat haseł w systemach Windows można przeczytać w bazie Microsoft TechNet, pod następującym adresem.


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.

Na koniec chciałbym jeszcze wspomnieć, że narzędzi takich jak Ophcrack nie wolno stosować do łamania cudzych haseł. Jeśli ktoś nie potrafi sobie wyobrazić legalnych zastosowań tego rodzaju narzędzi, to chętnie podpowiem kilka takowych:
  • sprawdzanie odporności własnych haseł,
  • odzyskiwanie własnych, zapomnianych haseł ,
  • pomoc innym osobom, w odzyskaniu ich własnych (zapomnianych) haseł.


Artykuł autorski HCSL - Wojciech Smol