Jest to drugi artykuł z serii - przeznaczonej dla początkujących,rozpoczynająćych swoją przygodę z łamaniem haseł

W poprzednim wpisie poznaliśmy jedną z metod ataku jakieoferuje hashcat — atak słownikowy. Do przeprowadzenia takiego ataku potrzebujemy słownika — dobrego słownika.

Ustalmy jedno – żeby atak miał sens, potrzebujemy solidnego (i nie zawsze dużego) słownika.

Zacznijmy od wyjaśnienia czym w ogóle jest słownik, znany również jako wordlist(a). Jest to plik tekstowy, w którym każda linia zawiera jedno słowo (hasło). Plik taki może być skompresowany – zalecamy format to .7z, ale również .gz czy zip działa bez problemu.

Słowniki

Dlaczego słowniki są tak istotne? Przede wszystkim musimy zrozumieć, jak działa proces łamania haseł kiedy wybierzemy tryb a1. Hashcat generuje kandydatów (czyli hasła - łamiąc hasła operujemy na kandydatach na hasło.) na podstawie zawartości przekazanego słownika. Im większy słownik, tym więcej kandydatów i większe szanse na złamanie hasła. Duży, dobry słownik to również podstawa ataków opartych o reguły. Dodatkowo hashcat działa wydajniej, gdy otrzymuje dużą liczbę kandydatów nieprzerwanie dostarczanych do GPU ( na wyższy bieg wskoczymy w kolejnym poście - omówimy reguły, czyli powiedzmy - zasady które będą modyfikować baze - słownik zwielokrorniająć ilosc kandydatow).

Większość dostępnych słowników to zbiory haseł wyciekłych podczas włamań. Najbardziej znanym słownikiem jest rockyou.txt.gz.
Firma RockYou padła ofiarą ataku w grudniu 2009. Słownik rockyou to nic innego jak zbiór haseł uzyskanych w wyniku skutecznego ataku SQL injection na bazę danych tej firmy, podczas którego wyciekło 32 603 388 niezaszyfrowanych haseł.
Hakerzy udostępnili dane publicznie, stąd nazwa słownika.

Rockyou

rockyou.txt.gz to bardzo mały słownik – spakowany zajmuje jedynie 51MB, a po rozpakowaniu 134MB, zawierając 14 344 392 unikalnych haseł.
Jest preinstalowany w systemach takich jak Kali Linux czy Parrot, co czyni go niejako domyślnym słownikiem. Dlatego jeśli mamy złamać hasła w , labach, podczas egzaminów certyfikujących czy na platformach takich jak HackTheBox czy TryHackMe — najczęściej sięgamy najpierw po ten słownik i w 99.9% wystarcza.

Example image

Rockyou2021

Pozostańmy jeszcze przy rockyou — w 2021 roku wydano nowy słownik Rockyou2021 (rockyou2021.7z).
Ten słownik jest zdecydowanie większy: 12,67GB spakowany, 91,62GB po rozpakowaniu i zawiera 8 459 060 239 unikalnych haseł.

Example image

CrackStation

Serwis online do łamania haseł — CrackStation wykorzystuje ogromne tablice tęczowe (rainbow tables) do łamania hashy. Sprawdza, czy podany hash znajduje się w ich bazie danych – jeśli tak, zwraca odpowiadające mu hasło w postaci jawnej.
CrackStation wspiera: LM, NTLM, md2, md4, md5, md5(md5_hex), md5-half, sha1, sha224, sha256, sha384, sha512, ripeMD160, whirlpool, MySQL 4.1+(sha1(sha1_bin)), QubesV3.1BackupDefaults

Autor CrackStation udostępnia również własne słowniki do pobrania. Opisuje je następująco:

Lista zawiera każdy słownik, bazę haseł i wyciek, jaki udało mi się znaleźć w internecie (a spędziłem na tym BARDZO dużo czasu). Zawiera również wszystkie słowa z bazy Wikipedii (strony-artykuly, stan na 2010, wszystkie języki) oraz wiele książek z Project Gutenberg. Uwzględnia także hasła z mniej znanych wycieków, które lata temu były sprzedawane w podziemiu.

Example image
CrackStation Dictionary

SkullSecurity

To zbiór słowników do łamania haseł zgromadzonych w jednym miejscu. Nie jest tak kompleksowy i aktualny jak weakpass (który omówimy za chwilę), ale to bardzo znane źródło w społeczności.

SkullSecurity

Słowniki SkullSecurity dostępne są w jednym archiwum:
Example image
SkullSecurity Dictionary

Hashes.org

Hashes.org to była społeczność skupiona wokół tematów bezpieczeństwa, która zakończyła działalność na początku 2021 roku. Ich słowniki nadal są dostępne i powszechnie używane.

Example image

Weakpass

W 2015 roku ruszył projekt weakpass, a pierwszy słownik został opublikowany.
W ciągu roku pojawiła się wersja 1.0, zawierająca wiele zmian, poprawek i dodatków.
Autorzy kierowali się jedną zasadą:

Na początku była zasada – co tydzień dodajemy jeden nowy słownik.

Pierwsza prezentacja projektu odbyła się na Weakpass - defcon russia 23

Example image
Defcon-23-Russia

Dzięki w34kp455 słowniki z całego internetu zostały zebrane w jednym miejscu i udostępnione do pobrania:

Example image
Weakpass

Im większy, tym lepszy

W pewnym momencie autorzy postanowili stworzyć jeden ogromny słownik ze wszystkich zgromadzonych przez lata zbiorów.

Efektem tego jest All-in-one:
Example image
Weakpass All-in-one

Spakowany słownik All-in-one.7z zajmuje 57 GB, a po rozpakowaniu 444,57 GB i zawiera 40 247 321 168 unikalnych wpisów.


Popularne źródła słowników:

https://github.com/kkrypt0nn/Wordlists
https://github.com/berzerk0/Probable-Wordlists
https://github.com/clem9669/wordlists
https://f002.backblazeb2.com/file/passphrase-wordlist/passphrases.txt
https://weakpass.com/wordlist/1939
https://weakpass.com/wordlist/1858
https://weakpass.com/wordlist/1849

https://contest-2010.korelogic.com/wordlists.html
https://github.com/berzerk0/Probable-Wordlists
https://github.com/kaonashi-passwords/Kaonashi
https://github.com/clem9669/wordlists
https://github.com/tasooshi/brutas/tree/master/wordlists/passwords
https://github.com/webpwnized/byepass/tree/master/passwords
https://github.com/webpwnized/byepass/tree/master/dictionaries
https://packetstormsecurity.com/Crackers/wordlists/
https://github.com/praetorian-inc/Hob0Rules/tree/master/wordlists
https://github.com/ignis-sec/Pwdb-Public/tree/master/wordlists
https://github.com/MusicGivesMeLife/BiblePass

Słowniki językowe:

https://github.com/eyaler/hebrew_wordlists
https://github.com/utkusen/turkce-wordlist
https://github.com/napolux/paroleitaliane
https://github.com/richiemann/vietnam-password-lists
https://github.com/webpwnized/byepass/tree/master/dictionaries
https://github.com/ignis-sec/Pwdb-Public/tree/master/wordlists/language-specifics


Warto również tworzyć własne słowniki, szczególnie jeśli mamy do czynienia z hasłami w innych językach niż angielski. O tworzeniu własnych wordlistów opowiemy w osobnym poście, bo to temat kluczowy.

A co, jeśli atak słownikowy zawiedzie? Wtedy zaczynamy manipulować słownikiem przy użyciu reguł (rules) — każda reguła w określony sposób modyfikuje kandydatów. Temat reguł omówimy w kolejnym wpisie.

Poprzedni post Następny post