Temat: Hashcat cz.1. - Informacja dla uczniow o odpowiedzialnym uzyciu m.in. aplikacji Hashcat. Generowanie hash-y z wykorzystaniem 3 metod hash-ujacych - md5, sha1, sha256 w terminalu(bash). Odzyskiwanie/lamanie wygenerowanych hash-y metoda silowa (brute-force). Analiza wynikow/dokumentacji programu. 0. Informacja dla uczniow o odpowiedzialnym uzyciu m.in. aplikacji Hashcat. W trakcie naszych zajec bedziemy korzystac z programu m.in. hashcat, narzedzia sluzacego do testowania bezpieczenstwa hasel. Jest to potezne narzedzie, ktore w niewlasciwych rekach moze byc wykorzystane do nielegalnych dzialan. Wazne jest, abyscie byli swiadomi odpowiedzialnosci oraz konsekwencji zwiazanych z jego uzyciem. Legalnosc Dzialan: Uzywanie programu hashcat do testowania, lamania lub odzyskiwania hasel bez wyraznej zgody wlasciciela jest scisle zabronione i uwazane za dzialanie nielegalne. Takie dzialania moga naruszac prawo i byc podstawa do postepowania karnego. Zgoda Wlasciciela: Zawsze wymagana jest zgoda wlasciciela systemu lub danych przed przeprowadzeniem jakichkolwiek testow bezpieczenstwa. Bez tej zgody dzialacie na wlasne ryzyko. Odpowiedzialnosc Ucznia: Jako uczniowie, biorac udzial w tych zajeciach, musicie zdawac sobie sprawe, ze szkola nie bierze odpowiedzialnosci za nielegalne lub niewlasciwe wykorzystanie umiejetnosci nabytych podczas zajec. W przypadku pelnoletnich uczniow, pelna odpowiedzialnosc prawna spoczywa na was w przypadku wykorzystania narzedza do celow niezgodnych z prawem. Etyka i Edukacja: Naszym celem jest edukacja w zakresie cyberbezpieczenstwa i etycznego wykorzystania narzedzi informatycznych. Nalezy pamietac, ze wiedza i umiejetnosci nabyte podczas zajec powinny byc wykorzystywane wylacznie do legalnych celow edukacyjnych i zawodowych. Przypominam, ze odpowiedzialne korzystanie z narzedzi do testowania bezpieczenstwa jest kluczowe w rozwijaniu profesjonalnej kariery w dziedzinie cyberbezpieczenstwa. Zachecam do poszanowania zasad etyki i przestrzegania prawa. 1. Powtorka zastosowania programu RarCrack. a) utworz 2 archiwa *.rar zabezpieczone slabym i srednim haslem. Podczas tworzenia nazw plikow umiesc w nazwie swoje nazwisko np. plik1-kowalski.rar, plik2-kowalski.rar b) w podobny sposob jak na poprzednich zajeciach sprobuj odzyskac/zlamac hasla do spakowanych plikow. Wykonaj zrzuty ekranu podczas odzyskiwania/lamania oraz po zakonczeniu tego procesu. 2. Wprowadzenie do programu Hashcat. Hashcat, znany jako jeden z najbardziej zaawansowanych narzedzi do lamania hasel, obsluguje bardzo szeroki zakres algorytmow. Obejmuje to rozne rodzaje algorytmow hashujacych, takie jak MD5, SHA-1, SHA-256, rozne warianty algorytmow Windows LM i NTLM, a takze wiele innych algorytmow specyficznych dla aplikacji, takich jak algorytmy uzywane w bazach danych SQL, Wi-Fi WPA/WPA2 i wiele innych. Liczba obslugiwanych algorytmow ciagle sie zmienia, poniewaz Hashcat jest regularnie aktualizowany, aby uwzgledniac nowe metody i techniki lamania hasel. Do 2023 roku Hashcat obslugiwal ponad 300 roznych algorytmow, ale aktualna liczba moze byc wyzsza. Aby uzyskac najnowsza liste obslugiwanych algorytmow, najlepiej jest sprawdzic oficjalna dokumentacje Hashcat lub uruchomic narzedzie z odpowiednim parametrem, ktory wyswietla liste obslugiwanych algorytmow. Hashcat wykorzystuje szeroka game technik do efektywnego lamania hasel. Jest to narzedzie typu open-source, co oznacza, ze jego kod zrodlowy jest dostepny dla wszystkich i moze byc modyfikowany przez spolecznosc. a) zapoznaj sie z ponizszym opisem na temat architektury i wydajnosci programu - Obsluga Roznych Platform: Hashcat dziala na roznych systemach operacyjnych, w tym na Windows, macOS i Linux. - Wykorzystanie GPU i CPU: Co wyroznia Hashcat, to jego zdolnosc do wykorzystywania mocy obliczeniowej zarowno GPU (karty graficzne), jak i CPU (procesory). Uzycie GPU pozwala na znacznie szybsze lamanie hasel ze wzgledu na ich zdolnosc do rownoczesnego przetwarzania wielu operacji. - Optymalizacja i Szybkosc: Hashcat jest zoptymalizowany pod katem wydajnosci, oferujac szybkie algorytmy lamania hasel. Moze wykonywac miliony prob lamania hasel na sekunde, w zaleznosci od mocy obliczeniowej sprzetu. b) wejdz na strone www projektu: https://hashcat.net/hashcat/ - ile algorytmow obsluguje hashcat? ktore poznane narzedzie terminalowe mozesz do tego wykorzystac? - jakie metody lamania/odzyskiwania hasel umozliwia hashcat? c) zapoznaj sie z ponizszym opisem: Hashcat oferuje roznorodne tryby ataku (Attack Modes) (inaczej moze byc rozumiane jako: metody lamania/odzyskiwania), ktore umozliwiaja elastyczne i skuteczne podejscie do odzyskiwania/lamania hasel. Kazdy z tych trybow jest zaprojektowany do specyficznych scenariuszy i wykorzystuje unikalne strategie. Oto szczegolowy opis kazdego z nich: - Straight (Prosty) Opis: Ten tryb korzysta z tzw. atakow slownikowych. Wykorzystuje liste potencjalnych hasel (slownik) i probuje je jeden po drugim. Zastosowanie: Skuteczny, gdy hasla sa slabe lub powszechnie uzywane. - Combination (Kombinacyjny) Opis: Laczy dwa slowniki hasel i tworzy kombinacje hasel z obu slownikow. Zastosowanie: Uzyteczny, gdy istnieje podejrzenie, ze haslo sklada sie z polaczenia dwoch znanych slow lub fraz. - Brute-force (Silowy) Opis: Ten tryb probuje wszystkich mozliwych kombinacji znakow do znalezienia hasla. Moze byc czasochlonny, ale teoretycznie moze zlamac kazde haslo. Zastosowanie: Efektywny dla krotkich hasel; trudnosc wzrasta eksponencjalnie z dlugoscia hasla. - Hybrid dict + mask (Hybrydowy slownik + maska) Opis: Polaczenie ataku slownikowego z maska. Najpierw uzywa slownika, a nastepnie dodaje znaki wedlug okreslonej maski. Zastosowanie: Dobry do lamania hasel opartych na slownikach z dodatkowymi znakami (np. "password123"). - Hybrid mask + dict (Hybrydowy maska + slownik) Opis: Odwrotnosc poprzedniego trybu; zaczyna od maski, a nastepnie dodaje elementy ze slownika. Zastosowanie: Skuteczny w przypadkach, gdy haslo zaczyna sie od okreslonych znakow, a konczy slowem ze slownika. - Association * Opis: Ten tryb jest mniej standardowy i moze odnosic sie do zaawansowanych technik kojarzenia roznych danych z potencjalnymi haslami. Zastosowanie: Uzyteczny w bardziej zlozonych scenariuszach lamania hasel, gdzie wymagane jest wykorzystanie specyficznych wzorcow lub danych zwiazanych z celem ataku. Kazdy z tych trybow ma swoje specyficzne zastosowania i moze byc bardziej lub mniej efektywny w zaleznosci od sytuacji oraz charakterystyki lamanego hasla. Wazne jest, aby uzywac Hashcat oraz jego roznych trybow ataku odpowiedzialnie i zgodnie z przepisami prawa, majac na uwadze etyczne aspekty testowania bezpieczenstwa. d) sprawdz wersje hashcat-a domyslnie dostepna w swoim srodowisku i porownaj z wersja dostepna z stronie www projektu. - $ hashcat --version 3. Wygenerowanie 6 roznych hasel. Odzyskiwanie/Lamanie hasel bedziemy przeprowadzac na szkolnym komputerach z wykorzystaniem jedynie CPU. Hashcat jest zoptymalizowany dla wspolczesnych GPU co znacznie zwieksza mozliwosci programu. Majac do dyspozycji jedynie sredniej wydajnosci CPU musimy zoptymalizowac maszyne wirtualna. W tym celu nalezy ja wylaczyc i ustawic maksymalna liczbe wirtualnych procesorow oraz przydzielic maksymalna ilosc pamieci operacyjnej RAM. Podczas ustawiania suwakiem wymagane dwa parametry naszej maszyny wirtualnej, VirtualBox pomaga ustawic CPU i RAM na dopuszczalna wartosc maksymalna dopoki nie pojawi sie komunikat: "Wykryto nieprawidlowe ustawienia" Uwzgledniajac spore ograniczenia naszej maszyny do odzyskiwania/lamania hasel musimy pojsc na pewne kompromisy, wybieramy piec roznych hasel, zaczynajac od bardzo prostych i stopniowo zwiekszajac ich zlozonosc. Oto propozycje hasel, ktore mozemy wykorzystac: a) Generowania 6 roznych hashy md5 za pomoca terminala(bash). - $ echo -n "123" | md5sum >> hash_md5.txt - $ echo -n "1abc" | md5sum >> hash_md5.txt - $ echo -n "gdfsr" | md5sum >> hash_md5.txt - $ echo -n "haslo4" | md5sum >> hash_md5.txt - $ echo -n "3hddf1" | md5sum >> hash_md5.txt - $ echo -n "password" | md5sum >> hash_md5.txt b) nastepnie wyedytuj plik, usun z kazdego wiersza znak "-" i zapisz zmiany. -$ nano hash_md5.txt 4. Odzyskiwanie/Lamanie wygenerowanych hash-y md5 metoda silowa (brute-force). a) uruchomienie programu -$ hashcat -a3 -m0 -w4 hash_md5.txt -O OPIS: -a3 (rodzaj ataku) -m0 (md5) -w4 (zwiekszenie wydajnosci) Mozemy podac sam hash lub nazwe pliku z hash-ami, -O (optymalizacja) Podczas dzialania programu mozemy sledzic postepy klikajac litere "s" (ktore jest skrotem od: status) Podczas odzyskiwania/lamania mozesz sprawdzic obciazenie CPU otwierajac nowe okno terminala i uzycie jedno z polecen: htop, top, atop Mozemy wstrzymac proces lamania "p" i wznowic "r", ostatecznie przerwac "c" i otrzymac podsumowanie wykonanej pracy. Z jakim haslem program mial problem uzywajac metode brute-force? Dlaczego? b) wyswietlenie wynikow odzyskanych/zlamanych hash-y Do wczesniej podanej skladni hascat wystarczy dopisac parametr "--show" -$ hashcat -a3 -m0 -w4 hash_md5.txt -O --show Innym sposobem wyswietlenia wynikow jest przegladniecie terminala po zakonczeniu lub w trakcie dzialania programu. 5. Jakie sa mozliwosci programu? Czy program potrafi lamac/odzyskiwac hasla solone oraz w inny sposob zabezpieczone? Jesli na tym etapie poznawania mozliwosci aplikacj zadales/zadalas sobie rozne pytania to na wiekszosc z nich znajdziesz odpowiedz w obszernej i jednoczesnie bardzo dobrej dokumentacji (manualu) samego hashcat-a: - $ hashcat --help lub - $ man hashcat lub - $ info hashcat Polecam w pierwszej kolejnosci przejrzec "hashcat --help" 6. Generowania 6 roznych hash-y sha1 za pomoca terminala(bash). - $ echo -n "123" | sha1sum >> hash_sha1.txt - $ echo -n "1abc" | sha1sum >> hash_sha1.txt - $ echo -n "gdfsr" | sha1sum >> hash_sha1.txt - $ echo -n "haslo4" | sha1sum >> hash_sha1.txt - $ echo -n "3hddf1" | sha1sum >> hash_sha1.txt - $ echo -n "password" | sha1sum >> hash_sha1.txt Nastepnie wyedytuj plik, usun z kazdego wiersza znak "-" i zapisz zmiany. -$ nano hash_sha1.txt 7. Odzyskiwanie/Lamanie wygenerowanych hash-y sha1 metoda silowa (brute-force). a) uruchomienie programu -$ hashcat -a3 -m100 -w4 hash_sha1.txt -O OPIS: Zwroc uwage, ze aby moc lamac hash-e sha1 wystarczylo powtorzyc skladnie z poprzedniego (md5) odzyskiwania, zmienil sie tylko jeden parametr. Potrafisz odszukac w dokumentacji programu "hashcat --help" uzasadnienie zmioany parametru? b) wyswietlenie wynikow odzyskanych/zlamanych hash-y Do wczesniej podanej skladni hascat wystarczy dopisac parametr "--show" -$ hashcat -a3 -m100 -w4 hash_sha1.txt -O --show 8. Generowania 6 roznych hash-y sha256 za pomoca terminala(bash). Dla porownania dlugosci hashy oraz czasu ich odzyskiwania/lamania, kolejny raz wartosci hasel sa te same co wczesniej. - $ echo -n "123" | sha256sum >> hash_sha256.txt - $ echo -n "1abc" | sha256sum >> hash_sha256.txt - $ echo -n "gdfsr" | sha256sum >> hash_sha256.txt - $ echo -n "haslo4" | sha256sum >> hash_sha256.txt - $ echo -n "3hddf1" | sha256sum >> hash_sha256.txt - $ echo -n "password" | sha256sum >> hash_sha256.txt Nastepnie wyedytuj plik, usun z kazdego wiersza znak "-" i zapisz zmiany. -$ nano hash_sha256.txt 9. Odzyskiwanie/Lamanie wygenerowanych hash-y sha256 metoda silowa (brute-force). a) uruchomienie programu -$ hashcat -a3 -? -w4 hash_sha256.txt -O OPIS: Na podstawie dokumentacji programu "hashcat --help" odszukaj i uzupelnij ustawienie parametru dla metody sha256. Dla wygodniejszego przegladania dokumentacji mozesz uzyc domyslnie dostepnego(w bash-u) programu "less" -$ hashcat --help | less OPIS: Teraz w wygodny sposob mozesz za pomoca kursorow przegladac zawartosc dokumentacji :) b) wyswietlenie wynikow odzyskanych/zlamanych hash-y Do wczesniej podanej skladni hascat wystarczy dopisac parametr "--show" -$ hashcat -a3 -? -w4 hash_sha256.txt -O --show 10. Przegladajac dokumentacje programu (Hash modes -> Category) podaj kategorie/rodzaje hash-y, ktore program potrafi odzyskiwac/lamac. 11. Program Hashcat podczas lamania silowego sam dobiera znaki, nie zawsze taki domyslny wybor znakow jest optymalny, czesto lepiej recznie wskazac programowi jakie znaki i w jakiej pozycji ma stosowac. Posiadajac komputer z dedykowana karta graficzna (np. rtx 3070/3080) mozna probowac skutecznie odzyskiwac/lamac hasla znacznie bardziej zlozone. Srednie Haslo: "H4sl0_2023" Mieszanka duzych i malych liter, cyfr i znakow specjalnych. Zlozone Haslo: "B@rDz0_TruDn3!" Bardziej zlozone, zawiera rozne typy znakow i jest dluzsze. Bardzo Zlozone Haslo: "3!tA_cYb3rBezp13cz3nstw@" Dlugie haslo zawierajace mieszanke wielu roznych typow znakow. KONIEC cz.1.