Wydaje się, że mamy beznadziejną sytuację i dostęp do naszego konta został bezpowrotnie utracony, pewnie zastanawiasz się co dalej masz robić. Zaczynasz gorączkowo myśleć i po głowie chodzą Ci różne pytania. Czy istnieje może jeszcze jakiś inny sposób o którym nie wiesz na dostanie się do swojego profilu? A może udało by się złamać hasło? Jeśli tak, to jakich metod i narzędzi użyć?
Odpowiedź na te pytania jest prosta, jednoznaczna i nie nastręczająca problemów. Oczywiście TAK. Nie ma co ukrywać, że istnieją sposoby, metody oraz programy, które takie czynności jak złamanie hasła bądź jego wyzerowanie a co za tym dalej idzie, dostanie się na konto danego użytkownika znacznie nam ułatwiają bądź wręcz umożliwiają. Moja dawna matematyczka, rozwiązując i tłumacząc mi zawiłości występujące w zadaniach matematycznych ciągle powtarzała taką maksymę „Ile ludzi tyle sposobów”, słowa te dobitnie tłumaczą nam, że to co dany człowiek wymyśli, tak by się zabezpieczyć i by bronić się przed nie upoważnionym dostępem do swojego konta bądź zaszyfrowanych danych, to drugi potrafi to obejść i to na wiele sposobów. Tak więc podsumowując oczywiście jest możliwe dostanie się do treści zabezpieczonych hasłem bez znajomości tegoż hasła.
Innym pytaniem, które powinniśmy sobie zadać, to po co nam ta wiedza i umiejętności? I tu już odpowiedź nie jest jednoznaczna. Bo jeden zdobytą wiedzę użyje rzeczywiście do odzyskiwania haseł ale już druga osoba do szpiegowania i zdobywania informacji. To co zrobimy z tą wiedzą zależy od nas samych ale zawsze trzeba mieć na uwadze, że posługiwanie się programami i metodami którem mają na celu wydobycie informacji chronionych i nie należących do nas, naraża nas na sankcje karne.
Intencją Moją czyli autora tego artykułu jest ukazanie metod pozwalających na ominięcie zabezpieczeń pozwalających na uzyskanie dostępu do zabezpieczonych danych ale co podkreślam w celu ich przywrócenia bądź odzyskania. Drugą ideą która przyświecała mi przy tworzeniu tego artykułu jest maksyma która mówi – „Trzeba poznać wroga, by móc wykuć przeciwko niemu broń. Rozpocznij od jakiegoś elementu twojego wroga. Kropla krwi. Skrystalizowana myśl. Jedna z jego nadziei. Każda z tych rzeczy może powiedzieć, jak go unicestwić” – źródło Słowa Pieścimetala – Planescape: Torment. Słowa te jasno ukazują nam by skutecznie bronić się trzeba poznać wroga, tak więc jak poznamy metody łamania haseł to i również sposoby obrony przed tymi nimi.
Przytoczone przykłady łamania zabezpieczeń będą przedstawione na systemach z rodziny Windows, włączając w to najnowsze dziecko giganta z Richmond a mianowicie Windows 8. Wybór okazał się dość prosty i co tu kryć czy to się komuś podoba czy nie Windowsy należą do najbardziej popularnych systemów i największy ich odsetek jest zainstalowany na komputerach. Ktoś złośliwy mógłby powiedzieć, że to najłatwiejszy wybór, dlatego że systemy te posiadają więcej dziur niż ser szwajcarski i dlatego tak łatwo je łamać. Ja natomiast prywatnie uważam, że to cena popularności bo im coś bardziej popularne to tym bardziej wystawione na działanie krytyki. Nie oznacza to, że artykuł przeznaczona jest tylko dla entuzjastów systemów spod znaku „okna” ale także dla zwolenników innych systemów, bo zasady obrony i ochrony swoich informacji są aktualne dla każdego użytkownika niezależnie od tego jakiego systemu używa.
Oprócz sposobów obejścia haseł kont systemu Windows, pokaże również jak znaleźć hasła do popularnych plików, które to taką ochronę zapewniają czyli pliki pakietu MS Office, OpenOffice, pdf-y czy archiwa. Programy, które będę używał są darmowe (w większości) ale również komercyjne.
I tak by zakończyć wstęp, taka myśl na koniec, tego typu zajęcie jest świetnym pomysłem na business, można na tego typu profesji zarobić. Oczywiście jak to w życiu bywa najpierw trzeba coś włożyć by móc później wyjąć, czyli najpierw trzeba zainwestować w narzędzia/programy (a niektóre są naprawdę drogie) by móc później czerpać zyski.
Na początek kilka podstawowych pojęć do których będziemy się odwoływać w dalszej części artykułu:
- Tekst jawny (ang. plain text): informacja niezaszyfrowana, otwarty tekst.
- Szyfrogram, kryptogram albo szyfr (ang. cipher text): zakodowana informacja za pomocą ustalonego algorytmu (sposobu), tekst tajny.
- Klucz (ang. key): informacja wykorzystywana do przekształcenia tekstu jawnego w tekst tajny (szyfrowanie) ale również to procesu odwrotnego (odszyfrowanie).
- Algorytm szyfrujący/deszyfrujący (ang. cipher): funkcja matematyczna realizująca przekształcanie tekstu jawnego w zakodowaną informację (i na odwrót), funkcja ta wykorzystuje klucz.
- Kryptografia (ang. cryptography): to nauka odpowiedzialna za tworzenie algorytmów kryptograficznych.
- Kryptoanaliza (ang. cryptoanalysis): to co kryptografia stworzy kryptoanaliza stara się złamać czyli ogół technik łamania algorytmów kryptograficznych.
- Kryptologia (ang. cryptology): połączenie kryptografii i kryptoanalizy.
Wyobraźmy sobie taką oto hipotetyczną sytuację. Niewierny mąż zdradzający swoją żonę chce przesłać wiadomość swojej kochance, która przypuśćmy też ma partnera, tak aby w razie odebrania smsa przez niezainteresowaną stronę nie można było określić jego treści. Zadanie to można wykonać np. w ten sposób: napisać wiadomość tekstem otwartym, następnie uruchomić algorytm szyfrujący, którego efektem pracy jest szyfrogram przesłany następnie kochance. Druga strona dostając tak spreparowaną wiadomość by poznać prawdziwy sens wiadomości wykonuje czynności w odwrotnej kolejności. Jeśli zdradzane strony, przechwycą szyfrogram mogą próbować zastosować różne techniki kryptoanalityczne, których celem będzie zdobycie informacji zawartych w smsie.
Aby omówić rozwiązanie tego problemu założymy, że sms był zaszyfrowany za pomocą szyfru Cezara. Dla tych którzy nie wiedzą jak działa ten szyfr już pędzę z wyjaśnieniami. Szyfr Cezara jest prostym szyfrem podstawieniowym a proces szyfrowania polega na podmianie każdej litery tekstu jawnego na literę przesuniętą w alfabecie o x pozycji w prawo. Cezar jako przesunięcie czyli nasze x używał x=3. Tak więc proces tworzenia szyfrogramu to proces w którym np. litera a zostaje zastąpiona literą d, literę b na e, c na f i tak dalej.
Zatem przykładowy tekst a i polskie przysłowie – „W zdrowym ciele zdrowy duch” po potraktowaniu go szyfrem Cezara przybrało by postać – „Z cgurzbp flhoh cgurzb gxfk” zakładając, oczywiście że bazą jest alfabet angielski.
W przypadku szyfru Cezara kluczem czyli naszym x jest liczba 3 ponieważ o taką ilość stosujemy przesunięcie dlatego szyfr ten możemy opisać następującym równaniem:
znak kryptogramu = znak tekstu jawnego + klucz
Szyfr Cezara jest prosty do złamania ponieważ wystarczy wykonać analizę częstości występowania poszczególnych liter. Tak to już jest że każda litera w danym alfabecie występuje z określoną częstotliwością a niestety szyfr ten nie maskuje nam tej informacji – zresztą właśnie w ten sposób dokonano matematycznego opisu łamania tego szyfru. I tak wykonując taką analizę dla np. tekstu: (William Shakespeare „Macbeth” Akt1 ScenaI)
SCENE I. A desert place.
Thunder and lightning. Enter three Witches
First Witch
When shall we three meet again
In thunder, lightning, or in rain?
Second Witch
When the hurlyburly's done,
When the battle's lost and won.
Third Witch
That will be ere the set of sun.
First Witch
Where the place?
Second Witch
Upon the heath.
Third Witch
There to meet with Macbeth.
First Witch
I come, Graymalkin!
Second Witch
Paddock calls.
Third Witch
Anon.
ALL
Fair is foul, and foul is fair:
Hover through the fog and filthy air.
Exeunt
Po zakodowaniu dla utrudnienia przyjmie postać następującego ciągu:
vfhqhldghvhuwsodfhwkxqghudqgoljkwqlqjhqwhuwkuhhzlwfkhviluvwzlwfkzkhqvkd
oozhwkuhhphhwdjdlqlqwkxqghuoljkwqlqjrulqudlqvhfrqgzlwfkzkhqwkhkxuobexuob
vgrqhzkhqwkhedwwohvorvwdqgzrqwklugzlwfkwkdwzlooehhuhwkhvhwrivxqiluvwz
lwfkzkhuhwkhsodfhvhfrqgzlwfkxsrqwkhkhdwkwklugzlwfkwkhuhwrphhwzlwkpdfeh
wkiluvwzlwfklfrphjudbpdonlqvhfrqgzlwfksdggrfnfdoovwklugzlwfkdqrqdooidlulvirxo
dqgirxolvidlukryhuwkurxjkwkhirjdqgilowkbdluhahxqw
Wykonując analizę częstotliwości uzyskamy następujący wynik: (na podstawie http://lamaczeszyfrow.pl/index.php)
Rysunek 1 Analiza częstotliwości występowania poszczególnych liter
Porównując otrzymane wyniki z częstością występowania liter w alfabecie angielskim: (źródło http://pl.wikipedia.org/wiki/Alfabet_angielski)
Tabela 1.
Częstotliwość występowania liter w alfabecie angielskim
A – 8,5% |
H – 3% |
O – 7,1635% |
V – 1,001% |
można z dużą dozą prawdopodobieństwa założyć:
Litera w tekście jawnym |
Częstotliwość występowania |
Litera w tekście tajnym |
Częstotliwość występowania |
E |
11,16% |
H |
11,8% |
C |
4,5388 |
F |
4,9% |
Z |
0,272% |
C |
0% |
Oczywiście oprócz analizy częstotliwości występowania poszczególnych liter w danym alfabecie są i inne metody, którymi można posłużyć się do złamania określonego hasła. Poniżej opisane trzy z którymi będziemy mieli do czynienia najczęściej:
Atak słownikowy (dictionary attack) – metoda polegająca na tym, że program łamiący próbuje znaleźć hasło, dopasować je, sięgając do pliku słownika, w którym zapisano wiele wyrazów i ich odmian w danym języku. Skuteczność metody opiera się na tym, że większość haseł tworzona jest na podstawie słów języka potocznego lub nazw własnych. Skuteczność metody słownikowej jest mocno dyskusyjna ale faktem jest, że metoda ta w przypadku haseł, które tworzone są przy wykorzystaniu znaków nie alfanumerycznych, czyli gdy częścią hasła są znaki takie jak: @#$%^&*() itp. jest mało skuteczna. Paradoksalnie zaś w przypadku języków w których używane są niestandardowe znaki, charakterystyczne dla danego języka a niewątpliwie język polski czy niemiecki do takowych należą, metoda ta bazując na słowach występujących tylko w tym danym języku może osiągać większą skuteczność. Jej rozszerzeniem jest dynamiczna analiza permutacji fleksyjnych (np. formy wyrazów związane z ich odmianą przez przypadki.)
A więc plik słownika to nic innego jak plik w którym zebrane są wyrazy, najczęściej ułożone alfabetycznie z którego dany program łamiący hasło pobiera kolejne słowa. Możesz zapytać skąd wziąć taki słownik, otóż w Internecie można znaleźć kilka stron z których takowy słownik można pobrać. Występują wersje słowników skojarzone z jakąś dziedziną np. związane tylko z informatyką czy matematyką.
Przy łamaniu metodą słownikową trzeba najczęściej zadbać aby słownik był zapisany jako Unicode (nie zawsze to jest konieczne), by to wykonać otwieramy plik słownika w Notatniku i Zapisz jako, wybrać kodowanie Unicode.
Rysunek 2 Zapis pliku w formacie Unicode
Rysunek 3 Przykładowy plik słownika
Do utworzenia słowników można użyć również programów, przykładem takiej aplikacji jest np. CUPP (Common User Passwords Profiler). Zadaniem programu jest stworzenie słownika spersonalizowanego do ataku na konkretną osobę. Po uruchomieniu, program zada nam szereg pytań dotyczących danej osoby np. imię, data urodzenia itd. na podstawie uzyskanych informacji wygeneruje słownik, który będzie zawierał różne kombinacje wprowadzonych wyrazów.
Narzędzie działa pod kontrolą systemu Linux.
Rysunek 4 CUPP - tworzenie słownika
Bardzo fajnym narzędziem do tworzenia słowników jest windowsowy program Word List Compiler. Program po wczytaniu pliku/plików zawierających tekst utworzy nam słownik wyrazów występujących w wczytanych plikach (bez powtórzeń). Wystarczy mieć parę ebooków by stworzyć naprawdę przyzwoity słownik. Program niestety nie wspiera polskich znaków.
Rysunek 5 Word List Compiler - tworzenie słownika
Słowniki:
http://download.openwall.net/pub/wordlists/
http://blog.g0tmi1k.com/2011/06/dictionaries-wordlists.html
http://www.breakthesecurity.com/2011/12/large-password-list-free-download.html
Technika siłowa (brute force) - polega na sprawdzaniu po kolei wszystkich możliwych kombinacji znaków. Wprawdzie gwarantuje to odnalezienie hasła, ale jest niezwykle czasochłonne. Już przy krótkich hasłach, np. sześcioznakowych, liczba możliwych kombinacji jest tak duża, że trafienie na właściwą możliwość może trwać wiele tygodni. Ten czas zależy od siły obliczeniowej komputera oraz rodzaju poszukiwanego hasła np. znacznie szybciej można sprawdzać kombinacje haseł do plików ZIP niż RAR. Poza tym liczba możliwych kombinacji zwiększa się wraz z długością hasła. Stosowane są różne sposoby udoskonalenia metody brute force, np. ograniczenie sprawdzania do kombinacji małych liter czy próbkowanie cząstkowe - szukanie nie całego hasła, a jedynie kilku znaków początkowych.
Poniżej w tabelach przedstawiono jak zmienia się liczba możliwych kombinacji hasła w zależności od ilości użytych znaków i długości hasła oraz czasu potrzebnego by to hasło złamać.
Tabela 2. Długość łamania hasła- 52 znaki (http://www.lockdown.co.uk/?pg=combi&s=articles)
Użyte znaki |
52 znaki - AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz |
||||||
Hasło |
Szybkość ataku |
||||||
długość |
liczba kombinacji |
A |
B |
C |
D |
E |
F |
2 |
2,704 |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
3 |
140,608 |
14 s |
< 2 s |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
4 |
7,3 miliona |
12½ min |
1¼ min |
8 s |
natychmiast |
natychmiast |
natychmiast |
5 |
380 milionów |
10½ h |
1 h |
6 min |
38 s |
4 s |
natychmiast |
6 |
19 bilionów |
23 dni |
2¼ dni |
5½ h |
33 min |
3¼ min |
19 s |
7 |
1 trylion |
3¼ lat |
119 dni |
12 dni |
28½ h |
3 h |
17 min |
8 |
53 tryliony |
169½ lat |
17 lat |
1½ lat |
62 dni |
6 dni |
15 h |
9 |
2,7 kwadryliona |
8,815 lat |
881 lat |
88 lat |
9 lat |
322 dni |
32 dni |
Tabela 3. Długość łamania hasła- 96 znaków (http://www.lockdown.co.uk/?pg=combi&s=articles)
znaki |
96 znaków - 0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz |
|||||||
Hasło |
Szybkość ataku |
|||||||
długość |
liczba kombinacji |
A |
B |
C |
D |
E |
F |
|
2 |
9,216 |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
|
3 |
884,736 |
88½ s |
9 s |
natychmiast |
natychmiast |
natychmiast |
natychmiast |
|
4 |
85 milionów |
2¼ h |
14 Mins |
1½ Mins |
8½ s |
natychmiast |
natychmiast |
|
5 |
8 bilionów |
9½ dni |
22½ h |
2¼ h |
13½ Mins |
1¼ Mins |
8 s |
|
6 |
782 bilionów |
2½ roks |
90 dni |
9 dni |
22 h |
2 h |
13 Mins |
|
7 |
75 trylionów |
238 lat |
24 lata |
2½ roku |
87 dni |
8½ dni |
20 h |
|
8 |
7,2 kwadryliona |
22875 lat |
2287 lat |
229 lat |
23 lat |
2¼ lat |
83½ dni |
Tabela 4. Długość łamania hasła- przykładowe hasła (http://www.lockdown.co.uk/?pg=combi&s=articles)
Szybkość ataku |
|||||||
Hasło |
liczba kombinacji |
A |
B |
C |
D |
E |
F |
akacja |
308,9 milionów |
8½ h |
51½ min |
5 min |
30 s |
3 s |
natychmiast |
Piw0nia |
3.5 trylionów |
11 lat |
1 rok |
41 dni |
4 dni |
10 h |
58 min |
M@gn0li@ |
7,2 kwadryliona |
22875 lat |
2287 lat |
229 lat |
23 lat |
2¼ lat |
83½ dni |
Szybkość ataku: A- 10,000 haseł/s, B - 100,000 haseł/s, C - 1,000,000 haseł/s, D - 10,000,000 haseł/s, E- 100,000,000 haseł/s, F - 1,000,000,000 haseł/s
Tęczowe tablice (ang. rainbow tables) - to baza skrótów wykorzystywana w łamaniu haseł kodowanych jednokierunkowymi funkcjami hashującymi. Pozwala na ograniczenie mocy obliczeniowej potrzebnej do złamania hasła metodą brute force. Bazy danych skrótów mogą zajmować setki megabajtów danych, przeszukiwanie takiej dużej ilość informacji powoduje, że są stosunkowo nieefektywne. Tęczowa tablica tworzona jest w celu zmniejszenia ilości tych danych tworzone są tzw. łańcuchy (ang. chains) ze skrótów z możliwych haseł. Dzięki temu zbiegowi zapisywany jest tylko jeden skrót, który pozwala na złamanie kilkuset haseł
Tęczowe tablice można pozyskać na 3 sposoby. Pierwszym sposobem jest, wygenerowanie ich samemu. Posłużyć możemy się między innymi konsolowym narzędziem rtgenzawartym w projekcie RainbowCrack lub okienkowym programem pod systemy Microsoft o nazwie winrtgen. Drugim sposobem pozyskania tęczowych tablic to ściągnięcie ich z Internetu. W sieci znajduje się kilka serwisów, które udostępniają je za darmo a ostatnim sposobem jest ich kupienie.
Rysunek 6 Winrtgen - tworzenie tęczowej tablicy
Tęczowe tablice możesz pobrać tu - http://www.freerainbowtables.com/pl/tables2/
Hasła
Użycie hasła jest jednym z najpopularniejszych i najczęściej stosowanym sposobem autoryzacji użytkownika i zabezpieczenia danych. Hasła są podstawową, najłatwiejszą i najtańszą do wdrożenia metodą w celu ochrony przed nieautoryzowanym dostępem do systemów informatycznych. Hasła umożliwiają identyfikacje użytkowników, udostępnianie im wybranych zasobów, nadawanie uprawnień. Zdobycie hasła użytkownika daje nam możliwość dostępu do zasobów przydzielonych danemu użytkownikowi systemu. W przypadku systemów operacyjnych najbardziej niebezpieczne jest uzyskanie hasła administratora, które pozwala na pełen dostęp do systemu.
Każdy internauta na co dzień ma styczność z hasłami: przy sprawdzaniu poczty, rejestracja na stronach internetowych (blogi, fora, gry online, serwisy społecznościowe), podczas używania komunikatorów internetowych (GG, Skype, ICQ) czy wreszcie przy korzystaniu z bankowości online. Identyfikacja użytkownika stała się jedną z podstawowych czynności w sieci, która niestety nie zawsze jest przyjazna i nie chroni nas przed włamywaczami. Bardzo często się zdarza, że stosujemy hasła zbyt krótkie, zbyt łatwe i niestety bardzo rzadko zmieniamy je z własnej inicjatywy. Nagminne stało się posiadanie jednego hasła i loginu, który pasuje do wielu serwisów internetowych.
A więc silne hasło powinno być stosunkowo długie, składać się z losowych znaków, zawierać duże i małe litery, cyfry oraz znaki specjalne. Tylko jak zapamiętać takie hasło? Najlepiej aby była to jakaś fraza. Przykłady? Proszę bardzo:
Aby łatwo zapamiętać hasło możemy posłużyć się następującym przykładem:
- Wybieramy sobie słowo, które nam się z czymś kojarzy, to może być tytuł książki, filmu nazwa zespołu bądź miejscowości z którą mamy miłe wspomnienia i tworzymy pierwszą frazę bazową stworzoną z liter. Ja posłużę się tytułem, ci którzy znają książki Toma Clancyego to będą wiedzieć o co chodzi: czerwonypazdziernik.
- W przypadku fraz dwuwyrazowych świetny sposobem zamaskowania hasła jest zastąpienie jednego z wyrazów jego odpowiednikiem z innego języka czyli w naszym przypadku hasło mogłoby mieć postać: redpazdziernik. W tym momencie mamy pewność, że hasło będzie naprawdę ciężko złamać metodą słownikową.
- Hasło złożone z jednego wyrazu jest słabe. Dlatego w takich przypadkach możemy do wyrazu dodać inny, który się jakoś z nim łączy w znany dla nas sposób. Przykład proszę bardzo. Imię dziecka co jak wiemy jest dosyć kiepskim pomysłem na hasło ale dodanie już np. dnia tygodnia w którym się nasza pociecha urodziła czyni te hasło bardziej skomplikowanym np. juliawtorek
- Aby zwiększyć siłę hasła możemy wykonać następującą mutację: znaki alfanumeryczne zastąpić symbolami oraz dodać wielkie litery. Czyli nasz hasło mogłoby mieć postać: Redp@zdz|ernik bądź Jul:@wt0reK
- Zapamiętanie hasła, które jest ciągiem różnych rodzajów znaków i symboli może nam nastręczyć pewien problem dlatego możesz użyć tzw. frazy kodującej. Wymyśl zdanie lub linijkę z piosenki lub wiersza, który lubisz i utwórz hasło za pomocą pierwszych liter każdego słowa. Na przykład, zamiast hasła „yrLY%3V”, możesz wybrać zdanie takie jak „Litwo Ojczyzno moja ty jesteś jak zdrowie” (brzmi znajomo?) i zamienić je do następującego hasła „L0mtjjZ”. Można oczywiście wykorzystać różne rodzaje znaków i stworzyć bezpieczne hasło, które jest trudne do złamania, ale o wiele łatwiejsze do zapamiętania dla Ciebie.
Pwdump wersja 7 i wcześniejsze
Program służy do tego aby wydobyć hashe haseł przetrzymywanych w bazie SAM.
Aby wydobyć nasze hashe musimy użyć polecenia: pwdump –o pass.txt localhost. Wynikiem polecenia będzie zapisanie hashy z naszego lokalnego komputera w pliku pass.txt.
W przypadku pwdump7 można użyć polecenia pwdump7 > plikzhaslami.txt.
Rysunek 7 Pwdump generowanie pliku
Rysunek 8 Wygenerowany plik z hashami haseł
Program umożliwia również skopiowanie skrótów haseł użytkowników ze zdalnego komputera. Najpierw kopiuje do zdalnego komputera pliki z usługą systemową odczytującą skróty haseł, dlatego na zdalnym komputerze musi być udostępniony chociaż jeden katalog z prawem do zapisu. Następnie uruchamia zdalnie tę usługę i odbiera od niej odczytane skróty. Polecenie, które wywoła powyższą procedurę może wyglądać tak:
pwdump –o <nazwa_pliku> -u <nazwa_użytkownika> -p <hasło> <nazwa_zdalnego_komputera>
Tak zdobyte hashe można załadować np. do programu Ophcrack i spróbować je złamać.
Jeżeli już nam się uda uzyskać plik SAM, to wydobycie z niego haseł jest już tylko kwestią czasu. Dlatego też pliki SAM przede wszystkim powinny być chronione odpowiednimi prawami dostępu w systemie plików NTFS. Zabezpieczenie to okazuje się jednak zawodne, jeżeli włamywacz uzyska bezpośredni dostęp do komputera, tak wiec równie istotna jest ochrona samych maszyn, przede wszystkim serwerów.
Trzeba również pamiętać o kopiach pliku SAM, które mogą (ale nie muszą) znajdować się w folderze C:\Windows\Repair. Zalecane jest by wykasować te kopie.
Pliki SAM również mogą się znajdować w kopiach zapasowych sytemu Windows, wykonywanych przez Windows Volume Shadow Copy. Funkcja ta w skrócie VSS dostępna jest w systemach Windows Vista i wyższych a jej głównym zadaniem jest okresowe tworzenie kopii plików umieszczonych na partycjach objętych ochroną. Poprzednie wersje są zapisywane automatycznie w ramach punktu przywracania, jeśli tylko włączona jest funkcja ochrona systemu. System Windows automatycznie tworzy kopie tylko tych plików i folderów, które zostały zmodyfikowane od momentu utworzenia ostatniego punktu przywracania. Domyślnie punkty przywracania są tworzone raz dziennie. Jeśli dysk jest podzielony na partycje lub w komputerze jest więcej niż jeden dysk twardy, domyślnie ochroną plików objęta jest wyłącznie partycja systemowa.
W praktyce, funkcja VSS pozwala więc użytkownikowi na przywrócenie całego woluminu, folderu lub pojedynczego pliku do jednej z kilku (lub nawet kilkunastu) poprzednich wersji. Możliwe jest również odzyskanie usuniętego pliku, jeśli tylko plik ten istniał w trakcie wykonywania jednej z aktualnie dostępnych kopii.
Aby uniemożliwić zdobycie hashów przez sieć, należy wyłączyć zdalne udostępnianie rejestru w usługach (Panel sterowanie->Narzędzia administracyjne->Usługi).
Ophcrack
Strona programu - http://ophcrack.sourceforge.net/
Jednym z bardziej ciekawych rozwiązań związanych z łamaniem haseł oferuje program Ophcrack. Ophcrack do łamania haseł wykorzystuje tzw. „tęczowe tablice”. Program wspiera praktycznie każdą wersję systemu Windows. „Zaletą” programu jest to, że poznajemy hasło a nie resetujemy je, jak to ma miejsce przy innych programach, możliwe jest więc uzyskanie dostępu do konta użytkownika za pomocą znalezionego hasła i „rozejrzenie się”, osoba na której profil się dostaliśmy najczęściej nawet nie będzie miała pojęcia, że ktoś zalogował się na jej konto.
Proces łamania możemy przeprowadzić w systemach Windows, Mac, Linux lub skorzystać z gotowej kompilacji Live CD, którą wystarczy pobrać z strony projektu i nagrać na płytę.
My będziemy korzystać z tablic, które są dostępne do pobrania za darmo:
- Dla systemu Windows XP można pobrać następujące tablice:
- XP free small (380MB)
- XP free fast (703MB)
- XP special (7.5GB)
- XP german (7.4GB)
W zależności od wybranej tablicy będzie możliwość łamania haseł złożonych z różnych znaków (małe, duże litery, cyfry, znaki specjalne)a także różnej długości samego hasła.
- Dla systemu Windows Vista/7/8:
- Vista free (461MB)
- Vista special (8.0GB)
- Vista num (3.0GB)
Poniższe rysunki przedstawiają, która z tablic pozwala złamać hasło o określonej długości znaków i rodzajów użytych znaków (źródło - http://ophcrack.sourceforge.net/tables.php):
Dla Windows XP:
Rysunek 9 Możliwości tablic Windows XP
Dla Windows Vista/7/8:
Rysunek 10 Możliwośći tablic Windows Vista/7/8
Dostępne są również bardziej zaawansowane tablice ale niestety nie są one już dostępne bezpłatnie.
Ophcrack i Ophcrack LiveCD udostępniane są na licencji GPL co oznacza, że użytkowanie ich nie jest obostrzone dodatkowymi opłatami i jest całkowicie darmowe.
Po instalacji i uruchomieniu programu ukazuje się na okno:
Rysunek 11 Okno programu Ophcrack
Poniżej znajduje się opis poszczególnych opcji programu:
- Load:
- Single hash – ładowanie pojedynczego hasha
- PWDUMP file – import pliku wygenerowanego za pomocą programu pwdump
- Session file – przywracanie wcześniej zapisanych plików sesji
- Encrypted SAM – import skrótów z systemu i plików SAM znajdujących się w katalogu Windows\system32\config. Dostęp do tych plików na partycji Windows, z którego system Windows nie został uruchomiony.
- Local SAM with samdump2 – zrzut wartości hashy z lokalnego pliku SAM przy użyciu programu samdump2.
- Local SAM with pwdump6 – zrzut wartości hashy z lokalnego pliku SAM przy użyciu programu pwdump6 (nie zadziała w Windows 8 do zrzucenia hashy należy użyć pwdump7).
- Remote SAM – zrzut wartości hash ze systemu zdalnego, należy posiadać odpowiednie poświadczenia by wykonać tą operacje.
- Delete – usunięcie zaznaczonych hashy, można usunąć te konta, które nas nie interesują.
- Save – zapis sesji
- Save to file – zapis wyników sesji do pliku zgodnego z formatem pwdump.
- Export to CSV – eksport sesji do pliku w formacie .CSV.
- Tables – opcje związane z instalacją tablic. Instalacja sprowadza się do kliknięcia przycisku Install i wskazania katalogu w którym znajdują się posiadane przez nas tablice. Możliwa jest również opcja włączania i wyłączania tablic w zależności od realizowanego przez nasz scenariusza – np. jeśli łamane hasło pochodzi z systemu Windows 7 to włączamy tablice odpowiedzialne za Windows 7 a wyłączamy pozostałe.
Rysunek 12 Ophcrack załadowane tablice
- Crack – rozpoczęcie procesu łamania hasła.
- Help – pomoc dotycząca programu.
- Exit – zamknięcie programu.
Dodatkowe opcje możemy zdefiniować na zakładce Preferences:
Rysunek 13 Ustawienia programu Ophcrack
- Number of threads – liczba uruchomionych wątków programu, zależna od posiadanego procesora (liczba rdzeni) im procesor posiada ich więcej tym możemy ten parametr zwiększać.
- Number of hash/redux per task – każde zadanie, które wykonuje ophcrack dzielone jest na mniejsze, ustawienie te pozwala określić długość jednego zadania.
- Max length of the disk queue – długość kolejki dysku. Domyślnie 500.
- Bruteforce – włączenie/wyłączenie ataku siłowego tj. ophrack do 4 znaków będzie próbował przeprowadzić atak typu bruteforce.
- Session file – wskazanie pliku sesji, automatyczny zapis stanu przeprowadzanych operacji, co 30 sekund.
- Hide usernames – ukrycie nazw profilów.
- Audit mode – tryb testu, audytu - nazwy użytkowników zamieniane na liczby i wyłączone ujawniane hasła pokazywany jest tylko czas w jakim hasło zostało złamane.
- Default – ustawienia domyślne programu
Ophcrack na zakładce Statistic pokaże dane statystyczne dotyczące przebytej sesji: np. szybkości i skuteczności łamania hasła.
Rysunek 14 Działanie programu Ophcrack
Poniżej na rysunku przedstawiona sytuacja w której hashe haseł zostały wyciągnięte za pomocą programu pwdump7, natomiast system z którego pozyskano hasła to Windows 7. Zabieg był przeprowadzony w ten sposób ponieważ łamanie haseł było przeprowadzone na bardziej wydajnej maszynie. Użyta tablica to vista special. Jak widać zostało wczytanych 5 kont, przy czym w jednym -konto Administrator hasło nie było przypisane do konta. Po procesie crackowania hasła, Ophcrack zdołał złamać 2 hasła – użytkownik: testpc2, hasło: warszawa oraz użytkownik: testpc3, hasło: Qwerty w dwóch kolejnych przypadkach hasła nie udało się odnaleźć – użytkownik testpc oraz testpc4. Stało się tak ponieważ w przypadku użytkownika testpc hasło liczyło 12 znaków, natomiast użytkownik testpc4 zbudował swoje hasło liczące 8 znaków z wykorzystaniem znaków nie alfanumerycznych czyli z wykorzystaniem np. $, % czy @. Cały proces trwał 7 minut i 21 sekund.
Rysunek 15 Złamane hasła
Jak widać, przechowywanie haseł w postaci ich hashy, powstałych w wyniku użycia funkcji skrótu, nie jest wcale tak bezpieczne, jak by się wydawało. Dzięki tęczowym tablicom ich łamanie staje się całkiem szybkie, do tego coraz więcej firm (oraz niekomercyjnych grup) tworzy coraz to większe zbiory tęczowych tablic, które radzą sobie z hashami jeszcze szybciej. Skuteczną metodą obrony komputera przed takim atakami jest dodanie do hasła dodatkowych losowych danych, ta dodatkowa informacja jest nazywana solą (ang. salt). Program bądź algorytm realizujący to zadanie musi uwzględnić te dodatkowe informacje, które są pobierane z bazy. Taką dodatkowo dodawaną informacją może być np. czas bądź data utworzenia nowego konta, ta informacja byłaby doklejana do np. początku bądź końca hasła np. hasło magnolia zostałoby zapisane jako np. hash tekstu magnolia21180719961204 bądź 21180719961204magnolia. Przy procesie logowania użytkownik podaje hasło do którego następnie jest dołączana informacja z bazy skojarzona z tym użytkownikiem czyli w naszym przypadku czas utworzenia konta danego użytkownika. Taki zabieg powoduje, że hasło staje się bardziej skomplikowane natomiast użytkownik nie jest obarczony czynnością pamiętania skomplikowanego hasła.
Poniżej przykład użycia narzędiza OphCrack
Offline NT Password & Registry Editor
Strona programu - http://pogostick.net/~pnh/ntpasswd/
Do modyfikowania haseł można posłużyć się programem Offline NT Password & Registry Editor. Umożliwia on utworzenie bootowalnej płyty lub dyskietki zawierającej minidystrybucje Linuxa. System ten po załadowaniu automatycznie uruchamia właściwą aplikacje. Program pracuje w trybie tekstowym, jednak jego obsługa okazuje się niezwykle prosta, ponieważ operacja zmiany haseł wykonywana jest krok po kroku.
Na początku program wykrywa partycje i użytkownik proszony jest o wybranie partycji zawierającej system Windows.
Rysunek 16 Wybór partycji – program Offline NT Password&Registry Editor
Partycja ta zostaje następnie zamontowana, po czym użytkownik wskazuje katalog z plikami SAM i SYSTEM.
Rysunek 17 Wybór katalogów
Po zakończeniu tego etapu możliwa jest edycja danych zawartych w tych plikach. Ponadto aplikacja umożliwia edycje innych danych związanych z kontami użytkowników, w szczególności:
- wyzerowanie liczby nieudanych prób logowania na dane konto,
- odblokowanie lub włączenie konta,
- wprowadzenie hasła nie ulegającego przeterminowaniu,
- wyłączenie SYSKEY.
Rysunek 18 Główne menu – wybieramy „1” aby zresetować hasło
Rysunek 19 Główne menu – wybieramy „1” aby edytować użytkowników i hasła
Program wykrywa konta użytkowników w danym systemie i pozwala wybrać konto do modyfikacji:
Rysunek 20 Wybór użytkownika
Wybieramy konto do edycji, a następnie wpisujemy jego nazwę i naciskamy Enter. Możemy wpisać nazwę jak Administrator, Gość lub w formie 0xRID - numer przy każdym koncie.
Rysunek 21 Wybór opcji
Następne okno to zmiana hasła: aby wyczyścić hasło używamy opcję nr 1 aby wpisać nowe hasło – opcja 2, tu należy zwrócić uwagę, że zalecana jest procedura wyczyszczenia hasła a następnie jeśli jest potrzeba ustawienia nowego hasła ale już w działającym systemie po zalogowaniu się na koncie administracyjnym.
Rysunek 22 Wyczyszczenie hasła
Po wyborze konta wybierając 2 możemy przypisać nowe hasło.
Rysunek 23 Wprowadzenie nowego hasła
Wszelkie zmiany wykonywane są na kopiach plików i dopiero przy wychodzeniu z programu następuje nadpisanie właściwych plików.
Rysunek 24 Zapisanie zmian
Teraz możemy uruchomić ponownie całą procedurę - wciskamy Enter aby wybrać domyślne Nie lub wpisujemy "n", enter.
Rysunek 25 Wyjście z programu
Program podpowiada wartości domyślne na każdym etapie, tak wiec zmiana hasła jest możliwa dosłownie za kilkoma naciśnięciami klawisza ENTER.
Główną funkcją programu jest oczywiście zmiana hasła dowolnego użytkownika, przy czym najwygodniej jest zmienić hasło Administratora (to daje pełny dostęp do systemu).
Po zapisaniu zmian i restarcie może zdarzyć się sytuacja, w której system Windows wykryje, że został nieprawidłowo zamknięty i wtedy zostanie uruchomiony program CHKDSK w celu sprawdzenia spójności danych. Po sprawdzeniu dysku, system powita nas ekranem logowania.
Poniżej przykład użycia narzędzia Offline NT Password & Registry Editor
NTPWEdit
Strona programu - http://cdslow.webhost.ru/en/ntpwedit/
Jest prostym programem, który pozwoli nam na zresetowanie haseł systemu Windows. Program działa w Windows 2000/XP/Vista/7/8. Program dostarczany jest bez instalatora a zmiana hasła polega na modyfikacji pliku SAM w którym przechowywana jest informacja na temat haseł i kont użytkowników (domyślna lokalizacja – dysk na którym zainstalowany jest system Windows:\WINDOWS\SYSTEM32\CONFIG\SAM). Zmiany hasła nie uda nam się przeprowadzić na działającym systemie dlatego program należy uruchomić przed załadowaniem systemu. Aby to wykonać możemy skorzystać z procedury opisanej w artykule poświęconym Autoruns a także jeżeli mamy zainstalowany drugi system to możemy całą operację wykonać z poziomu drugiego systemu. Opiszę procedurę wykorzystaną w przypadku Autoruns, bo wydaje mi się ona najszybsza i chyba najmniej wymagająca przygotowań, hasło będzie zmieniane użytkownikowi testpc2 a system to Windows 8. A więc tak:
1. Przygotowujemy płytę bądź pendrive z programem NTPWEdit.
2. Uruchomiamy komputer z płyty instalacyjnej Windows 7/8 i przechodzimy do Napraw komputer.
3. Wciskamy Shift+F10 aby uruchomić cmd.
Rysunek 26 Uruchomienie cmd z poziomu Naprawy komputera
4. Przy użyciu "list vol" z narzędzia diskpart sprawdzamy litery dysków jakie są przypisane do dysku systemowego i pendrive (lub cd). W moim przypadku narzędzie NTPWEdit będę uruchamiał z płyty a napędowi DVD została przypisana litera e:
Rysunek 27 Narzędzie diskpart, sprawdzenie przypisanych liter do dysków
5. Uruchomiamy NTPWEdit - przy pomocy polecenia cd przejść do odpowiedniego katalogu i uruchomić program (ntpwedit – system 32-bitowy, ntpwedit64 – system 64-bitowy). Po uruchomieniu programu należy wskazać lokalizację pliku SAM i kliknąć na Open. Ukaże się nam lista kont utworzonych na komputerze.
Rysunek 28 Uruchomienie NTPWEdit i załadowanie danych z bazy SAM
6. Wybieramy interesujące nas konto i przyciskiem Change password zmieniamy hasło. Przyciskiem Unlock możemy uaktywnić zablokowane domyślnie konto Administrator.
Rysunek 29 NTPWEdit zmiana hasła użytkownika
7. Po zatwierdzeniu zmian – Save changes, pozostaje nam restart komputera i zalogowanie się z nowymi poświadczeniami.
Jak widać cała procedura jest łatwa do wykonania a powyższe czynności nie trwają dłużej niż 5min.
Windows Credentials Editor
Strona programu - http://www.ampliasecurity.com/research/wcefaq.html
WCE jest świetnym narzędziem do wydobywania haseł siedzących w pamięci systemu Windows, oprócz poświadczeń kont użytkowników program pozwala na wyciągnięcie hashy z bazy SAM oraz biletów Kerberos dla wszystkich użytkowników zalogowanych w bieżącej sesji.
Część programów antywirusowych np. Avast rozpoznaje WCE jako zagrożenie.
Spójrzmy jak WCE działa. Po wydaniu polecenia wce – w, ukarze nam się lista użytkowników, którzy zalogowali się do systemu wraz z odpowiadającymi im hasłami. Co ciekawe nie ważne czy jest to użytkownik lokalny czy domenowy.
Rysunek 30 Działanie WCE
Program aktualnie obsługuje systemy: Windows XP, Windows 2003, Vista, Windows 7, Windows 2008 (wszystkie wersje wraz z dodatkami Service Pack).
Wywołując program bez żadnych parametrów uzyskamy listę kont wraz z hashami – wce.
Rysunek 31 WCE - lista kont wraz z hashami haseł
Dodając parametr przekierowania > możemy listę tą zrzucić do pliku, celem użycia w innych programach – wce > hasla.txt.
Rysunek 32 WCE - lista kont wraz z hashami haseł zrzucona do pliku txt
Więcej o samym programie i sposobie działania przeczytasz w prezentacji przygotowanej przez samego autora programu – http://www.ampliasecurity.com/research/WCE_Internals_RootedCon2011_ampliasecurity.pdf
John the Ripper
Strona programu - http://www.openwall.com/john/
Jednym już z legendarnych programów do testowania/łamania haseł użytkowników jest John the Ripper autorstwa Solar Designer’a. Jego podstawowym zadaniem jest zdobycie haseł na podstawie dostarczonych hashów tych haseł. Program działa na różnych platformach systemowych (Windows, Linux, Unix) i obsługuje różne architektury sprzętowe. Program poradzi sobie z algorytmami: DES i z jego odmianami, MD5, Blowfish oraz LAN Manager.
Program oferuje nam następujące metody przeprowadzenia ataku:
Single Crack – ten tup ataku powiązany jest z pobraniem informacji o konkretnej osobie z takich pól jak login i wykorzystaniu tej informacji w procesie łamania hasła. Testowane są np. takie scenariusze jak zamiana wyrazu na wyraz składający się naprzemiennie z małych i dużych liter; rozpoczęcie lub zakończenie wyrazu cyfrą 1 czy powtarzanie wyrazu.
Wordlist – metoda słownikowa.
Incremental Mode – możliwość zdefiniowania wszystkich kombinacji znaków jako hasło. Tryb ten korzysta z tablic znaków - pliki o rozszerzeniu .chr znajdujące się w katalogu run/. Dostępne są cztery szablony: Alpha – wszystkie znaki alfabetyczne; Digits – znaki numeryczne; All – wszystkie znaki (a także duże i małe oraz znaki specjalne); Lanman – wszystkie znaki lecz tylko duże oraz znaki specjalne.
External Mode – tryb pozwalający nam za stworzenie skryptu w którym określamy reguły obowiązujące podczas szukania hasła.
Pierwszym poleceniem jakiego możemy użyć to: john -test, polecenie to wykona test szybkości łamania poszczególnych algorytmów .
Rysunek 33 John the Ripper - benchmark
Najprostszą formą przeprowadzenia ataku jest wydanie polecenia john <plik.txt>, gdzie w pliku.txt znajduje się lista hashy do złamania. W przypadku Windows, taką listę możemy stworzyć korzystając z opisanego wcześniej Windows Credentials Editor.
Rysunek 34 John the Ripper - atak na hasła uzyskane dzięki WCE
W trakcie trwania procesu odnajdowania hasła na bieżąco jesteśmy informowani o postępach procesu, wyniki są zapisywane w pliku john.pot. Wyniki procesu możemy wywołać również poleceniem: john –show <plik.txt>
Rysunek 35 John the Ripper - polecenie show
Na powyższym rysunku widać, że zostało złamane tylko hasło dwóch pierwszych użytkowników tj. Luk i userftp, natomiast hasło użytkownika jankow jest nieznane. By zmusić program do łamania hasła tego konkretnego użytkownika możemy wydać polecenie: john -users:jankow hasla.txt.
Jak widać na poniższym rysunku, hasło użytkownika jankow udało się złamać – hasło P@SSW0RD a proces ten trwał 1:15:51.
Rysunek 36 John the Ripper - brute force
By wymusić na programie użycie słownika użyjmy polecenie: john –w:<plik słownika> hasla.txt gdzie <plik słownika> - ścieżka do pliku słownika, można użyć tego dostarczanego z programem czyli password.lst.
Jeżeli chcemy podzielić łamanie hasła na tury możemy wywołać program z parametrem zapisu sesji: john –session=200 –user:jankow hasla.txt. Polecenie spowoduje zapisywanie dwóch plików: 200.rec oraz 200.log potrzebnych do przywrócenia sesji.
By przywrócić przerwaną sesję wydajemy polecenie: john –restore=200
Rysunek 37 John the Ripper - polecenie session
Hashcat
Hashcat jest obowiązkowym narzędziem dla osoby, która zamierza prowadzić atak na hashe haseł.
Największymi zaletami programu jest:
- bardzo bogate możliwości konfiguracji programu a co za tym idzie bardzo dokładne zdefiniowanie ataku,
- programem można zarządzać za pomocą GUI jak i wiersza poleceń,
- wsparcie dla GPU,
- wieloplatmorwowość (Linux, Windows, MacOS).
Ze strony projektu - http://hashcat.net/oclhashcat-plus/ można pobrać trzy odmiany narzędzia, każde z nich jest wyspecjalizowane w czymś innym. Te odmiany to:
- Hashcat (tradycyjny) – obliczenia wykonywane za pośrednictwem CPU,
- oclHashcat-Plus – wspiera obliczenia GPU a nawet multi GPU, obsługa kart zarówno NVidia jak i AMD,
- oclHashcat-Lite – wersja przystosowana do ataku na pojedynczy hash (wcześniejsze dwie obsłużą listę Hashy).
Wszystkie wymienione wersje zarządzane są poprzez wiersz polecenia, aby móc korzystać z GUI, trzeba ściągnąć nakładkę - Hashcat-GUI - http://hashcat.net/hashcat-gui/.
By móc korzystać z Hashcat-GUI najlepiej ściągnąć wszystkie dostępne pakiety a następnie po rozpakowaniu Hashcat-GUI umieścić w odpowiednich katalogach aktualne wersje opisanych powyżej odmian narzędzia Hashcat.
Hashcat wspiera następujące algorytmy (źródło: http://hashcat.net/hashcat/#features-algos):
Cisco-IOS SHA256 |
Domain Cached Credentials, mscash |
Double MD5 |
EPiServer 6.x |
Half MD5 |
HMAC-MD5 (key = $pass) |
HMAC-MD5 (key = $salt) |
HMAC-SHA1 (key = $pass) |
HMAC-SHA1 (key = $salt) |
HMAC-SHA256 (key = $pass) |
HMAC-SHA256 (key = $salt) |
HMAC-SHA512 (key = $pass) |
HMAC-SHA512 (key = $salt) |
IKE-PSK MD5 |
IKE-PSK SHA1 |
IPB2+, MyBB1.2+ |
MD4 |
MD5 |
md5($pass.$salt) |
md5($pass.md5($salt)) |
md5($salt.$pass) |
md5($salt.$pass.$salt) |
md5($salt.md5($pass)) |
md5($salt.md5($pass.$salt)) |
md5($salt.md5($salt.$pass)) |
md5($username.0.$pass) |
MD5(Chap) |
md5(md5($pass).md5($salt)) |
md5(md5($salt).$pass) |
md5(md5(md5($pass))) |
md5(sha1($pass)) |
md5(strtoupper(md5($pass))) |
MD5(Sun) |
md5apr1, MD5(APR), Apache MD5 |
md5crypt, MD5(Unix), FreeBSD MD5, Cisco-IOS MD5 |
MSSQL |
MSSQL 2012 |
MySQL |
MySQL4.1/MySQL5 |
NetNTLMv1-VANILLA / NetNTLMv1+ESS |
NetNTLMv2 |
nsldap, SHA-1(Base64), Netscape LDAP SHA |
nsldaps, SSHA-1(Base64), Netscape LDAP SSHA |
NTLM |
OS X v10.4, v10.5, v10.6 |
OS X v10.7 |
Password Safe SHA-256 |
phpass, MD5(Wordpress), MD5(phpBB3) |
Plaintext |
SHA1 |
sha1($pass.$salt) |
sha1($salt.$pass) |
SHA-1(Django) |
sha1(md5($pass)) |
sha1(sha1($pass)) |
sha1(sha1(sha1($pass))) |
SHA256 |
sha256($pass.$salt) |
sha256($salt.$pass) |
SHA-3(Keccak) |
SHA512 |
sha512($pass.$salt) |
sha512($salt.$pass) |
SHA-512(Unix) |
SMF > v1.1 |
vBulletin < v3.8.5 |
vBulletin > v3.8.5 |
WebEdition CMS |
WPA/WPA2 |
Aplikacja wspiera następujące typy ataku:
Brute force – standardowy atak sprawdzania wszystkich możliwych kombinacji.
Mask Attack - dozwolone jest użycie maski, czyli możliwe jest określenie na danej pozycji hasła charakteru sprawdzanego znaku.
Dozwolone jest użycie symboli:
- ?l = abcdefghijklmnopqrstuvwxyz
- ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
- ?d = 0123456789
- ?s = !”#$%&'()*+,-./:;⇔?@[\]^_`{|}~
- ?h = 8 bit characters from 0xc0 - 0xff
- ?D = 8 bit characters from german alphabet
- ?F = 8 bit characters from french alphabet
- ?R = 8 bit characters from russian alphabet
Czyli użycie maski np. ?l?l?l?l?l?l?l?l wymusi szukanie hasła 8 literowego składającego się z małych liter, zaś maska ?u?l?l?l?l?l?l?d będzie sprawdzać hasło 8 literowe, zaczynające się od dużej litery a kończące się liczbą, pozostałe znaki hasła to małe litery.
Combinator Attack – atak słownikowy polegający na tworzeniu par z wyrazów dostępnych w słowniku – wszystkie kombinacje,
Rysunek 38 Hashcat - combinator attack
Toogle Case Attack – atak słownikowy zamieniający literę małą na dużą oraz dużą na małą.
Rysunek 39 Hashcat - Toogle Case Attack
Hybrid Attack – kolejny atak słownikowy polegający na pobraniu wyrazu z słownika i doklejeniu ciągu zdefiniowanego za pomocą Brute force/Mask Attack
Rysunek 40 Hashcat - Hybrid Attack
Permutation attack – tworzone są wszystkie kombinacje z danego wyrazu. Jeden z najdłuższych ataków, wymaga wielu obliczeń.
Rysunek 41 Hashcat - Permutation attack
Rule Baed Attack – atak ten używa osobnych reguł, za pomocą, których przeprowadzane są operacje na wyrazach pobranych ze słownika jako wzorca. Operacje te to np. przesunięcie litery na inną pozycję, odwrócenie wyrazu, zmiana liter itd. – wszystkie możliwe operacje wraz z ich wywołaniem znajdziesz tu - http://hashcat.net/wiki/doku.php?id=rule_based_attack.
Table Lookup Attack – również atak słownikowy, ale obowiązują w nim inne reguły ponieważ wymaga podania lookup table czyli tak naprawdę tabeli w której są przypisane dopasowania do poszczególnych znaków. Chcąc uczynić hasło bardziej skomplikowanym użytkownicy często litery zastępują znakami specjalnymi np. a zastępują @ czy s zastępują $, atak ten pozwala ustalić reguły, które będą wyłapywać tego typu zamiany.
Rysunek 42 Hashcat - Table Lookup Attack
Poniżej atak na pojedynczy hash z wykorzystaniem Hashcat-gui. Jak widać atak przeprowadzony pomyślnie. Złamany hash odpowiada słowu – warszawa.
Rysunek 43 Hashcat-gui - atak na pojedynczy hash
Atak z wykorzystaniem lookup-table. Została wczytana lista 2 hashy, następnie utworzona tabela podstawiania, załączono słowniki. Atak trwał zaledwie chwile i zakończył się sukcesem.
Rysunek 44 Hashcat - Atak z wykorzystaniem table lookup attack
Na koniec należy pamiętać że nie wszystkie ataki są dostępne we wszystkich wersjach programu.
PaswordsPro
Strona programu - http://www.insidepro.com/eng/passwordspro.shtml#100
PasswordsPro jest świetnym narzędziem do łamania haseł zakodowanych funkcjami haszującymi ale niestety jest to program komercyjny.
PasswordsPro proponuje nam następujące metody ataku:
Preliminary Attack – szybki atak sprawdzający najczęściej używane hasła pokroju: "123", "qwerty", "99999" itd.
Brute Force Attack – standardowy atak podstawiania każdego znaku.
Mask Attack – podobnie jak w przypadku Hashcat-a możemy zdefiniować maskę szukanego hasła.
Simple Dictionary Attack – atak z użyciem słownika.
Combined Dictionary Attack – podczas tego ataku, hasła są budowane z kilku słów zaczerpniętych z różnych słowników. To pozwala szukać haseł takich jak "superadmin", "admin * admin", itp.
Hybrid Dictionary Attack – atak ten umożliwia szukanie haseł zaczerpniętych z słowników i zastosowaniu na wyrazie określonej reguły np. przesunięcie liter hasła, zamiana na duże litery itd. Wykonywane reguły oraz ich pełna lista, jest dostępna w pliku Rules.txt.
Rainbow Attack – atak z wykorzystaniem tęczowych tablic
Rysunek 45 PasswordsPro - szukanie hasła
Program oprócz łamania haseł ma również załączone pluginy:
Dictionary Generator – generator słownika.
Rysunek 46 PasswordsPro - generator słownika
Hash Generator – generator hashy.
Rysunek 47 PasswordsPro - generator hashy
Hash Queue – obsługuje kolejki skrótów pobranych z Internetu.
Hidden Passwords Recovery – odzczytuje tekst ukryty za gwiazdkami.
NTLM Password Finder – próba znalezienia hasła NTLM hash
Password Generator – generator haseł.
Rysunek 48 PasswordsPro - generator haseł
Password Sender – wysyła odzyskane hasła do stron internetowych.
SQL Dump Parser – wyodrębnia skróty z baz SQL.
Text Converter – konwertuje tekst z Base64 i na odwrót.
Program niestety nie wspiera akceleracji GPU więc jak komuś zależy na szybszym łamaniu hashy może skorzystać z innego produktu tej firmy a mianowicie - Extreme GPU Bruteforcer. Program jest uruchamiany z linii wiersza poleceń i wykorzystuje moc obliczeniową procesora GPU ale tylko spod znaku NVidia.
Warto również wiedzieć że hashy wcale nie musimy łamać ale możemy je znaleźć, wystarczy skorzystać z bazy hashy wtedy cały proces sprowadza się do przeszukania bazy. Poniżej linki z których można skorzystać - bazy zawierające skróty słów zakodowanych różnymi algorytmami:
http://md5.noisette.ch/index.php
http://isc.sans.edu/tools/reversehash.html
http://www.md5crack.com/crackmd5.php
http://md5.my-addr.com/md5_decrypt-md5_cracker_online/md5_decoder_tool.php
http://www.tmto.org/pages/passwordtools/hashcracker/
http://www.hash-cracker.com/index.php
Generowanie hashy:
http://www.tobtu.com/lmntlm.php
http://www.insidepro.com/hashes.php?lang=eng
Pliki archiwum (ZIP, RAR, ARJ)
Advanced Archive Password Recovery
Ciekawym programem (choć niestety płatnym), który oferuje nam możliwość łamania haseł w plikach archiwum typu zip/pkzip/winzip, rar/winrar, arj/winarj, a także ace/winace (1.x) jest Advanced Archive Password Recovery.
Program oferuje nam różne metody ataku choć najczęściej stosowaną jest metoda słownikowa i brute force. Pierwsza z nich sprawdza się gdy hasłem jest słowo. W tym wypadku zadanie programu sprowadza się do podstawiania kolejnych pozycji ze słownika. Złamanie hasła zależy od jakości posiadanego słownika i występujących w nim wyrazów. Program standardowo oferuje słownik angielskojęzyczny. Opcjami, którymi powinniśmy się zainteresować to Smart mutations – mutacje wyrazów a także Try all possible upper/lower case combination – kombinacja małych i dużych liter. Opcje te drastycznie zwiększają długość przeprowadzanego ataku ale czynią go bardziej skuteczniejszym.
Poniżej na rysunku przykład łamania hasła do pliku archiwum zip z wykorzystaniem metody słownikowej. Odczytane hasło to molibden a czas jaki był potrzebny do uzyskania tego hasła wyniósł 17 minut i 24 sekundy (proces przeprowadzony w wirtualnej maszynie), przy wykorzystaniu brute force dojście do odpowiedniej kombinacji zajęłoby około pół roku (choć oczywiście czas potrzebny do złamania bardzo mocno jest zależny od posiadanego sprzętu).
Rysunek 49 Advanced Archive Password Recovery - atak słownikowy na plik *.zip
Brute force wykorzystujemy tam gdzie nie mamy pojęcia, jakie hasło zostało użyte. Program oferuje nam możliwość wybrania długości sprawdzanego ciągu oraz użytych znaków np. małe, duże litery, liczby, spacja czy znaki specjalne. Ciekawą opcją jest użycie maski. Dla przykładu jeżeli wiemy, że hasło składa się z 7 liter i zaczyna się od np. k maska będzie miała postać k??????. Taki zabieg pozwala nam znacznie skrócić czas szukania hasła.
Benchmark jest opcją, która pozwoli nam na określenie czasu przejścia całego procesu łamania hasła, poniżej test dla brute force z ilością liter w haśle 5 wraz z użyciem małych, dużych liter, liczb, spacji oraz znaków specjalnych. Jak widać dla maszyny wyposażonej w procesor Intel T2050 1,6 GHz proces ten będzie trwał ponad 55 dni przy średniej prędkości 1629 haseł na sekundę ale jak już zastosujemy procesor z rodziny i7 a dokładnie i7-3820 proces ten znacznie się skraca bo już całe przejście będzie trwało tylko troszkę dłużej niż 8 dni przy średniej prędkości 11 146 haseł na sekundę.
Rysunek 50 ARCHPR – Benchmark Intel T2050 1,6 GHz
Rysunek 51 ARCHPR – Benchmark Intel i7-3820
cRARk i cRARk for 7-Zip
Są to dwa program, które pozwalają nam łamać hasła do archiwów rar i 7z. Bardzo mocną stroną programów jest to że wspierają akcelerację dostępną dzięki procesorom wbudowanym w nasze karty graficzne. Można pobrać odpowiednie wersje dla posiadaczy kart NVidia i AMD. Programy działają również bez akceleracji sprzętowej.
Programy działają z linii poleceń. Program należy pobrać i rozpakować. Pierwszym problemem na jaki możemy się natknąć to już samo uruchomienie. Program przez niektóre antywirusy jest widziany jako wirus np. Avast ale wystarczy wyłączyć lub dodać wyjątek do programu antywirusowego by cRARk zaczął działać.
W czasie rozpakowywania archiwum programu jesteśmy proszeni o hasło, pole pozostawiamy puste i proces dekompresji powinien przebiec bez problemu.
Rysunek 52 cRARK - opcje programu
Kolejną czynność którą musimy wykonać to wprowadzenie do rejestru informacji zawartych w pliku driver-timeout.reg (Windows Vista/7/8) informacja spowoduje, że proces łamania haseł z wykorzystaniem GPU nie zostanie przerwany. Oczywiście po wprowadzeniu informacji restartujemy komputer.
Następnie musimy wybrać plik odpowiedzialny za dobór ustawień programu dostępne wersje językowe to: english, spanish, russian. Wybór sprowadza się do zamiany nazwy pliku na password.def czyli jeśli wybieramy wersję angielską nazwę pliku z english.def zamieniamy na password.def.
Po wykonaniu tych czynności możemy uruchomić program. Wywołanie programu sprowadza się do wydania polecenia: crark-ocl <ścieżka do pliku rar> bądź crark-7z-ocl <ścieżka do pliku 7z>.
Jeśli chcemy zrezygnować z akceleracji GPU do powyższych poleceń dodajemy parametr –c czyli dla pliku rar polecenie przybierze postać: crark-ocl –c <ścieżka do pliku rar>.
Dodatkowo parametr –d pozwala nam określić szybkość łamania hasła (GPU delay) w skali od 0 do 5 przy czym dla 0 proces będzie przebiegał szybciej a dla 5 najwolniej (domyślnie 2).
Użycie GPU bardzo przyśpiesza łamanie hasła, poniżej dla pliku rar i 7z zostało nałożone bardzo proste 3 literowe hasło – rrr. Proces łamania tego hasła z wykorzystaniem GPU dla pliku rar wyniósł 2,39s dla pliku 7z – 7,32s. Natomiast z wyłączeniem GPU dla pliku rar czas łamania to 32,45s a dla pliku 7z czas ten wyniósł 1,32,21m. A więc jak widać już przy tak prostym haśle różnica jest znaczna.
Wszystkie modyfikacje działania programu np. dodanie kolejnych znaków, zmiana trybu działania programu np. tylko małe litery czy wyłączenie znaków specjalnych dokonujemy poprzez edycję pliku password.def. Tutaj pełna instrukcja obsługi - http://www.crark.net/cRARk.html.
Rysunek 53 cRARK - plik zip
Rysunek 54 cRARK - plik 7z
Pliki PDF.
Zanim przedstawię programy służące do wyciągania haseł z plików typu pdf, trzeba słówko powiedzieć o typach zabezpieczeń stosowanych w tego rodzaju plikach. Plik pdf może posiadać dwa rodzaje haseł a mianowicie hasło użytkownika (user password) służące do otwarcia pliku oraz hasło właściciela (owner password) stosowane do nałożenia restrykcji na plik czyli np. zablokowanie możliwości zaznaczanie tekstu, kopiowania rysunków czy zabronienia drukowania. Oczywiście może być sytuacja w której oba hasła będą użyte. Zabezpieczenie związane z właścicielem jest dosyć proste do obejścia i każdy program wymieniony poniżej taką blokadę nam zdejmie, natomiast jeśli chodzi o hasło użytkownika to ze złamaniem takiego hasła już radzą sobie nieliczne programy.
Freeware PDF Unlocker
Freeware PDF Unlocker jest programem, który zdejmuje zabezpieczenia z plików *.pdf. Program również potrafi zamienić format pliku w formacie *.eps (Encapsulated PostScript) na obraz w formacie *.png. Zdejmowanymi zabezpieczeniami z pliku pdf są:
- zdjęcie zabezpieczenia druku, czyli możliwość wydruku pliku na drukarce,
- zdjęcie zabezpieczenia kopiowania fragmentów tekstu,
- usunięcie hasła umożliwiającego otwarcie pliku.
By móc skorzystać z programu wystarczy tylko upuścić zabezpieczony plik pdf na ikonę programu, po chwili program utworzy nowy plik, który jest wolny od nałożonych ograniczeń.
Rysunek 55 Freeware PDF Unlocker - użycie programu
Advanced PDF Password Recovery
Program, który pomoże usunąć ograniczenia z plików PDF chronionych hasłem właściciela. Program działa identycznie jak opisywany wcześniej Advanced Archive Password Recovery. Oba programy pochodzą od tego samego producenta, mają taki sam interfejs różnią się typem przeznaczenia, jeden obsługuje pliki pdf drugi zaś archiwa. Program jest płatny.
Rysunek 56 APDFPR - metoda brute force
PDFCrack
Strona programu - http://blog.rubypdf.com/pdfcrack/
PDFCrack jest darmowym narzędziem służącym do odzyskiwania hasła z plików pdf. Program odzyskuje zarówno hasło użytkownika i hasło właściciela z zaszyfrowanych plików pdf. PDFCrack wykorzystuje metodę brute force oraz metodę słownikową do pozyskania hasła.
PDFCrack jest narzędziem korzystającym z wiersza poleceń systemu Windows.
Rysunek 57 PDFCrack - opcje programu
Aby uruchomić narzędzie trzeba wydać polecenie:
pdfcrack –f <ścieżka do pliku pdf>
Program zacznie szukać hasła (domyślnie hasło użytkownika) wykorzystując metodę bruteforce.
Wydając polecenie np.
pdfcrack –f <ścieżka do pliku pdf> -n 4 –m 8
wymuszamy na programie szukania hasła złożonego z minimum 4 znaków, program zakończy działanie po dojściu do 8 znaków.
Aby skorzystać z metody słownikowej trzeba wydać polecenie:
pdfcrack –f <ścieżka do pliku pdf> -w <ścieżka do słownika>
Poniżej został przeprowadzony test na pliku, posiadającym hasło user password, metoda brute force czas łamania hasła wyniósł 2 godziny 45 minut, hasło 5 literowe – klaps (Intel T2050 1,6 GHz)
Rysunek 58 PDFCrack - metoda brute force
Poniżej ten sam plik, tylko hasło zostało łamane przy użyciu pliku słownika, czas 17s.
Rysunek 59 PDFCrack - użycie słownika
PDF Password Remover
Strona programu - http://www.pdf-technologies.com/default.aspx
PDF Password Remover jest prostym programem, który umożliwia nam zdjęcie ograniczeń nałożonych na plik pdf. Działanie programu sprowadza się do wskazania interesującego nas zabezpieczonego pliku pdf i ewentualnie ścieżki zapisu pliku wynikowego wolnego od zabezpieczeń.
Rysunek 60 PDF Password Remover - ustawienia
Narzędzi on-line
Dokument pdf możesz odblokować online, wystarczy tylko przeglądarka. By tego dokonać odwiedź stronę http://www.ensode.net/pdf-crack.jsf. Narzędzie jest darmowe. Aby odblokować plik pdf musisz kliknąć przycisk Przeglądaj i wskazać interesujący Cię plik pdf, maksymalny rozmiar pliku nie może przekroczyć 5MB, na koniec kliknij przycisk Wyślij (Submit).
Próbę odblokowania pliku pdf możesz również dokonać tu - http://www.pdfunlock.com/pl albo tu - http://www.crackmypdf.com/ albo tu - http://freemypdf.com/ lub tu - http://witwall.com/pdfdecrypt.
Pliki dokumentów (doc, xls, mdb)
FREE Word and Excel password recovery Wizard
Strona programu - http://www.freewordexcelpassword.com/
Program przez całą procedurę szukania hasła przeprowadza nas w formie kreatora. Wadą programu jest to że obsługuje pliki tylko w formacie Word/Excel – 97-2003. Czyli za pomocą tego programu nie uda nam się złamać haseł utworzonych w Office 2007/2010/2013.
Po zainstalowaniu i uruchomieniu, program przywita nas ekranem startowym. Po kliknięciu Next przejdziemy do ekranu wyboru pliku. Wybieramy interesujący nas zakodowany plik.
Rysunek 61 FREE Word and Excel password recovery Wizard - wybór pliku zabezpieczonego hasłem
Na kolejny ekranie możemy wybrać typ przeprowadzanego ataku do wyboru mamy: atak z wykorzystaniem słownika bądź atak brute force.
Rysunek 62 FREE Word and Excel password recovery Wizard - wybór ataku
Po wybraniu ataku słownikowego musimy wskazać plik słownika. Mamy do wyboru również dodatkowe opcje – małe litery, duże litery itp.
Rysunek 63 FREE Word and Excel password recovery Wizard - atak słownikowy
Natomiast gdy zdecydujemy się na atak brute force określamy zasięg szukanego hasła, oraz opcje związane z wyborem podstawianych znaków.
Rysunek 64 FREE Word and Excel password recovery Wizard - atak brute force
Kolejnym krokiem jest włączenie procesu szukania hasła.
Rysunek 65 FREE Word and Excel password recovery Wizard - szukanie hasła
Proces łamania hasła przebiega bardzo szybko, gdy program odnajdzie hasło pojawi się nam stosowny komunikat. Użyte hasło – klaps, metoda brute force z wszystkimi znakami, proces trwał 25 minut (Intel i7-3820 ale w wirtualnej maszynie, natomiast już na komputerze 14 minut)
Rysunek 66 FREE Word and Excel password recovery Wizard - znalezione hasło
Advanced Office Password Recovery
Strona programu - http://www.elcomsoft.pl/aopr.html
Programem, który poradzi sobie z zabezpieczonymi plikami pakietu MS Office wszelkiego typu i niezależnie od wersji jest Advanced Office Password Recovery. Program jest niestety płatny i pochodzi z tej samej stajni co program do odzyskiwania plików pdf oraz archiwów spakowanych.
Program odzyskuje dane z Microsoft Word, Microsoft Excel, Microsoft Access, Microsoft Outlook Microsoft PowerPoint, Microsoft Visio, Microsoft Publisher, Microsoft Project, Microsoft Money, Microsoft Internet Explorer.
Możliwości programu uzależnione są od posiadanej wersji, dostępne są wersje AOPR Home, AOPR Standard i AOPR Professional.
Dzięki programowi możemy przeprowadzić atak słownikowy oraz atak metodą brute force.
Program wspiera akcelerację GPU.
Rysunek 67 AOPR - wybór ataku
Accent OFFICE Password Recovery
Strona programu - http://passwordrecoverytools.com/office-password.asp
Następnym programem, który potrafi pokonać zabezpieczenia plików MS Office ale także OpenOffice jest program Accent OFFICE Password Recovery. Program niestety jest również płatny.
Program potrafi przeprowadzić atak metodą słownikową oraz metodą brute force. Ma wsparcie dla akceleracji opartej o GPU.
W ofercie producenta programu są również inne aplikacje umożliwiające łamanie haseł do innych typów plików.
Rysunek 68 Accent OFFICE Password Recovery - wybór ataku
Access Password Retrieval Lite
Strona programu - http://www.everythingaccess.com/accesspasswordretrievallite.htm
Jest to program (darmowy), który pozwoli odzyskać hasła z plików mdb, czyli plików tworzonych przez MS Access (ale nie tylko) - wersje 2000/XP/2003.
Działanie programu jest bardzo proste, wystarczy wskazać interesujący nas plik by po kliknięciu Next pojawiło się nasze zapomniane hasło.
Rysunek 69 Access Password Retrieval Lite - wybór pliku
Rysunek 70 Access Password Retrieval Lite - hasło do pliku
OpenOffice Password Recovery
Strona programu - http://www.intelore.com/openoffice-password-recovery.php
Program OpenOffice Password Recovery jak sama nazwa wskazuje odpowiedzialny jest za odzyskanie haseł do plików utworzonych w popularnym, darmowym pakiecie biurowym jakim jest OpenOffice bądź LibraOffice. Program jest płatny ale istnieje również wersja testowa, która pozwala na wypróbowanie jego możliwości.
Rysunek 71 OpenOffice Password Recovery - okno programu
Program oferuje bardzo duże możliwości w budowaniu zasad według, których będą znajdowane hasła. Można wykorzystać metodę brute force jak i atak słownikowy.
Rysunek 72 OpenOffice Password Recovery - opcje scenariusza przeprowadzania ataku
Cały proces odnajdowania hasła przebiega poprzez wybranie zdefiniowanego profilu szukania hasła bądź stworzeniu sobie własnego i przeprowadzeniu ataku.
Jeśli programowi uda znaleźć się hasło, powiadomi nas o tym stosownym komunikatem, takim jak poniżej (hasło nie jest widoczne ze względu na wersję demo programu)
Producent programu ma w swojej ofercie także inne programy przeznaczone do odnajdywania haseł.
Rysunek 73 OpenOffice Password Recovery - złamane hasło
Excel Password
Strona programu - http://lastbit.com/excel/default.asp
Kolejny już program potrafiący złamać zabezpieczenia plików zapisanych w dokumentach tworzonych z wykorzystaniem pakietu MSOffice. Jak sugeruje nazwa program odnajduje hasła w plikach Excelowskich. Program niestety komercyjny.
W ofercie firmy znajdują się również inne moduły potrafiące obsłużyć inne rodzaje plików m.in. Word, Access, Zip, pdf, rar i wiele innych.
Program korzysta z ataku słownikowego jak również brute force, potrafi wykorzystać akcelerację GPU.
Rysunek 74 Excel Password - wybór pliku
Rysunek 75 Excel Password – atak
Rysunek 76 Excel Password - odnalezione hasło
Poczta, email, dialup, komunikatory.
Mail PassView
Przydatne darmowe narzędzie odzyskujące hasła do kont pocztowych.
Strona programu - http://www.nirsoft.net/utils/mailpv.html.
Program obsługuje następujące aplikacje:
- Outlook Express
- Microsoft Outlook 2000 (POP3 and SMTP Accounts only)
- Microsoft Outlook 2002/2003/2007/2010/2013 (POP3, IMAP, HTTP and SMTP Accounts)
- Windows Mail
- Windows Live Mail
- IncrediMail
- Eudora
- Netscape 6.x/7.x (pod warunkiem, braku hasła użytkownika)
- Mozilla Thunderbird (pod warunkiem, braku hasła użytkownika)
- Group Mail Free
- Yahoo! Mail – hasło musi być zapisane w Yahoo! Messenger
- Hotmail/MSN mail - hasło musi być zapisane w MSN/Windows/Live Messenger
- Gmail - hasło musi być zapisane w Gmail Notifier, Google Desktop lub Google Talk.
Program nie wymaga instalacji, po rozpakowaniu, uruchomieniu i wykryci programów pocztowych powinna nam się pokazać lista znalezionych kont.
Rysunek 77 Mail PassView - hasła do kont pocztowych
Dialuppass
Prosty program, którego zadaniem jest znalezienie haseł połączeń dialup oraz vpn. Program nie wymaga instalacji oraz jest darmowy.
Strona programu - http://www.nirsoft.net/utils/dialupass.html.
Rysunek 78 Dialuppass - hasła odnalezionych połączeń
MessenPass
Program odnajdujący hasła zapisane w popularnych komunikatorach, program obsługuje następujące programy:
- MSN Messenger
- Windows Messenger (In Windows XP)
- Windows Live Messenger (In Windows XP/Vista/7)
- Yahoo Messenger (Versions 5.x and 6.x)
- Google Talk
- ICQ Lite 4.x/5.x/2003
- AOL Instant Messenger v4.6 or below, AIM 6.x, and AIM Pro.
- Trillian
- Trillian Astra
- Miranda
- GAIM/Pidgin
- MySpace IM
- PaltalkScene
- Digsby
Strona programu - http://www.nirsoft.net/utils/mspass.html. Program nie wymaga instalacji oraz jest darmowy.
Rysunek 79 MessenPass - odnalezione hasła komunikatorów
WirelessKeyView
Program znajduje hasła wszystkich zapisanych sieci bezprzewodowych korzystających z usług Wireless Zero Configuration (windows XP) oraz WLAN AutoConfig (Windows Vista/7/8/2012).
Strona programu - http://www.nirsoft.net/utils/wireless_key.html. Program nie wymaga instalacji oraz jest darmowy.
Rysunek WirelessKeyView
Revelation
Jest prostym programem, który pokazuje nam hasła ukryte pod gwiazdkami. Wystarczy przeciągnąć „celownik” w okno programu w tym przypadku okno łączenia z siecią bezprzewodową by poznać hasło, które zostało ukryte przez kropki.
Rysunek 80 Revelation - działanie programu
Asterisk Key
Jest to program bardzo podobny do programu Revelation, jego zadaniem jest również pokazywanie haseł ukrytych pod gwiazdkami/kropkami. Na rysunku poniżej odkryte hasło sieci bezprzewodowej.
Rysunek 81 Asterisk Key - działanie programu
PassTool Password Reader
Strona programu - http://rafal.jelitto.org/
Jest to polski program, którego możemy używać bezpłatnie (z wyjątkiem zastosowań komercyjnych) nie wymagający instalacji.
Program poradzi sobie z odzyskaniem haseł i loginów m.in. z takich programów jak Mozilla Firefox, Google Chrome, Opera, Internet Explorer, Tlen, Gadu-Gadu, AQQ, MSN Live Messanger, Mozilla Thunderbird, The Bat!, Gmail Notifier, Total Commander, Microsoft Outlook (2002-2010), Apple Safari, Google GTalk, PokerStars oraz kluczy systemowych.
Rysunek 82 PassTool Password Reader - okno programu
Fajną funkcją programu jest to że dysponując hashem hasła zakodowanego za pomocą algorytmu MD5, można szybko uzyskać hasło (program przeszukuje bazy online).
Rysunek 83 PassTool Password Reader - szukanie hasła MD5
Program pozwoli nam również poznać klucze zainstalowanych programów np. Windows czy Microsoft Office.
Truecrypt i BitLocker
Łamanie tego typu zabezpieczeń jest trudne i sprawiające dużo problemów ale nie niemożliwe. Są programy, które pozwalają wykonać taką operację ale z reguły jest to proces bardzo czasochłonny i nie dający gwarancji odnalezienia hasła.
Unprotect.info
Strona programu - http://unprotect.info/
Jest to program, który pozwala nam na odnalezienie haseł to magazynów (kontenerów) utworzonych przy pomocy Truecrypt-a (wersja 6.0 i wyżej).
Po zainstalowaniu programu i uruchomieniu musimy wskazać interesujący nas magazyn (plik z rozszerzeniem *.tc).
Rysunek 84 Unprotect.info - wskazanie magazynu Truecrypt
Kolejnym krokiem jest ustalenie opcji związanych z atakiem, program łamie hasło wykorzystując metodę brute force. Naszym zadaniem jest ustalenie długości kombinacji hasła oraz zdefiniowanie znaków jakie będą używane do ataku. Dostępne są następujące opcje:
- Lowercase characters: abcdefghijklmnopqrstuvwxyz
- Uppercase characters: ABCDEFGHIJKLMNOPQRSTUVWXYZ
- Digits: 0123456789
- Punctuation characters: .,:;?!-"'`
- Other special characters: ~@#$%^&*()_+={}[]<>|/\
Rysunek 85 Unprotect.info - ustalenie opcji ataku
Po wciśnięciu Start następuje próba ataku.
Rysunek 86 Unprotect.info - odnajdywanie hasła
Jeśli program znajdzie hasło powiadomi nas o tym stosownym komunikatem.
Rysunek 87 Unprotect.info - odnalezione hasło
Próba złamania hasła do magazynu Trucrypt została zakończona powodzeniem cały proces trwał niecałe 3 minuty ale hasło było proste bo składało się z 3 liter – zxc,a przy wyborze opcji ataku było zaznaczone tylko – korzystaj z małych liter (Lowercase characters) do sprawdzenia było tylko 18278 kombinacji. Zobaczmy co się stanie jak zwiększymy złożoność hasła?
Zostało wybrane „tylko” 6 literowe hasło ale złożone z wielkich i małych liter oraz znaków specjalnych i liczb – hasło K@p$:1
Rysunek 88 Unprotect.info - odnajdywanie hasła
Do sprawdzenia jest 742912017120 kombinacji, a zakładając że proces ma dojść do końca zajmie to programowi 235 lat. Hasło plasuje się gdzieś po środku więc dojście do poprawnego rozwiązania można domniemywać zajmie „bagatela” coś około 117 lat. Choć jak wspomniałem wcześniej wszystko zależy od użytego sprzętu.
Program niestety nie wspiera akceleracji GPU.
Truecrack
Truecrack jest programem, który radzi sobie z magazynami Truecrypt-a, dodatkowo wspiera akcelerację GPU (tylko CUDA – posiadacze kart AMD, mogą czuć się poszkodowani, ale mam nadzieję że to się wkrótce zmieni) ale niestety działa tylko pod systemem Linux.
Zaczynamy od ściągnięcia programu z strony projektu - http://code.google.com/p/truecrack/downloads/list
Następnym krokiem jest instalacja, przechodzimy do katalogu w którym znajduje się rozpakowany program w moim przypadku Desktop\truecrack i wydajemy polecenie ./configure -domyślnie program korzysta z akceleracji GPU Cuda, więc posiadacze kart z logo NVidia wydają właśnie takie polecenie. Ci co chcą skorzystać z tylko z mocy obliczeniowej procesora muszą wydać polecenie ./configure --enable-cpu. W moim przypadku tak właśnie jest, bo w komputerze zainstalowaną kartą jest Radeon.
Rysunek 89 Truecrack – instalacja krok 1
Kolejnym krokiem jest wydanie polecenia – make
Rysunek 90 Truecrack – instalacja krok 2
I na końcu, instalacja programu – sudo make install
Rysunek 91 Truecrack – instalacja krok 3
Teraz możemy zacząć korzystać z programu, po wydaniu polecenia truecrack powninna nam się ukazać lista dostępnych parametrów.
Rysunek 92 Truecrack – opcje programu
Program korzysta z metody brute force jak również z ataku z wykorzystaniem słownika.
By skorzystać z metody opartej o słownik korzystamy z polecenia:
truecrack –t <ścieżka do magazynu truecrypt> -w <ścieżka do pliku słownika>
Natomiast by skorzystać z bute force możemy użyć komendy np. takiej:
truecrack <ścieżka do magazynu truecrypt> -c abc –m 32 –b 1024
Konsekwencją wykonania jednej z tych operacji jest uzyskanie hasła do kontenera Truecrypt-a.
Rysunek Truecrack - szukanie hasła
Szczegółowy opis opcji i działania programu znajdziesz tu - http://code.google.com/p/truecrack/
Elcomsoft Forensic Disk Decryptor
Poprzednie programy radziły sobie z odzyskiwaniem haseł z kontenerów Truecrypta, ten program jest bardziej złożony bo pozwala na odszukanie haseł także do dysków zaszyfrowanych Truecryptem a także BitLockerem.
Program jest płatny. Informacje tu - http://www.elcomsoft.com/efdd.html.
Po instalacji i uruchomieniu program przywita nas oknem. Nas interesuje deszyfracja dysku więc wybieramy opcję pierwszą – Decrypt or mount disk.
Rysunek 93 Elcomsoft Forensic Disk Decryptor - odnajdywanie hasła do dysku zaszyfrowanego za pomocą programu Truecrypt
Wybieramy co chcemy zrobić, określamy opcje łamania. W tym przykładzie pokaże łamanie hasła, zaszyfrowanego magazynu Truecrypta, zaś łamanie dysku omówię przy produktach Passaware gdyż procedura przebiega identycznie.
Rysunek 94 Elcomsoft Forensic Disk Decryptor - wybór celu
A więc po wybraniu TrueCrypt (container) musimy wskazać dwa pliki pierwszy to plik kontenera Truecrypta w przykładzie truecrypttest.tc (100Mb) i następny do wyboru:
- plik zrzutu pamięci,
- plik hibernacji,
- zachowane klucze.
No i doszliśmy do etapu bardzo problematycznego, ponieważ nie ruszymy dalej jeśli nie wskażemy jednego z tych plików. Wskazanie jednego wybranego pliku z tych trzech podanych możliwości, może okazać się nie do przeskoczenia ponieważ występują tu poważne ograniczenia stanowiące słabość tej metody (ograniczenia te również występują w przypadku użycia oprogramowania Passware).
Plik zrzutu pamięci RAM możemy wykonać sami, tylko w zrzucie tym musi być zawarty TrueCrypt Volume Master Key czyli mówiąc prościej zrzut pamięci musi być wykonany po zamontowaniu kontenera czyli po podaniu hasła.
Pewnym ratunkiem może być sytuacja w której zamontowaliśmy wolumin/dysk, nastąpił proces hibernacji i do czasu w którym chcemy odzyskać nasz klucz proces hibernacji nie ponowił się wówczas możemy wykorzystać plik hiberfil.sys w którym będą zawarte informacje zapisane w pamięci RAM w czasie przechodzenia do tego stanu a co najważniejsze z dość dużym prawdopodobieństwem również nasz klucz.
Tak jak wspomniałem wcześniej pliki te niestety musimy posiadać by udało nam się odszyfrować wolumin/dysk a by je zdobyć często potrzeba jest dość duża doza szczęścia w zamian dostajemy prawie pewny sposób uzyskania dostępu do zaszyfrowanych danych a co najważniejsze proces ten trwa o wiele wiele krócej niż używanie metody brute force.
Wyodrębnianie klucza możemy wykonać również po wyborze drugiej opcji na pierwszym ekranie czyli – Extract keys.
Rysunek 95 Elcomsoft Forensic Disk Decryptor - wskazanie plików
Mamy sytuację komfortową, bo zrzut pamięci został wykonany po zamontowaniu woluminu.
Do wykonania zrzutu pamięci został użyty FTK Imager, po wybraniu opcji File klikamy na Capture Memory gdzie po wskazaniu ścieżki zapisu zostaje utworzony plik zawierający kopię pamięci RAM.
Rysunek 96 FTK Imager - zrzut pamięci
Po wskazaniu potrzebnych plików, klikamy na Dalej następuje proces wyodrębniania klucza, który zależny jest od objętości wskazanych plików.
Rysunek 97 Elcomsoft Forensic Disk Decryptor - szukanie klucza
Po przejściu całego procesu jeśli zostanie znaleziony klucz, zostaniemy o tym powiadomieni stosownym komunikatem. Zaznaczając opcję Save matching key(s) będziemy mieli możliwość zapisania go w celu późniejszego użycia.
Rysunek 98 Elcomsoft Forensic Disk Decryptor - odnaleziony klucz
Posiadając klucz możemy go użyć. W następnym kroku dostajemy do wyboru dwie opcje. Wybranie Decrypt Disk i wskazanie ścieżki zapisu pliku spowoduje zapisanie rozszyfrowanego dysku do pliku w formacie *.raw. Taki plik możemy później zamontować np. jako wirtualny dysk i wydobyć interesujące nas dane bądź otworzyć go bezpośrednio w FTK Imager.
Rysunek 99 Elcomsoft Forensic Disk Decryptor - opcje wykorzystania rozszyfrowanego magazynu Truecrypt
Rysunek 100 FTK Imager - magazyn Truecrypt, po rozszyfrowaniu, zrzut do pliku raw
Po wybraniu Mount Disk i określeniu opcji na kolejnym ekranie, program spowoduje zamontowanie odszyfrowanego magazynu.
Rysunek 101 Elcomsoft Forensic Disk Decryptor - określenie opcji montowania odszyfrowanego magazynu
Podsumowując cały proces nie trwał więcej niż 15 minut ale na tak krótki czas miał wpływ mały rozmiar pliku magazynu Truecrypta (100MB) oraz stosunkowo nie duży rozmiar pliku zrzutu pamięci – plik memdump.mem (3GB). Jak widać uzyskałem dostęp do magazynu Truecrypta nie posiadając hasła ale trzeba mieć na uwadze, że gdybym chciał to wykonać w „realu”, tak jak to bywa zazwyczaj to z bardzo dużą dozą prawdopodobieństwa nie udało by mi się odszyfrować magazynu bo barierą stanowiłoby zdobycie poprawnego (zawierającego potrzebne dane) pliku zrzutu pamięci lub pliku hibernacji.
Passware Password Recovery Kit Enterprise
Przy taki temacie nie mogłem nie wspomnieć o produktach Passware.
Narzędzia takie jak Passware Kit Enterprise czy Passware Recovery Kit Forensic to prawdziwe „kombajny” służące tylko do jednego celu aby łamać hasła i to praktyczne do dowolnego zabezpieczonego pliku. Programy te to zbiór narzędzi pozwalających odzyskać lub zresetować hasło z najpopularniejszych formatów plików i aplikacji w tym: Excel, Word, Windows, QuickBooks, Access, FileMaker, Outlook, Outlook Express, Exchange, WinZip, PKZip, ZIP, WinRAR, Network Connections, SQL, BestCrypt, OneNote, PowerPoint, VBA Visual Basic modules, 1-2-3, Internet Explorer, EFS - Encrypted File System, Acrobat, Quicken, Lotus 1-2-3, Lotus Notes, Lotus Organizer, Lotus WordPro, Quattro Pro, Backup, Project, MYOB, Paradox, ACT!, Mail, Schedule+, Money, WordPerfect, WordPro i znacznie więcej.
Te dwa programy są najbogatszymi oferowanymi wersjami.
By móc zacząć odzyskiwać hasło dysku zaszyfrowanego BitLockerem bądź Truecryptem w pierwszej kolejności trzeba wykonać jego pełną kopię bitową, czyli obraz całego dysku od pierwszego do ostatniego bitu. By wykonać tę czynność znów skorzystamy z FTK Imager (choć możemy użyć program dd lub TestDisk) – pełen opis znajdziesz tu - http://slow7.pl/windows-7/95-odzyska-to-co-utracone?showall=&start=3.
Rysunek 102 FTK Imager - kopia bitowa dysku
Ja wykonałem obraz pendrive, zaszyfrowanego BitLockerem. Tutaj mała a dosyć istotna uwaga, obraz dysku zajmuje dokładnie tyle ile dysk z którego była wykonywana kopia czyli mając np. dysk twardy zaszyfrowany o pojemności 1TB, jego pełna kopia będzie zajmować również 1TB. Problem ten możemy ominąć wykonując obraz w formacie EnCase E01, SMART bądź Advanced Forensics Format Disk Image (AFF), które to obsługują kompresje ale przed tworzeniem obrazu trzeba upewnić się jaki typ plików obsługuje oprogramowanie do łamania haseł. Passaware obsługuje np. format EnCase.
Po uruchomieniu programu musimy wybrać model ataku, czyli wskazać programowi co tak naprawdę będzie celem w naszym przypadku wolumin BitLockera, z dostępnej listy wybieramy Analyze Memory and Decrypt Hard Disk.
Rysunek 103 Passware Recovery Kit Forensic - wybór celu ataku
Na kolejnym ekranie wybieramy BitLocker.
Rysunek 104 Passware Recovery Kit Forensic - specyzowanie celu ataku
Uruchamiamy kreatora, który krok po kroku przeprowadzi nas przez cały proces. Wskazujemy plik wykonanego obrazu jeśli mamy plik zrzutu pamięci (podobnie jak w przypadku Elcomsoft Forensic Disk Decryptor) możemy go dołączyć. W przypadku jego braku zaznaczamy The BitLocker volume is dismounted… i przechodzimy Next.
Rysunek 105 Passware Recovery Kit Forensic - atak na dysk zaszyfrowany (BitLocker)
Kolejnym etapem jest określenie opcji związanych z hasłem. Możemy skorzystać z opcji domyślnych bądź sami je określamy. Wybieramy Run Wizard.
Rysunek 106 Passware Recovery Kit Forensic - definicja ustawień ataku
Uruchomiony kreator będzie zadawał nam pytania, by jak najdokładniej dobrać sposób przeprowadzenia ataku, kreator zapyta nas m.in. o ilość liter, rodzaj użytych liter bądź znaków itd.
Rysunek 107 Passware Recovery Kit Forensic - opcje szukanego hasła
Jeśli nie posiadamy żadnych informacji o haśle wybieramy I know nothing about the password, następuje próba ataku.
Jak widać na poniższym rysunku przeprowadzany atak to metoda brute force z szukaniem 8 literowego hasła złożonego z dowolnych znaków - czemu taka? Ponieważ przy tworzeniu woluminu BitLocker zmuszeni jesteśmy właśnie do wybrania takiego hasła (minimum). Nietrudno zauważyć, że jest to proces bardzo długotrwały – całe przejście 9 lat i 11 miesięcy. Można proces skrócić jeśli skorzystamy z mocy obliczeniowej GPU (program ma taką możliwość) ale także znacznie wydłużyć dodając kolejne litery do hasła, które chroni nasz dysk.
Rysunek 108 Passware Recovery Kit Forensic - atak
Poniżej ta sama sytuacja jak w przypadku Elcomsoft Forensic Disk Decryptor ten sam magazyn Truecrypta i ten sam zrzut pamięci.
Rysunek 109 Passware Recovery Kit Forensic - wybór plików wykorzystanych do ataku
Rysunek 110 Passware Recovery Kit Forensic - odnajdywanie hasła
Proces przebiegł bardzo szybko i sprawnie. Wyniki niestety nieosiągalne ze względu na demo programu.
Jak widać na załączonych przykładach możliwe jest odzyskanie, złamania hasła tam gdzie zostało takie ograniczenie nałożone. W jednych przypadkach proces ten trwa krócej w innych zaś znacznie dłużej. Tak naprawdę wszystko zależy od determinacji szukającego.
Bibliografia:
http://www.insidepro.com/eng/passwordspro.shtml
http://www.lockdown.co.uk/?pg=combi&s=articles
http://localh0st.pl/2009/07/lamanie-hasel-windowsa-ophcrack/
http://traxter-online.tk/offline-nt-password-registry-editor-resetowanie-hasla-logowania-t-386.html
http://www.pcworld.pl/news/pdf/index/id/294905
http://www.pcworld.pl/artykuly/315588_2/Brutalni.lamacze.html
http://www.pzb.net.pl/index.php/Zarzadzanie-bezpieczenstwem/Tworzenie-bezpiecznych-hasel.html
http://www.cyberciti.biz/tips/linux-howto-crack-recover-pdf-file-password.html
http://andi.flowrider.ch/research/pdfcrack.html
http://www.passwordunlocker.com/knowledge/office-password-recovery-tool.html
Komentarze