Laboratorium nr 3 Łamanie słabych haseł



Podobne dokumenty
Laboratorium nr 1 Szyfrowanie i kontrola integralności

System operacyjny Linux

Instalacja Ubuntu 12.12

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Instrukcja instalacji Control Expert 3.0

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

System zdalnego dostępu (VPN) do sieci Wydziału Elektrycznego PW

wersja 1.0 ośrodek komputerowy uj cm ul. mikołaja kopernika 7e, Kraków tel

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

Tomasz Greszata - Koszalin

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja podłączania komputerów z systemem Microsoft Windows Vista/7 do sieci eduroam

Trochę o plikach wsadowych (Windows)

III. Lista prawdopodobnych przyczyn usterek systemu komputerowego wynikających z zadania i załączników

Pracownia internetowa w każdej szkole (edycja Wiosna 2010) Opiekun pracowni internetowej cz. 1

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

DWM-157. Modem USB HSPA+ Podręcznik użytkownika

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

ROZDZIAŁ 1: Instrukcja obsługi oprogramowania VMS

TIME MARKER. Podręcznik Użytkownika

GRUB (GRand Unified Bootloader) - jest bootloaderem instalowanym standardowo w Ubuntu, potrafiącym obsłużyć kilka systemów jednocześnie (Multiboot).

Instrukcja podłączania komputerów z systemem Microsoft Windows 8 do sieci eduroam

SERWER AKTUALIZACJI UpServ

Zarządzanie użytkownikami w

T: Zabezpieczenie dostępu do komputera.

10.2. Udostępnianie zasobów

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Ustalanie dostępu do plików - Windows XP Home/Professional

Memeo Instant Backup Podręcznik Szybkiego Startu

7 Business Ship Control dla Symfonia Handel

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

DLA DREAMBOX & FLASHWIZARD

Laboratorium nr 1 Skanowanie sieci i ataki aktywne

e-sprawdzian instrukcja programu do sprawdzania wiedzy ucznia przy pomocy komputera (WINDOWS & LINUX)

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Instalacja PPPoE w systemie Windows XP za pomocą kreatora nowego połączenia sieciowego

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Pobieranie komunikatów GIF

KONFIGURACJA SERWERA USŁUG INTERNETOWYCH

7 Business Ship Control dla Systemu Zarządzania Forte

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Instalacja PPPoE w systemie Windows 98SE i Me

Instalacja programu na systemie vista/win7/win8/win10. Instrukcja dotyczy instalacji wszystkich programów ( na przykładzie Helios ).

INSTALACJA SERWERA LOKALNEGO TYPU WAMP NA PRZYKŁADZIE PAKIETU KRASNAL SERV 2.7

Instalowanie dodatku Message Broadcasting

Ustawienia personalne

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

Kalipso wywiady środowiskowe

Ewidencja Wyposażenia PL+

IBM SPSS Statistics Wersja 25. Windows Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM

Windows Server 2008 Standard Str. 1 Ćwiczenia. Opr. JK. I. Instalowanie serwera FTP w Windows Server 2008 (zrzuty ekranowe z maszyny wirtualnej)

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

SERWER AKTUALIZACJI UpServ

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Instrukcja konfiguracji systemów operacyjnych do korzystania z sieci AM_Pracownik

Lokalne konta użytkowników

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Zadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

Instalacja i konfiguracja serwera SSH.

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Instrukcja połączenia z programem Compas LAN i import konfiguracji

IBM SPSS Statistics dla systemu Windows Instrukcje dotyczące instalacji (licencja lokalna)

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Instrukcjaaktualizacji

Synchronizator plików (SSC) - dokumentacja

Asix.Evo - Uruchomienie aplikacji WWW

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Instalacja protokołu PPPoE w systemie Windows 98

Mazowiecki Elektroniczny Wniosek Aplikacyjny

Instalacja protokołu PPPoE

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Instalacja i konfiguracja SAS PC Files Server

Aby uruchomić Multibooka, należy podłączyć nośnik USB do gniazda USB w komputerze, na którym program ma być używany.

DBE DataBase Engineering

Instrukcja instalacji programu. system Windows vista/win 7/win 8/win 10 32/64bit

Wykorzystanie pamięci USB jako serwera Samba

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Konfiguracja połączenia szerokopasmowego na Windows98/98SE Instalacja PPPoE w systemie Windows 98 i 98SE

Konsola MMC. - zarządzanie zaporą sieciową (wf.msc): - zasady zabezpieczeń loklanych (gpedit.msc):

SERWER AKTUALIZACJI UpServ

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

CC1 Cracow Cloud One

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

IBM SPSS Statistics Wersja 24. Windows Instrukcja instalacji (licencja wielokrotna) IBM

IBM SPSS Statistics dla systemu Windows Instrukcje dotyczące instalacji (jeden użytkownik)

Tomasz Greszata - Koszalin

Wyszukiwanie plików w systemie Windows

Kurs walut. Specyfikacja projektu. Marek Zając

Linksys/Cisco RT31P2, WRT54GP2. Instrukcja Konfiguracji

INSTRUKCJA INSTALACJI I KONFIGURACJI KARTY GOLIATH UNI HD PROTECTOR

11. Autoryzacja użytkowników

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Pracownia internetowa w szkole ZASTOSOWANIA

Transkrypt:

Laboratorium nr 3 Łamanie słabych haseł Wprowadzenie Stosowanie haseł dostępu do systemów/zasobów jest obecnie najpopularniejszą techniką uwierzytelniania. Niewątpliwie technika ta ma wiele zalet tj. niski koszt implementacji czy łatwość ich zmiany i konfiguracji. Hasło jest łatwo zapamiętać i trudno zgadnąć - przy założeniu, że użytkownicy nie stosują haseł zbyt krótkich i prostych. Laboratorium ma na celu pokazać, jakim zagrożeniem dla systemu jest stosowanie prostych haseł: zbyt krótkich lub wyrazów słownikowych. Laboratorium nie jest kursem hakerstwa nie ma na celu uczyć, w jaki sposób złamać hasła w systemach dostępnych przez siec Internet. Jego celem jest uświadomić użytkownikom systemów, że słabe hasła można złamać bardzo szybko, a przyszłym administratorom systemów pokazać, w jaki sposób mogą wykryć użytkowników, których należy zdyscyplinować w kwestii stosowania odpowiedniej polityki bezpieczeństwa. Dobrym zwyczajem administratora są okresowe próby łamania haseł swoich użytkowników w celu wykrycia słabych haseł, które są zagrożeniem dla całego systemu. Ponadto, aby dobrze chronić swój system przed intruzami, warto jest poznać metody stosowane przez hakerów. Wiele ataków sieciowych przeprowadzana jest według następującego schematu: 1. Pierwszy etap to zdobycie loginu i hasła dowolnego użytkownika w systemie. Wbrew pozorom nie jest to zadanie bardzo trudne. Większość użytkowników łamie podstawowe reguły bezpieczeństwa: zapisuje hasła na karteczkach na monitorze, nie szyfruje połączeń w czasie uwierzytelniania (hasło można podsłuchać), stosuje hasła banalne (np. data urodzin, imię kota itd.). 2. Gdy atakujący znajdzie się już wewnątrz systemu wykorzystując konto zwykłego użytkownika, próbuje odczytać skróty haseł dla wszystkich kont szczególnie administratora/root a. Jeśli atakującemu uda się odczytać skrót hasła dla administratora systemu, następuje próba jego złamania, np. za pomocą programu John the Ripper. 3. Gdy hasło administratora zostaje złamane, atakujący instaluje w systemie backdoor, program maskujący i czyści za sobą ślady. Wtedy nawet po zmianie haseł przez administratora, haker ma dalej kontrole nad systemem. W trakcie ćwiczeń będziemy używać programu John the Ripper. Jest to najbardziej znany program do łamania haseł wielu specjalistów bezpieczeństwa twierdzi że najlepszy. Za pomocą tego programu można łamać hasła dostępu do systemów Linux i Windows. Program jest uruchamiany z linii komend, a ustawienia i dane wejściowe pobiera z odpowiednich plików. W systemie Linux, podstawowy format zapisu pojedynczej linii w pliku z hasłami jest następujący (parametry: t1, t2, t3, t4, t5, t6 oznaczają daty związane ze zmianą i wygaśnięciem danego hasła): Login : Password : t1 : t2 : t3 : t4 : t5 : t6 :

W systemie Windows głównym formatem jest tzw. PWDUMP i wygląda on następująco: Login : RID : LM-hash : NT-hash : : : W czasie pracy z programem John the Ripper, odpowiedni format pliku z hasłami jest konieczny do prawidłowego funkcjonowania programu. Przygotowanie programu 1. Proszę uruchomić komputer w systemie Ubuntu. 2. Elektroniczna wersja tej instrukcji znajduje się również na stronie: http://kt.agh.edu.pl/~niemiec/lab 3. Utworzyć na dysku nowy katalog i ściągnąć ze strony http://kt.agh.edu.pl/~niemiec/lab program John the Ripper. Instalkę można również ściągnąć ze strony: http://openwall.com/john/ 4. Rozpakować program, otworzyć konsolę tekstową (program John the Ripper pracuje tylko w trybie tekstowym). Szczegółowa dokumentacja programu znajduje się w katalogu: john/doc Proszę koniecznie przeglądnąć pliki: OPTIONS (funkcjonalność programu) MODES (opis trybów programu) CONFIG (konfiguracja, zmienne) RULES (tworzenie dodatkowych reguł łamania haseł) EXAMPLES (przykłady) 5. Przejść do katalogu: john/src gdzie znajdują się pliki instalacyjne. Zainstalować program John the Ripper wykonując komendę: make clean generic 6. Przejść do katalogu john/run (pojawił się w nim plik: john) i ze strony http://kt.agh.edu.pl/~niemiec/lab ściągnąć do tego katalogu wszystkie pliki z hasłami oraz wszystkie słowniki (listy z wyrazami dotyczące konkretnej dziedziny). Słowniki te zostały ściągnięte ze strony: ftp://ftp.zedz.net/pub/crypto/wordlists/ Do stron ze słownikami można przejść ze strony głównej programu John the Ripper -> passwords -> wordlists

Łamanie haseł w trybie: SINGLE CRACK 1. Jest to najprostszy tryb łamania haseł. Program sprawdza czy użytkownik ma ustawione bardzo proste hasło. Proszę otworzyć plik z hasłami: hasla.txt i zapoznać się ze sposobem zapisu hasła pod systemem Linux, a następnie spróbować w trybie SINGLE złamać hasła z pliku: hasla.txt john -single hasla.txt lub./john -single hasla.txt Na podstawie, jakich reguł pracuje tryb SINGLE? Czy hasła te są bezpieczne? Łamanie haseł w trybie: WORDLIST 1. Tryb WORDLIST łamie hasła za pomocą słownika - wyrazy w słowniku mogą być hasłami użytkowników. Za pomocą dodatkowych reguł wyrazy ze słownika są modyfikowane (dodaje się znaki specjalne przed wyrazem itp.), co zwiększa prawdopodobieństwo złamania hasła. Znając zainteresowania użytkownika można próbować używać szczególnych typów słowników do łamania jego haseł. Przykładowo fan piłki nożnej może mieć ustawione jako hasło nazwisko ulubionego piłkarza. Proszę za pomocą ściągniętych słowników: asteroid.txt, shakespe.txt i tolkien.txt spróbować złamać hasła dla użytkowników z pliku: t_hasla.txt:./john -wordlist=asteroid.txt t_hasla.txt itd. Co można powiedzieć o zainteresowaniach poszczególnych użytkowników? Dlaczego użyte hasła nie są bezpieczne? 2. Aby wylistować wszystkie złamane hasła z pliku t_hasla.txt należy użyć komendy:./john --show t_hasla.txt Złamane już hasła są zapisywane w pliku: john.pot. Proszę spróbować złamać dowolne hasło powtórnie. Czy się uda? Proszę wykasować hasło z pliku john.pot. Czy teraz program próbuje łamać hasło? 3. Bardzo dobre efekty można uzyskać próbując modyfikować hasła słownikowe. Za pomocą opcji: --rules można złamać różne typy haseł bazujących na wyrazach z danego słownika.

Proszę spróbować złamać hasła z pliku: r_hasła.txt bazując na słowniku: shakespe.txt:./john -wordlist=shakespe.txt - rules r_hasla.txt Na jakich regułach bazuje ten tryb łamania haseł? Proszę przyjrzeć się tym regułom w pliku john.conf (reguły dla trybu WORDLIST znajdują się pod linią: [List.Rules:Wordlist]). 4. Proszę skasować reguły dla trybu WORDLIST (znajdują się pod linią: [List.Rules:Wordlist]) i stworzyć własne reguły łamania haseł słownikowych wiedząc, że często użytkownicy stosują następujące metody zapisu haseł: - zamiast litery a zapisują znak @ (np. zamiast lampa zapisują l@mp@ ) - zamiast litery o zapisują cyfrę 0 - zamiast litery c zapisują znak ( - dodają na końcu hasła liczbę: 2007 lub 07 - dodają przed hasłem kropkę:. Wykorzystując stworzone reguły proszę spróbować złamać hasła z pliku: s_hasła.txt dla użytkowników: s1, s2 i s3 przy wykorzystaniu słownika: shakespe.txt. Proszę założyć, że dany użytkownik zastosował tylko jeden z podanych wyżej sposobów. Które hasła udało się złamać? Dlaczego? Jak wyglądają stworzone reguły? Wiadomo, że użytkownik s4 zastosował wszystkie opisane metody zapisu hasła, oprócz dodania kropki przed hasłem. Proszę spróbować złamać to hasło. Jakie to hasło? Jak wygląda stworzona reguła? Użytkownik s5 używa innej metody zapisu swojego hasła. Wiadomo jedynie ze zastępuje literę s pewnym znakiem specjalnym. Proszę pomyśleć, jaki może to być znak i próbować złamać to hasło modyfikując odpowiednio reguły w pliku john.conf Jaki to znak specjalny? Jakie to hasło? Łamanie haseł w trybie: INCREMENTAL 1. Tryb INCREMENTAL łamie hasła na zasadzie ataku brutalnego: sprawdza wszystkie dostępne kombinacje. Modyfikując odpowiednio plik: john.conf można ograniczać długości sprawdzanych haseł, definiować znaki z jakich tworzone są hasła itp. Proszę zapoznać się z konfiguracja trybu INCREMENTAL w pliku john.conf 2. Wiadomo, że hasła w pliku n_hasla.txt składają się z samych cyfr a hasła w pliku p_hasla.txt składają się z samych liter. Dodatkowo wiadomo, że

numer użytkownika odpowiada liczbie cyfr/liter w haśle (np. użytkownik n4 ma hasło czterocyfrowe a użytkownik p2 ma hasło składające się z dwóch liter). Wykorzystując tryby: [Incremental:Digits] i [Incremental:Alpha] proszę spróbować złamać te hasła wpisując odpowiednie długości hasła dla każdego z użytkowników. Uruchamiając program odpowiednią komendą proszę poprzedzić ją poleceniem time: time./john --incremental:digits --user:n1 n_hasla.txt itd. Proszę zapisać czas łamania każdego z haseł i narysować wykres zależności czasu łamania hasła od jego długości (dla haseł numerycznych i dla haseł składających się z liter). Dla jakiej długości hasła, łamanie brutalne nie ma sensu? Jakiej długości hasła są bezpieczne? 3. Czas złamania hasła sposobem brutalnym jest zmienny: możliwe jest zgadnięcie hasła natychmiast jak również możliwe jest, że poprawne hasło będzie odgadnięte jako ostatnia z możliwości. Oczywiście statystycznie najczęściej hasło zostaje odgadnięte przy sprawdzeniu ok. połowy możliwości. Zakładając, że mamy do czynienia z hasłem o długości k-znaków przy czym każdy znak należy do danego zbioru n-elementowego, oraz że znaki w haśle mogą się powtarzać, liczba wszystkich kombinacji wyraża się wzorem (wariacja z powtórzeniami): Znając czas złamania hasła oraz parametr c/s można obliczyć po ilu kombinacjach odgadnięto hasło. Proszę sprawdzić w ilu przypadkach hasło złamane zostało przed sprawdzeniem 50% możliwości. Co to jest parametr c/s? Na wykresie z poprzedniego podpunktu proszę narysować teoretyczny wykres czasu łamania od długości hasła (należy założyć że hasło zostaje znalezione po przeanalizowaniu dokładnie połowy możliwości). Tworzenie własnych użytkowników i haseł 1. Za pomocą komendy: su, proszę uzyskać uprawnienia root a a następnie stworzyć kilku nowych użytkowników za pomocą komendy: useradd login_uzytkownika Za pomocą komendy: passwd login_uzytkownika ustawić hasła dla nowych użytkowników i skopiować zawartość pliku: etc/shadow do katalogu z programem John the Ripper. Należy spróbować złamać hasła dla nowych użytkowników dodając hasła do słownika (w trybie WORDLIST), spróbować złamać je za pomocą trybu SINGLE itp.

Łamanie haseł w systemie Windows 1. Proszę włączyć komputer w systemie Windows. 2. Na pulpicie stworzyć katalog: bezpieczenstwo i ściągnąć do niego program John the Ripper w wersji dla systemów Windows. Następnie rozpakować plik i w trybie tekstowym przejść do katalogu: john/run 3. Stworzyć kilku nowych użytkowników w systemie ( Panel sterowania -> Konta użytkowników ) i ustawić im hasła (kilka prostych do łamania w trybie SINGLE i kilka trudniejszych do łamania za pomocą słownika) 4. Ponieważ dostęp do skrótów z haseł jest trudniejszy niż w przypadku systemu Linux do ich odczytania użyjemy programu SAMInside (proszę go ściągnąć ze strony: http://kt.agh.edu.pl/~niemiec/lab). Po rozpakowaniu uruchomić program SAMInside.exe a następnie w oknie programu: File - > Import local users using LSASS. Proszę eksportować wyświetlone dane do pliku tekstowego (w formacie PWDUMP), plik umieścić w katalogu john/run i spróbować złamać hasła. 5. Po zakończeniu ćwiczenia usunąć stworzony katalog bezpieczenstwo i usunąć stworzonych przez siebie użytkowników! Sprawozdanie W sprawozdaniu z laboratorium nr 3 należy opisać wykonane ćwiczenia i ich wyniki. W szczególności należy napisać, jakie hasła udało się złamać oraz odpowiedzieć na zadane pytania. Dodatkowo we wnioskach należy napisać czym jest uwierzytelnianie, podać kilka przykładów różnych technik uwierzytelniania, wyjaśnić co to są słabe hasła i jakich haseł powinno się używać. Dodatkowo (część nieobowiązkowa) Dla osób, które są zainteresowane tematem: - Tryb EXTERNAL w programie John the Ripper - Inne programy do łamania haseł np. L0phtCrack, Jane, - Tęczowe tablice i wartość salt dla haseł