Андрей Смирнов
Время чтения: ~18 мин.
Просмотров: 0

Словари для атак

wordlistctl: large database of dictionaries [Dictionary Collection]

wordlistctl is a program that contains a large database of dictionaries. In fact, it is this database that is of interest, dictionaries can be downloaded directly, without this program – I will give links to the databases below, they are in JSON format, that is, quite readable.

wordlistctl is created by blackarch.org developers, web site: https://github.com/BlackArch/wordlistctl

How to install wordlistctl

Installing wordlistctl on Kali Linux:

sudo apt install python3-pip python3-libtorrent python3-coloredlogs
git clone https://github.com/BlackArch/wordlistctl
cd wordlistctl

Open the requirements.txt file

gedit requirements.txt

And remove the line from there

libtorrent

Then continue:

sudo pip3 install -r requirements.txt
python3 ./wordlistctl.py

In BlackArch, this program is in the standard repository – install directly from there.

sudo pacman -S wordlistctl

How to use wordlistctl

All dictionaries are divided into 5 categories:

  • username
  • password
  • hostname
  • filename
  • misc = other

To show all dictionaries, for example, in the password category:

wordlistctl -F password

With the -S option, you can search by dictionary names, for example, search for ‘rus’:

wordlistctl -S rus

--====--

 searching for rus in urls.json

 wordlist russian_users found: id=842
 wordlist rus_surnames_date099_fin found: id=1022
 wordlist rus_surnames_first_letter found: id=1046
 wordlist rus_surnames_fin found: id=1094
 wordlist rus_surnames_date19002020_fin found: id=1104
 wordlist rus_names_date099_fin found: id=1163
 wordlist rus_names_translit found: id=1185
 wordlist rus_cities_translit found: id=1206
 wordlist rus_names_date19002020_fin found: id=1209
 wordlist rus_eng found: id=1245
 wordlist rus_names_fin found: id=1278
 wordlist rus_mat found: id=1316
 wordlist rus_latin found: id=1323
 wordlist rus_names_kb_chage found: id=1324
 wordlist rus_cities_kbchange found: id=1401
 wordlist rus-mini found: id=1705
 wordlist russian found: id=1710
 wordlist russian2 found: id=1711
 wordlist russian_31799 found: id=1712
 wordlist russian_name found: id=1713
 wordlist russkie-maty found: id=1714
 wordlist rus_months_en found: id=1768
 wordlist rus_months_translit found: id=1769

To download dictionaries, create a wordlists folder in the current directory:

mkdir wordlists

And download to this folder (-d wordlists) a dictionary that has the identifier 1714 (-f 1714), unpack it and delete the original archive (-Xr):

wordlistctl -f 1714 -d wordlists -Xr

WordCounter

WordCounter is yet another free and portable wordlist generator for Windows. It is slightly different from other listed software. It doesn’t create a random wordlist, instead it collects words from a given link and creates respective wordlist. For this, just specify the URL, minimum word length, maximum word length, and type of words (anything, mixed case, lower case, upper case, alphanumeric). It will then fetch results and save as the specified file.

You can sort and filter the created wordlist using its Tool > Sort a wordlist option. This will sort the words and remove duplicate words from generated wordlist. You can also change case of a wordlist file.

PWGen

PWGen is a free open source wordlist generator for Windows. It is basically a password generator which is used to generate strong passwords in bulk. To generate a wordlist, you can use either or both of Include characters (passwords) and Include words (passphrases) options. Let’s see how you can generate wordlist using these options:

  • While using Include characters option, you can mention word length and character set. For character set, you can choose uppercase and/or lowercase character set i.e. <AZ> and/or <az>. After that, enter number of words to be generated in Multiple Passwords field and click on Generate button.
  • If you are using Include words option, specify number as 1, word list file as default, and specify word length. Now, in Multiple Passwords field, enter number of words and hit the Generate button. You can also generate a wordlist from an existing file. For that, provide the file path in Word list file field. You can also combine words with characters by enabling respective checkbox.

Using its Advanced button, you can customize few more settings to generate wordlists or passwords. These settings options are exclude ambiguous characters, include special symbols, exclude duplicate entries, each word must occur only once, maximum length of word in wordlists, etc.

It displays generated wordlist in a separate window. As it is a password generator, it also displays security of created passwords. To save a wordlist, click on button present next to Generate button.

PWGen is a nice alternative to a wordlist generator software. Using it, you can create strong random passwords and also generate passwords from a master password.

Brief

Other than a mass of download links, this post also contains pretty pictures and confusing numbers which shows the break down of statistics regarding 17 wordlists. These wordlists, which the original source(s) can be found online, have been ‘analysed’, ‘cleaned’ and then ‘sorted’, for example:

  • Merged each ‘collection’ into one file (minus the ‘readmes’ files)
  • Removed leading & trailing spaces & tabs
  • Converted all ‘new lines’ to ‘Unix’ format
  • Removed non-printable characters
  • Removed HTML tags (Complete and common incomplete tags)
  • Removed (common domains) email addresses
  • Removed duplicate entries
  • How much would be used if they were for ‘cracking WPA’ (Between 8-63 characters)

It may not sound a lot — but after the process, the size of most wordlists are considerably smaller!

SecureSafe Pro Password Generator

SecureSafe Pro Password Generator, as the name suggests, is a free password generator for Windows. It can generate passwords with specified parameters and also displays passwords’ strength. You can also use it as a wordlist generator.

How to generate a wordlist using this free password generator:

  • First, you need to disable Numbers and Dubious Symbols checkboxes and enable English Uppercase and/or English Lowercase parameters.
  • Now, specify length of words to be created as per your requirement.
  • You can also mention the number of words to be generated.
  • It lets you enable Pronouncing option to add vowels to generated words for better password pronouncing.
  • After configuring all above options as per your requirement, hit the Generate button.

All generated words are displayed on its main interface. There are two view modes to see the generated words: Compact and Detailed. In Compact mode, you can simply view all created words. While in Detailed mode, as it is primarily a password generator, it displays strength, entropy, character set, and length of created words. You can copy words to the clipboard or save the created wordlist as a text file.

It is one of the best wordlist generator and password generator in this list. Plus, it is extremely easy to use with a simplistic GUI.

Create a Custom Word List File

A custom word list file from miscellaneous sources can be assembled with the binary, or the utility in the wordlist repo.

From the package:

npx wordlist-gen --sources <path1 path2 ...> 

From the wordlist repo:

git clone git@github.com:neopass/wordlist.git
cd wordlist
node bin/word-gen --sources <path1 path2 ...> 

First, set up a directory of book and/or word list files, for example:

The structure doesn’t really matter. The format should be text, and can consist of one or more words per line. is optional.

npx wordlist-gen --sources data/books data/lists data/scowl --out my-words.txt

can specify multiple files and/or directories.

Note: only words consisting of letters are added, and they’re all lower-cased.

Exclusions

Words can be scrubbed by specifying :

node bin/word-gen <...> --exclude data/exclusions

Much like the sources, exclusions can consist of multiple files and/or directories in the following format:

# Exclude whole words (case insensitive):
spoon
fork
Tongs

# Exclude patterns (as regular expressions):
/^fudge/i   # words starting with 'fudge'
/crikey/i   # words containing 'crikey'
/shazam$/   # words ending in lowercase 'shazam'
/^BLASTED$/ # exact match for uppercase 'blasted'

Using the Custom List

Use or to create an absolute path to your custom word list file:

const path = require('path')
const { wordList } = require('@neopass/wordlist')

const options = {
  paths: 
    // Use a path relative to the location of this module.
    path.resolve(__dirname, '../my-words.txt')
  
}

wordList(options)
  .then(list => console.log(list.length)) // 124030

Утёкшие пароли

Утёкшие или украденные с сайтов пароли. Из списков намеренно удалены имена / почтовые адреса и т.д.

Лучшее их применение – это генерация или тестирования списков словарей.

Примечание: Даты приблизительные.

Имя Название файла / ссылка на скачивание Дата Примечание
Rockyou rockyou.txt.bz2 (60,498,886 bytes) 2009-12 Лучший из доступных списков; огромный, украдены в незашифрованном виде
Rockyou со счётчиком rockyou-withcount.txt.bz2 (59,500,255 bytes)
phpbb phpbb.txt.bz2 (868,606 bytes) 2009-01 Отсортированы по частоте использования
Взломаны Brandon Enright из md5 
(покрытие 97%+)
phpbb со счётчиком phpbb-withcount.txt.bz2 (872,867 bytes)
phpbb с md5 phpbb-withmd5.txt.bz2 (4,117,887 bytes)
MySpace myspace.txt.bz2 (175,970 bytes) 2006-10 Получены фишингом
MySpace — со счётчиком myspace-withcount.txt.bz2 (179,929 bytes)
Hotmail hotmail.txt.bz2 (47,195 bytes) Неизвестно Не до конца понятно, как они были украдены
Hotmail со счётчиком hotmail-withcount.txt.bz2 (47,975 bytes)
Faithwriters faithwriters.txt.bz2 (39,327 bytes) 2009-03 Религиозные пароли
Faithwriters — со счётчиком faithwriters-withcount.txt.bz2 (40,233 bytes)
Elitehacker elitehacker.txt.bz2 (3,690 bytes) 2009-07 Часть из zf05.txt
Elitehacker — со счётчиком elitehacker-withcount.txt.bz2 (3,846 bytes)
Hak5 hak5.txt.bz2 (16,490 bytes) 2009-07 Часть из zf05.txt
Hak5 — со счётчиком hak5-withcount.txt.bz2 (16,947 bytes)
Älypää alypaa.txt.bz2 (5,178 bytes) 2010-03 Финские пароли
alypaa — со счётчиком alypaa-withcount.txt.bz2 (6,013 bytes)
Facebook (Pastebay)  (375 bytes) 2010-04 Найдены на Pastebay;
судя по всему, украдены зловредным ПО.
Facebook (Pastebay) — со счётчиком  (407 bytes)
Unknown porn site porn-unknown.txt.bz2 (30,600 bytes) 2010-08 Найдены на angelfire.com. Неизвестно, откуда они, но определённо с порно сайта.
Unknown porn site — со счётчиком porn-unknown-withcount.txt.bz2 (31,899 bytes)
Ultimate Strip Club List tuscl.txt.bz2 (176,291 bytes) 2010-09 Спасибо Mark Baggett за находку!
Ultimate Strip Club List — со счётчиком tuscl-withcount.txt.bz2 (182,441 bytes)
 (14,457 bytes) 2010-09 Спасибо Andrew Orr за наводку
Facebook Phished — со счётчиком  (14,941 bytes)
Carders.cc carders.cc.txt.bz2 (8,936 bytes) 2010-05  
Carders.cc — со счётчиком carders.cc-withcount.txt.bz2 (9,774 bytes)
Singles.org singles.org.txt.bz2 (50,697 bytes) 2010-10  
Singles.org — со счётчиком singles.org-withcount.txt.bz2 (52,884 bytes)
Unnamed financial site (reserved) 2010-12  
Unnamed financial site — со счётчиком (reserved)
Gawker (reserved) 2010-12  
Gawker — со счётчиком (reserved)
Free-Hack.com (reserved) 2010-12  
Free-Hack.com со счётчиком (reserved)
Carders.cc (second time hacked) (reserved) 2010-12  
Carders.cc со счётчиком (second time hacked) (reserved)

Commands

The commands used were:

AIO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

If you’re wanting to try this all out for your self, you can find some more wordlists here:

  • http://www.skullsecurity.org/wiki/index.php/Passwords
  • http://trac.kismac-ng.org/wiki/wordlists
  • http://hashcrack.blogspot.com/p/wordlist-downloads_29.html
  • http://packetstormsecurity.org/Crackers/wordlists/
  • http://0x80.org/wordlist/
  • http://dictionary-thesaurus.com/wordlists.html
  • http://www.outpost9.com/files/WordLists.html
  • http://www.openwall.com/passwords/wordlists/
  • http://dictionary-thesaurus.com/Wordlists.html
  • & http://blog.sebastien.raveau.name/2009/03/cracking-passwords-with-wikipedia.html
  • http://www.isdpodcast.com/resources/62k-common-passwords/

Method

Before getting the the results, each wordlist has been sorted differently rather than ‘case sensitive A-Z’.

Each wordlist was:

  • Split into two parts — ‘Single or two words’ and ‘multiple spaces’.
  • Sorted by the amount of times the word was duplicated — Therefore higher up the list, the more common the word is.
  • Sorted again by ‘in-case sensitive A-Z’.
  • Joined back together — Single or two words at the start.

The reason for splitting into two parts was that ‘most’ passwords are either one or two words (containing one space in them). Words which have multiple spaces are mainly due to ‘mistakes’ with when/how the wordlists was created. So having them lower down, should increases the speed the password is discovered, without losing any possibility.

The justification of sorting by duplicated amount was the more common the word is, the higher the chance the word would be used! If you don’t like this method, you can sort it yourself back to case sensitive A-Z, however it can’t be sorted how it was — due to the lists not having (hopefully) any duplicates in them!

  • :password1
  • :password1
  • :password2

Download links for each collection which has been ‘cleaned’ is in the table below along with the results found and graphs. ’17-in-1′ is the combination of the results produced from each of the 17 collections. The extra addition afterwords (18-in-1), is a mixture of random wordlists (Languages (AIO), Random & WPA/WPA2) which I have accumulated. You can view & download them here (along with all the others!). ’18-in-1 ‘, is a ‘smaller’ version of 18-in-1, with JUST words between 8-63 characters.

Results

Graph 5 — Percentage of words between 8-63 characters (WPA)

Red means it is MEANT for WPA

A few notes about the results:

  • In the tables — ‘Purehates’ wordlist is corrupt and towards the end, it contains ‘rubbish’ (non-printable characters). Which is why it is highlighted red, as it isn’t complete. I was unable to find the original.
  • Table 3 which summarizes the results — shows that 57% of the 17 collections are unique. Therefore 43% of it would be wasted due to duplication if it was tested — that’s a large amount of extra un-needed attempts!
  • In graph 2 — Only one collection was 100% ‘unique’, which means most of the collections sizes have been reduced.
  • In graph 5 — which is for showing how effective it would be towards cracking WPA. The four wordlists which were ‘meant’ for WPA, are in red.

In a few of the ‘readme’ file (which wasn’t included when merging), several of them claimed to of have duplicates removed. However, unless the list is sorted, the bash program ‘uniq’, wouldn’t remove the duplicates. By piping the output of , should then remove the duplicates. However, using sort takes time, and with a bit of ‘awk fu’, , removes the need to sort.

For example:

Value uniq sort / uniq or awk ‘!x++’
word1,word2,word2,word3 word1,word2,word3 word1,word2,word3
word1,word2,word2,word3,word1 word1,word2,word3,word1 word1,word2,word3
word1,word2,word1,word1,word2,word3,word1 word1,word2,word1,word2,word3,word1 word1,word2,word3

Примеры использования Mentalist

1.

Предположим, нам нужно создать словарь на основе существующего списка слов, в котором после слова идёт от 2 до 4 цифр и в котором все буквы «a» заменены на «@», а буквы «s» заменены на «$».

Запускаем программу:

mentalist

Обратите внимание, что по умолчанию уже выбран список английских слов. Удаляем его для этого нажимаем на знак «-».

Затем нажимаем знак «+» рядом с «Base Word», выбираем «Custom File…» и указываем желаемый для изменения словарь.

Затем нажимаем на знак «+» в правом верхнем углу и выбираем «Append».

Затем нажимаем знак «+» рядом с «Append», затем выбираем «Numbers» и затем «User Defined…». Устанавливаем нужные нам параметры добавляемых цифр.

Затем нажимаем на знак «+» в правом верхнем углу и выбираем «Substitution».

Затем нажимаем знак «+» рядом с «Substitution», затем выбираем «Replace All Instances…» и затем «User Defined…», ставим нужные галочки и переключаем на «All at Once».

Обратите внимание, что если вместо All at Once выбрать One at a Time, то будет делаться замена сначала первого символа и затем это слово будет отправляться далее по конвейеру, затем будет делаться замена во втором символе и слово вновь будет отправлено далее по конвейеру. То есть опция One at a Time увеличивает количество новых слов кратно — в соответствии с количеством замен.. Для сохранения нового словаря нажимаем Process, затем выбираем Full Wordlist.

Для сохранения нового словаря нажимаем Process, затем выбираем Full Wordlist.

2.

Допустим, теперь нам нужно создать словарь на основе женских имён, в которых буквы «a» заменены на символ «@». Причём нужно, чтобы были сохранены как оригинальные имена, так и с заменой символов. Затем после имени идёт тире. Затем вставляется дата в формате ДДММГГГГ.

Запускаем программу:

mentalist

Обратите внимание, что по умолчанию уже выбран список английских слов. Удаляем его для этого нажимаем на знак «-».. Затем нажимаем знак «+» рядом с «Base Word», выбираем «Common Names», затем «Women».

Затем нажимаем знак «+» рядом с «Base Word», выбираем «Common Names», затем «Women».

Затем нажимаем на знак «+» в правом верхнем углу и выбираем «No Substitution…».

Вновь нажимаем знак «+» рядом с «Substitution», затем выбираем «Replace All Instances…» и затем «User Defined…», ставим нужные галочки и переключаем на «All at Once».

Затем нажимаем на знак «+» в правом верхнем углу и выбираем «Append».

Затем нажимаем знак «+» рядом с «Append», затем выбираем «Special Characters…» и ставим галочку напротив символа «-»:

Теперь вновь нажимаем знак «+» рядом с «Append», затем выбираем «Numbers» и затем «Dates…». Устанавливаем желаемый диапазон и формат:

Получаем следующий результат, обратите внимание на примерное количество слов в новом словаре и размер словаря в мегабайтах:

Для сохранения нового словаря нажимаем Process, затем выбираем Full Wordlist.

Как использовать Mentalist

Для понимания работы Mentalist, необходимо рассмотреть основные концепции программы.

Цепь

Mentalist генерирует списки слов, связывая вместе узлы, которые образуют цепочку. Первый узел в цепочке всегда является узлом Base Words (базовые слова). Когда цепочка обрабатывается, каждое базовое слово переходит к следующему узлу в цепочке, который может изменить слово, оставить его прежним или создать больше его вариантов. Наконец, результаты записываются в выходной файл в виде полного списка слов или правил для создания эквивалентного списка.

Узлы

Есть 5 типов узлов. Каждый тип имеет свой собственный набор атрибутов, который может быть добавлен в любой комбинации. Атрибуты узла определяют его функцию. Кроме того, атрибуты в одном и том же узле являются взаимоисключающими друг от друга.

Некоторые узлы могут создавать более одного выходного слова для каждого входного слова. В таких случаях только набор уникальных выходных слов для базового слова передаётся следующему узлу. Другими словами, каждый узел выполняет дедупликацию для каждого базового слова.

Тип Описание
Base Word (Базовые слова) Всегда первый узел в цепочке Mentalist’а. Он предоставляет начальные слова, которые должны обрабатываться каждым узлом при прохождении по цепочке.
Case (Регистр) Изменяет регистр букв в слове. Каждый атрибут, добавленный к узлу Case, производит различную вариацию входного слова, за исключением атрибута No Case Change, который пропускает исходное слово без изменений.
Substitution (Замена) Заменяет символы в слове. Как и в случае с регистром, каждый атрибут, добавленный к узлу замещения, создаёт другое выходное слово, которое подлежит дедупликации. Атрибут No Substitution даёт неизмененное входное слово.
Append (Добавить) Узлы Append добавляют строки в конец входного слова. Большинство атрибутов Append создают много вариантов входного слова. Например, атрибут Numbers: Small (0-100) добавляет 101 выходное слово для каждого входного слова.
Prepend (Предварить) Узлы Prepend добавляют строки в начало входного слова. Его атрибуты и функциональность в остальном идентичны «Append».

Атрибуты

Каждый узел имеет возможность выполнять одно или несколько действий над входными словами. Эти действия указаны в атрибутах каждого узла. Атрибуты в пределах одного и того же узла взаимно исключают друг друга, и, как следствие, узел не может иметь повторяющихся атрибутов.

Directories In This Repository

Files sorted by popularity will include in the filename

Real-Passwords

These are REAL passwords.

Some files contain entries between 8-40 characters. These can be found in the Real-Passwords/WPA-Length directory.

Dictionary-Style Lists

Files including dictionaries, encyclopedic lists and miscellaneous. Wordlists in this folder were not necessarily associated with the «password» label.

Some technically useful lists, such as common usernames, tlds, directories, etc. are included.

Analysis Files

Files useful for password recovery and analysis. Includes HashCat Rules and Character Masks.

These files were generated using the PACK project.

Disclaimer and License

  • These lists are for LAWFUL, ETHICAL AND EDUCATIONAL PURPOSES ONLY.
  • The files contained in this repository are released «as is» without warranty, support, or guarantee of effectiveness.
  • However, I am open to hearing about any issues found within these files and will be actively maintaining this repository for the foreseeable future. If you find anything noteworthy, let me know and I’ll see what I can do about it.

The author did not steal, phish, deceive or hack in any way to get hold of these passwords.
All lines in these files were obtained through freely available means.

The author’s intent for this project is to provide information on insecure passwords in order to increase overall password security. The lists will show you what passwords are the most common, what patterns are the most common, and what you should avoid when creating your own passwords.

Словари DirBuster

DirBuster — это многопотоковое Java приложение, предназначенное для брутфорса имён директорий и файлов веб-приложений и веб-серверов. DirBuster пытается найти скрытые каталоги и файлы.

В Kali Linux словари располагаются в директории /usr/share/wordlists/dirbuster/. В BlackArch словари располагаются в директории /usr/share/dirbuster/.

Описание словарей, поставляемых с программой DirBuster

  • directory-list-2.3-small.txt — (87650 слов) — Директории/файлы которые были найдены как минимум на трёх разных хостах
  • directory-list-2.3-medium.txt — (220546 слов) — Директории/файлы которые были найдены как минимум на двух разных хостах
  • directory-list-2.3-big.txt — (1273819 слов) — Все директории/файлы которые были найдены
  • directory-list-lowercase-2.3-small.txt — (81629 слов) — Версия не чувствительная к регистру для directory-list-2.3-small.txt
  • directory-list-lowercase-2.3-medium.txt — (207629 слов) — Версия не чувствительная к регистру для directory-list-2.3-medium.txt
  • directory-list-lowercase-2.3-big.txt — (1185240 слов) — Версия не чувствительная к регистру для directory-list-2.3-big.txt
  • directory-list-1.0.txt — (141694 слов) — Оригинальный список без изменения порядка
  • apache-user-enum-1.0.txt — (8916 имён пользователей) — Используется для предположения имён пользователей apache на котором включён модуль userdir, основывается на набранных именах пользователей (неупорядоченный)
  • apache-user-enum-2.0.txt — (10341 имён пользователей) — Используется для предположения имён пользователей apache на котором включён модуль userdir, основывается на ~XXXXX найденном во время генерации списка (упорядоченный)
Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации