topleft
topright
 

Jak złamałem Twoje hasła systemu Windows (część 2) PDF Drukuj Email
Przejście przez proces łamania haseł za pomocą różnych narzędzi oraz wskazówki jak chronić hasła przed złamaniem.

Wstęp

W pierwszej części tego artykułu analizowaliśmy hasze haseł i mechanizmy, jakie Windows wykorzystuje do tworzenia i przechowywania tych wartości. Poruszyliśmy także temat słabych stron każdej metody i możliwe sposoby, które mogą być wykorzystane do złamania tych haseł. W drugiej i jednocześnie ostatniej części tego artykułu przejdę przez proces łamania tych haszów za pomocą różnych darmowych narzędzi, a także podam kilka wskazówek, jak chronić swoje hasła przed złamaniem.

Zawsze należy pamiętać, że techniki przedstawione tutaj służą wyłącznie celom edukacyjnym i nie należy ich stosować na systemach, do których nie masz uprawnień.

Zdobywanie haszy haseł
Aby złamać hasło, należy najpierw uzyskać hasze przechowywane w systemie operacyjnym. Hasze te są przechowywane w pliku SAM systemu Windows. Plik ten znajduje się w systemie: C:\Windows\System32\config, ale użytkownik nie ma tam dostępu w czasie procesu uruchamiania. Wartości te są również przechowywane w rejestrze: HKEY_LOCAL_MACHINE\SAM, ale - tak samo jak poprzednio - obszar rejestru nie jest dostępny, gdy system operacyjny jest uruchamiany.

Istnieje tutaj kilka różnych opcji w zależności od poziomu dostępu na komputerze, który podlega audytowi.

Dostęp fizyczny
Jeśli masz dostęp fizyczny, jedną z najbardziej skutecznych metod jest uruchomienie komputera w innym systemie operacyjnym. Jeśli potrafisz swobodnie korzystać z Linuxa, możesz po prostu uruchomić Linux live CD, który umożliwia czytanie dysków NTFS, „zamontowanie” partycji Windows, a następnie skopiowanie pliku SAM na nośniki zewnętrzne.

Jeśli nie jesteś przekonany do takiego sposobu, możesz skorzystać ze słynnego programu P. Nordahl 'a Offline NT Password Editor, dostępnego tutaj. Jest to bootowalna dystrybucja Linuxa, mająca na celu pomoc użytkownikom systemu w zresetowaniu zapomnianych haseł. Oprogramowanie zbiera dane wejściowe użytkownika, tworzy prawidłowy hasz i zastępuje nim stary hasz w pliku SAM. Jest to dla nas przydatne, ponieważ możemy również skorzystać z tej dystrybucji, aby jedynie odczytać plik SAM i dostać dane hasza.

W tym celu uruchom komputer z płyty CD, wybierz swoją partycję systemową, lokalizację pliku SAM oraz gałęzie rejestru, wybierz opcję resetowania hasła [1], uruchom wbudowany edytor rejestru [9], przejdź do SAM\Domain\Account\Users, przejdź do katalogu użytkownika, do którego chcesz uzyskać dostęp i użyj polecenia cat, aby zobaczyć hasz zawarty w plikach. Dane wyjściowe będą w formacie szesnastkowym, ale będą działać po prostej konwersji.


Rysunek 1: Dane szesnastkowe z hasza SAM

Przed użyciem programu Offline NT Password Editor do faktycznego zresetowania hasła, upewnij się, że nie używasz Encrypted File System (EFS) na czymkolwiek wypuszczonym po systemie Windows XP/2003. Jeśli jednak tak zrobisz, spowoduje to, że system operacyjny straci swoje klawisze EFS, co sprawi więcej problemów niż samo zapomniane hasło.

Dostęp do konsoli
Jeśli przeprowadzasz czynności audytu hasła bez fizycznego dostępu do danego urządzenia, ale wciąż masz dostęp do konsoli za pomocą zdalnego pulpitu lub VNC, możesz uzyskać hasze hasła poprzez wykorzystanie narzędzia fgdump Fizzgig’a, dostępnego tutaj.

Po pobraniu fgdump na docelowym hoście, wystarczy uruchomić go bez żadnych opcji, aby utworzyć zrzut pliku SAM lokalnego komputera.


Rysunek 2: Potwierdzenie, że narzędzie Fgdump zostało uruchomione poprawnie

Po zakończeniu plik zostanie wygenerowany w tym samym katalogu, w którym narzędzie zostało uruchomione, zawierającym listę wszystkich kont użytkowników, ich hasze LM oraz hasze NTLMv2.


Rysunek 3: Dane wyjściowe haszy haseł według Fgdump

Dostęp do sieci
Jeśli nie masz żadnego interaktywnego dostępu do komputera, posiadającego hasze, które chcesz uzyskać, najlepiej będzie spróbować przechwycić hasze w momencie, gdy są one przesyłane przez sieć podczas procesu uwierzytelniania. Oczywiście, taki sposób będzie skuteczny tylko wtedy, jeśli klient uwierzytelnia się do kontrolera domeny lub uzyskuje dostęp do zasobów na innym kliencie, w przeciwnym razie nie można liczyć na zbyt dużo szczęścia.

Jeśli znajdujesz się w tym samym segmencie sieci, co klient docelowy, możesz skorzystać z programu „Cain&Abel” do przechwycenia haszy haseł w momencie, gdy są one przesyłane pomiędzy urządzeniami. „Cain&Abel” jest darmowym narzędziem do pobrania stąd. Przy użyciu programu „Cain&Abel” można zainicjować proces zwany ARP cache poisoning, który jest atakiem, wykorzystującym protokół ARP do wyznaczenia trasy ruchu między dwoma hostami za pomocą komputera. Gdy atak ARP cache poisoning jest włączony, można skorzystać z wbudowanego w programie „Cain&Abel” sniffera sieci, co umożliwi przechwycenie haszy haseł NTLM, które są przekazywane między zaatakowanymi hostami. Teoria, kryjąca się za ARP cache poisoning i to, jak to zrobić, to kolejna lekcja i wykracza nieco poza zakres tego artykułu, ale jeśli chcesz dowiedzieć się więcej o ARP cache poisoning możesz to zrobić tutaj (j.ang).

Łamanie haseł przy użyciu programu „Cain&Abel”
Teraz, gdy mamy już hasze haseł, możemy spróbować je złamać. Jeśli masz pobrany i zainstalowany program „Cain&Abel”, to już jesteś o krok do przodu, ponieważ będziemy używać go do łamania naszych próbnych haseł LM.

Jeśli nie masz jeszcze zainstalowanego programu „Cain&Abel”, możesz go pobrać stąd. Instalacja to tylko kwestia naciśnięcia parę razy przycisku „next”. Jeśli jeszcze nie masz go zainstalowanego, otrzymasz także monit, proszący o zainstalowanie sterownika przechwytywania pakietów WinPcap, wykorzystywanego przy funkcjach przechwytywania pakietów w programie „Cain&Abel”. Po instalacji można uruchomić program i kliknąć na zakładkę Cracker w górnej części ekranu. Po wykonaniu tej czynności, należy kliknąć na nagłówek LM & NTLM Hashes w okienku po lewej stronie, kliknij prawym przyciskiem myszy na pusty obszar w środku ekranu i wybierz Add to List (Dodaj do listy).

Cain nie zaakceptuje prostego skopiowania i wklejenia haszu hasła, więc będziesz musiał umieścić hasz w pliku tekstowym sformatowanym w szczególny sposób. Jeśli zdobyłeś hasze za pomocą fgdump, to powinieneś już mieć potrzebny plik tekstowy, który zawiera hasze w formacie „line by line”.


Rysunek 4: Akceptowalne formatowanie haszy haseł

Jeśli zdobyłeś hasze haseł ręcznie, będziesz musiał utworzyć plik z wpisem podstawowym dla każdego konta użytkownika. Każdy taki wpis powinien zawierać nazwę użytkownika, identyfikator względny (RID), część identyfikatora SID użytkowników oraz hasze. Format tych elementów powinien wyglądać następująco:

Username:RID:LMHash:NTLMHash:::

Przejdź do tego pliku, wybierz go i kliknij przycisk „next”, aby zaimportować hasze do programu „Cain&Abel”. Gdy to zrobisz, można kliknąć prawym przyciskiem myszy na konto, którego hasło chcesz złamać, wybierz opcję Brute Force Attack, a następnie wybierz hasze LM. Metoda Brute Force Attack próbuje wszystkie możliwe kombinacje hasła w odniesieniu do wartości hasza, dopóki nie trafi na to pasujące. Na kolejnym ekranie można wybrać znaki, które chcesz użyć do Brute Force Attack oraz minimalne i maksymalne długości hasła. Zauważ, że zestaw znaków jest automatycznie konfigurowany do używania tylko dużych liter i liczb o maksymalnej długości 7, ze względu na charakterystykę haszy LM.

W naszym przykładzie, w którym mamy hasło PassWord123, zobaczymy natychmiastowe efekty częściowe – program ukazuje: „Plaintext of 664345140A852F61 is D123”. Złamaliśmy już drugą połowę hasza hasła. Na nowoczesnym komputerze przejście przez każdą możliwą kombinację hasła nie powinno trwać dłużej niż 2,5 do 3 godzin, z gwarancją ostatecznego powodzenia.


Rysunek 5: Cain z powodzeniem łamie hasz hasła LM

Łamanie haseł przy użyciu programu „John the Ripper”
„Cain&Abel” dobrze sobie radzi z łamaniem haseł LM, ale jest trochę powolny, a jego funkcjonalność łamania haszy NTLMv2 jest jeszcze wolniejsza. Jeśli czujesz się pewnie używając wiersza poleceń przy czynnościach łamania haseł, to „John the Ripper” jest jednym z najszybszych i najbardziej preferowanych mechanizmów łamania haseł.

Możesz pobrać program „John the Ripper” stąd. Po wyodrębnieniu zawartość pliku znajdziesz wykonywalny plik john-386.exe w podkatalogu /run. John ma kilka różnych trybów, w których może być uruchomiony, ale aby go uruchomić w trybie domyślnym, jedyne, co należy zrobić, to podać plik zawierający hasz hasła jako argument podczas uruchamiania pliku wykonywalnego z wiersza polecenia.


Rysunek 6: „John the Ripper” podczas próby złamania hasła

Po zakończeniu, „John the Ripper” wyświetla złamane hasła i przechowuje wyniki w pliku john.pot. W większości przypadków domyślny tryb łamania haseł jest wystarczający, ale w programie „John the Ripper” dostępne są również inne tryby:
  • tryb Single Crack Mode – wykorzystuje odmiany/warianty nazwy konta
  • tryb Wordlist Mode – opiera się na słowniku dla odgadnięcia hasła
  • tryb Incremental Mode - opiera się na ataku brute-force
  • tryb External Mode – opiera sie na innej (dostarczonej użytkownikowi) aplikacji odgadywania hasła.

John jest bardzo skuteczny w każdym ze swoich trybów i jest moim typowym programem, jaki wybieram do łamania haseł.

Łamanie haseł przy użyciu Tęczowych Tablic
Gdy podejrzewasz, że hasło NTLMv2 jest bardzo złożone i co za tym idzie, złamanie go zajmie bardzo dużo czasu, jedynym logicznym rozwiązaniem jest wykorzystanie tęczowych tablic. Tęczowa tablica jest tabelą referencyjną, złożoną z haszy haseł do wszystkich możliwych kombinacji hasła dla podanego algorytmu szyfrowania. Jak można sobie wyobrazić, tęczowe tablice mogą zająć dość dużo przestrzeni pamięci. W przeszłości te tablice były zbyt obciążające dla procesora i pamięci, aby je tworzyć i przechowywać, ale postęp współczesnej informatyki sprawia, że zarówno etyczni testerzy penetracji, jak i złośliwi hakerzy są w stanie posiadać zewnętrzne dyski twarde z zestawami tęczowych tablic.

Znalezienie miejsca do stworzenia lub ściągnięcia zestawu tęczowych tablic to tylko przeszukanie wyszukiwarki Google - jeśli tak lubisz, ale są lepsze metody dla „przeciętnego” łamacza haseł. Jednym z takich sposobów jest skorzystanie z serwisu internetowego, zawierającego swój własny zestaw tęczowych tablic. Oto przykład takiego serwisu. Ta strona posiada wiele zestawów tęczowych tablic, gdzie możesz złożyć hasze haseł do złamania, wraz z listą niedawno złamanych haseł dla pokazania efektywności.

Aby złożyć hasz w serwisie plain-text.info wystarczy kliknąć link „Add Hashes” („Dodaj Hasze”), aby określić hasz oraz tryb szyfrowania. Jeśli dany hasz był już złamany, wtedy od razu wyświetlą się wyniki, a jeśli nie, to hasz zostanie wysłany do kolejki. Można monitorować stan kolejki, przechodząc do linka „Search” („Szukaj”) i szukając hasza, poznając w ten sposób pozycję w kolejce. Hasła złożone w tej metodzie często wymagają więcej czasu, ale zazwyczaj jest to szybciej niż przy użyciu własnego sprzętu.

Ochrona przed łamaniem haseł
Ludzie często myślą, że celem szyfrowania jest stworzenie zaszyfrowanego tekstu, którego nikt nigdy nie będzie mógł odczytać, ale jest to trochę źle zrozumiane pojęcie. Myśl ta opiera się na przekonaniu, że komputery są w stanie generować losowe liczby dla celów szyfrowania, ale - szczerze - żaden komputer nie radzi sobie tak dobrze z pojęciem „losowo”, ponieważ „losowo” jest całkowicie zależne od zaprogramowanej logiki. Z tego powodu prawdziwym celem szyfrowania jest stworzenie na tyle trudnego zaszyfrowanego tekstu, żeby czas potrzebny do jego złamania był większy niż korzyści wynikające ze złamania szyfru.

Mając to na uwadze, warto zauważyć, że istnieje kilka rzeczy, które można zrobić w systemie Windows, aby zapobiec łamaniu haseł.

Używanie złożonych i zmiennych haseł
Najlogiczniejszym sposobem, aby zapobiec łamaniu haseł jest stworzenie niezwykle skomplikowanego hasła. Jeśli hasło zawiera małe litery, wielkie litery, cyfry, znaki specjalne i jest dość długie, nie będzie dało się go złamać w ciągu rozsądnie krótkiego czasu. Aby - poza tymi rzeczami - zwiększyć stopień trudności, należy często zmieniać hasło, co oznacza, że gdy atakujący złamie hasło, ono będzie już zmienione. Nie ma pojedynczej silniejszej linii obrony poza silnym hasłem, które jest często zmieniane.

Wyłączanie haszowania LM
Teraz już powinieneś być dobrze zorientowany w sprawie słabości haszy LM. Dobrą rzeczą dla nas jest fakt, że nie musimy już z nich korzystać. Współczesne systemy operacyjne Windows można skonfigurować do korzystania wyłącznie z NTLMv2 z niewielkimi modyfikacjami w rejestrze.

Możesz wyłączyć przechowywanie haszy LM, przechodząc w rejestrze do HKLM\System\CurrentControlSet\Control\LSA. Gdy już tam jesteś, utwórz klucz DWORD o nazwie NoLMHash i wartości 1.

Kolejnym krokiem jest wyłączenie uwierzytelniania LM w sieci. Ponownie przejdź do HKLM\CurrentControlSet\Control\LSA. Tam odszukaj klucz o nazwie LMCompatibiltyLevel. Może on być ustawiony na 3, aby wysłać tylko uwierzytelnienie NTLMv2, co jest doskonałym ustawieniem dla klientów domeny. Alternatywą jest ustawienie tej wartości na 5, co skonfiguruje urządzenie do akceptowania tylko żądań uwierzytelniania NTLMv2, co jest idealne dla serwerów.

Jedyny przypadek, w którym te ustawienia mogą spowodować problem to taki, gdy w sieci mamy zainstalowany system Windows NT 4 lub starszego klienta. Jednak, szczerze mówiąc, jeśli jeszcze masz takie systemy w sieci, to pozbycie się ich jest najlepszym zabezpieczeniem.

Użycie SYSKEY
SYSKEY jest funkcją systemu Windows, która może być wdrożona w celu dodania 128 bitów szyfrowania do pliku SAM. SYSKEY działa poprzez użycie stworzonego przez użytkownika klucza, który jest używany do szyfrowania pliku SAM. Po włączeniu tej funkcji SYSKEY nie może już zostać wyłączony.

Ważne jest, aby pamiętać, że SYSKEY chroni tylko plik SAM, zabezpieczając go przed kopiowanem. SYSKEY nie chroni przed narzędziami, które wydobywają hasze z pamięci podręcznej, np. Cain oraz fgdump.

Więcej na temat SYSKEY znajduje się tutaj.

Podsumowanie
Łamanie haseł jest pomocną umiejętnością dla kogoś, kto próbuje się włamać do systemu i dlatego właśnie koniecznością jest, aby administratorzy systemu rozumieli sposób, w jaki hasła są przechowywane, kradzione i łamane. Ponieważ potencjalni intruzi szperają i dłubią w systemach, ślinka im do ust napłynie na sam widok hasza LM, a ich cel będzie w połowie zdobyty, jeśli użytkownicy korzystają z prostych haseł. Pamiętaj, że wiedza to połowa sukcesu, więc jeśli przeczytałeś tę informację i niczego w tej kwestii nie zrobisz, to znajdziesz się zaledwie w połowie drogi. Korzystanie z przedstawionych tutaj technik obrony może pomóc zniechęcić napastników do atakowania haseł Twoich systemów.

Źródło: www.windowsecurity.com
 
następny artykuł »
| Informacje o firmie | Kontakt |
Joomla Templates by JoomlaShack Joomla Templates