Czasami napotkamy taki problem. Na przykład hasło jest w trybie abcdabcd, a w naszym słowniku nie ma abcdabcd. Jeśli go wygenerujemy, zajmie to ogromne miejsce. Czy istnieje sposób na wygenerowanie abcdabcd za pomocą abcd? W Hashcatie jest to oczywiście możliwe. W tej sekcji najpierw omówimy ten tryb, czyli tryb ataku kombinacji słownika (parametr reprezentowany jako-a 1).
Najpierw opisujmy znaczenie-a 1 na prostym przykładzie, a następnie przeprowadzimy Cię krok po kroku do złożonych zastosowań tego wzorca.
hashcat – a 1 – m 0 mima.txt – o outfile dic.txt dic.txt
Znaczenie tego polecenia jest użycie dic.txt Ten słownik jest połączony w celu odszyfrowania mima.txt. Jeśli dic.txt składa się ze słownika
, jak pokazano na poniższym rysunku, nowa para mima.txt powstaje po połączeniu poleceń. Słownik do odszyfrowania txt to:
Każdy wiersz w dic.txt łączy się ze sobą, tworząc nowy słownik.
To, co wprowadzono wcześniej, to kombinacja tego samego słownika. Jeśli są to różne słowniki, hashcat również je obsługuje. Polecenie jest następujące
oznacza, że wszystkie wiersze w dic1.txt są połączone ze wszystkimi wierszami w dic2.txt, a powstały słownik rozwiązuje mima.txt.
W jakich okolicznościach stosuje się tryb kombinacji? W trybie kombinowanym hasło jest zazwyczaj wyraźnie podzielone na dwa etapy, takie jak: abcd1234, asdfasdf, aaa19770101,... itp., Hasło wyraźnie pojawia się jako poprzedni segment i następny segment.
(1) W trybie kombinacji hashcat może obecnie obsługiwać tylko dwa słowniki (lub ten sam słownik 2 razy) do łączenia i nie może obsługiwać wielu słowników (więcej niż 3 słowniki) lub więcej niż 3 ataki kombinowane z tego samego słownika.
Oznacza to, że następujące polecenie jest błędne:
hashcat – A 1 – m 0 mima.txt – ooutfile dic.txt dic.txt
hashcat – A 1 – m 0 mima.txt – ooutfile dic1.txt dic2.txt dic3.txt
(2) W trybie kombinowanym katalogi również nie są obsługiwane (w poprzednim artykule w trybie-a 0 obsługiwany jest cały katalog), co oznacza, że następujące dwie sytuacje również nie są dostępne.
hashcat – a 1 – m 0 mima.txt – ooutfile/dic/
hashcat – a 1 – m 0 mima.txt – ooutfile/dic/*.txt
(3) Problem terminowości
Korzystając z trybu kombinacji, jeśli słownik jest bardzo duży, na przykład dwa słowniki mają 10 000 000, to przestrzeń kombinacji wynosi 100 000 000 000 000, co odpowiada 10 000 000 słowników (każdy słownik ma 10 000 000 elementów), przestrzeń będzie zbyt duża i może wystąpić duża liczba powieleń. Chociaż zasięg wzrósł, terminowość nie jest wysoka.
Łamanie siłą brutalną, jak sama nazwa wskazuje, polega na brutalnym wyczerpaniu określonej przestrzeni zwykłego tekstu. Jest to bezużyteczna metoda (ponieważ nie ma możliwości zmniejszenia przestrzeni wyczerpania).
Zanim formalnie porozmawiamy o brute force crackingu, porozmawiajmy najpierw o wyczerpaniu przestrzeni. Biorąc za przykład powszechne małe litery + cyfry, jeśli długość hasła wynosi 4, przestrzeń wynosi 36**4=1679616, co nie wydaje się duże i pojawi się za chwilę; Jeśli długość hasła wynosi 8, to jego przestrzeń wynosi 36**8=2821109907456. Jeśli czas rozwiązania wynosi 1000 000 000 (1 miliard razy/s), czas rozwiązania wynosi około 2820 sekund, czyli około 47 minut, co wydaje się przystępne; Jeśli długość hasła wynosi 10, jego przestrzeń wynosi 36**10=3656158440062976. Jeśli czas rozwiązania wynosi 1000 000 000 (1 miliard razy/s), czas rozwiązania przekracza 1000 godzin i nie ma możliwości zaakceptowania tego.
Istnieje wiele różnych rodzajów trybów łamania brutalną siłą (parametry reprezentowane jako-a 3) w Hashcatie. Poniżej omówimy je jeden po drugim.
hashcat ma wbudowane 8 domyślnych zestawów znaków, a mianowicie l (26 małych liter), u (26 dużych liter), d (10 cyfr), H (małe znaki szesnastkowe), H (duże znaki szesnastkowe), s (znak specjalny 31), A (zbiór 95 pełnych znaków z l, u, d, s) i b (binarne
Przykład
(1) Jeśli wyczerpisz 6-bitową przestrzeń małych liter, użyj polecenia w następujący sposób:
(2) Jeśli wyczerpisz wszystkie znaki Polecenie wykorzystania 8-bitowej przestrzeni jest następujące:
(3) Jeśli wyczerpisz całą przestrzeń liczbową w zakresie 4-6 bitów, polecenie jest następujące:
Tutaj dodano parametr- -inrcement- -increment-min 4- -inrcement- -increment-max 6 reprezentuje wartości minimalne i maksymalne długości wyczerpania.
Tryb kombinacji tutaj jest trybem organizacyjnym w trybie wyczerpującym, a nie trybem (-A 1).
Bezpośredni przykład ilustracji:
(1) Hasło wyczerpuje zakres. Szacuje się, że długość hasła wynosi 6. Pierwsza cyfra to cały zestaw znaków, druga cyfra to małe litery, a trzecia cyfra to wielkie litery, czwarta, piąta i szósta cyfra to cały zestaw znaków, wówczas polecenie może używać następującego trybu:
(2) Poniżej podano kilka trybów kombinacji,
Jeden: Jeśli zakres hasła to wielkie litery + cyfry, a długość wynosi 6, polecenie jest następujące:
Tutaj używa się-1? Ja? Ty? d oznacza wielkie i małe litery + liczby.
2: Jeśli zakres wyczerpujący wynosi 6 cyfr, pierwsza i czwarta cyfry to wielkie litery + cyfry, druga cyfry to wielkie litery, trzecia i piąta cyfry to wielkie litery + cyfry, a szósta cyfry to cyfry, wówczas polecenie jest następujące:
Oczywiście możesz również określić minimalną i maksymalną długość, jak pokazano na poniższym rysunku
Wcześniej wprowadziliśmy, że hashcat ma 8 wbudowanych zestawów znaków, ale co jeśli zestaw znaków wymagany przez użytkownika nie mieści się w tych 8 typach? Co robić? To nie ma znaczenia, hashcat przygotował także bogate, niestandardowe tryby ataków brutalnej siły dla każdego.
Korzystając z polecenia hashcat – h, widać, że zdefiniowany jest następujący tryb użytkowania
Poniżej wyjaśnimy to za pomocą przykładów:
(1) Jeśli długość hasła wynosi 8 bitów, a każdy bit składa się z „0123456789aqwcfhj,. < > = -_ + ", możesz użyć następującego polecenia.
Możesz także zapisać te znaki w pliku, takim jak char.txt, używając poniższego polecenia.
(2) Jeśli długość hasła wynosi 8 bitów, pierwszy, trzeci i szósty bit znajdują się w „43545yt ", drugi i czwarty bit znajdują się w „345dfv- = _ +", a piąty i siódmy bit znajdują się w „9vjnbbf-brg ", a ósmy bit znajduje się w „345fkfggh", możesz użyć następującego polecenia.
Oczywiście możesz również zapisać te znaki w różnych plikach, takich jak char1.txt, … … …, używając następującego polecenia.
Uwaga: Niektóre symbole mają specjalne znaczenie w wierszu poleceń, dlatego jeśli w zestawie znaków znajdują się specjalne symbole, najlepiej zapisać je w formie pliku.
(3) Na podstawie (2) zwiększ minimalną długość i maksymalną długość, np. 4-8 bitów. Możesz użyć następującego polecenia.
W poprzednim artykule przedstawiliśmy zastosowanie niektórych parametrów. Dzisiaj przedstawimy niektóre powszechnie używane parametry. Dzisiaj skupię się na parametrach wyświetlania ekranu
. W poprzednim artykule wprowadzono polecenia związane z wyjściem pliku (-o/ - -outfile-format). Za pomocą tych poleceń wyniki rozszyfrowania hasła hashcat można wyprowadzić w określonym formacie do pliku. Ale podczas uruchamiania Hashcata nie widzimy, które hasła hashcat rozszyfrował. Jeśli pracujemy w Hashcatie, możemy bezpośrednio wydrukować hasło rozszyfrowane przez hashcat na ekranie, co będzie bardziej intuicyjne i wygodne. W hashcat jest dokładnie kilka parametrów, które mogą wyświetlać wyniki uruchamiania hashcat na ekran.
Polecenie show wyprowadzi rozszyfrowany skrót i hasło zapisane w pliku pot do okna ekranu.
Polecenie left wyprowadzi wartość skrótu, która nie została rozszyfrowana przez hashcat na ekran
Polecenie stdout nie przeprowadza rozszyfrowania haseł, ale wydrukuje zawartość słownika używanego do rozszyfrowania haseł.
Hashcat ma wiele poleceń, a różne parametry są bardzo różne. Jeśli chcesz w pełni wykorzystać funkcje i funkcje Hashcat, zaleca się używanie więcej Wypróbuj różne polecenia, aby zapoznać się z kombinacją różnych poleceń Hashcat. Jeśli chodzi o funkcjonalność parametrów hashcat, możesz skorzystać z pomocy online hashcat (-h).