---
title: "Wstęp do łamania haseł #2 Słowniki"
url: "https://unshade.pl/blog/wstep-do-lamania-hasel-slowniki"
lang: "pl"
date: "10.11.2022"
author: "Unshade"
---

# Wstęp do łamania haseł #2 Słowniki

*Opublikowano: 10.11.2022*

_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](/_emdash/api/media/file/01M5A26DJVS4R3YSMD0ZVE3G2Z.png)

## 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](/_emdash/api/media/file/01M5A26E0Y9BWQX84PY58QMW8B.png)

## 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](http://www.gutenberg.org/). Uwzględnia także hasła z mniej znanych wycieków, które lata temu były sprzedawane w podziemiu.

![Example image](/_emdash/api/media/file/01M5A26ECNZFE033S0WZMASGZ1.png)

[CrackStation Dictionary](https://crackstation.net/crackstation-wordlist-password-cracking-dictionary.htm)

## 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](https://wiki.skullsecurity.org/index.php/Passwords)

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

![Example image](/_emdash/api/media/file/01M5A26EQTR3NBFQ3GXF7MS4GG.png)

[SkullSecurity Dictionary](https://weakpass.com/wordlist/671)

## 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](/_emdash/api/media/file/01M5A26F48FEP49GW3NNW9ADKE.png)

## 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**](https://www.slideshare.net/DefconRussia/weakpass-defcon-russia-23)

![Example image](/_emdash/api/media/file/01M5A26FJZYN73DNPG4PYCQR4X.webp)

[Defcon-23-Russia](https://www.slideshare.net/DefconRussia/weakpass-defcon-russia-23)

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

![Example image](/_emdash/api/media/file/01M5A26FWVKRE6B8MXBRQPKPXH.png)

[Weakpass](https://weakpass.com/)

## 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](/_emdash/api/media/file/01M5A26GDJXEA7FR6FXG4RZ7T2.png)

[Weakpass All-in-one](https://weakpass.com/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.
