Решил тут навести порядок со своими словарями, а получилось доделать то что начал еще год назад(ну или больше, не помню).
Короче идея состоит в том чтобы сделать словарь минимальный по объему и максимально пробивной.
Логично предположить что если пароль простой значит с большой вероятностью его уже использовали когда-нибудь и не один человек, а несколько.
Медот фильтрации таких паролей тот что и прежде- берем датабазу, удаляем логины и сортируем пароли по популярности.
В линуксе(sed 's/\.//g;s/\(.*\)/\L\1/;s/\ /\n/g' inputFile.txt | sort | uniq -c) или в ULM на винде, не важно.
Код:
1137715 123456
733898 asdasd
484811 123456789
437998 asdasd123
419514 000000
418827 qwerty
318791 123321
313270 666666
307469 1234567890
300547 123123
291199 12345678
284529 7777777
284275 555555
282360 654321
270278 111111
За основу был взят нашумевший недавно "Breach Compilation", тот который содержит пароли от 1.4 млрд. аккаунтов.
Но анализ самых популярных паролей показал обилие бреда в видде несвойственных нашему человеку слов и имен:
Код:
62147 maggie
62068 freedom
62066 william
62005 chelsea
61151 samantha
Поэтому я взял русские датабазы в приоритет- vk, rambler,mail.ru, yandex. Вместе почти 2 млн. аккаунтов.
Первые два словаря- базы рунета(условная нумерация от меншего к большему). В первом пароли встечающиея не менее 8 раз.
Второй файл- все остальные слова которые встречаються минимум 3 раза. Все что меньше трёх не интересно.
Третий и четвертый файл то же но из бызы "Breach Compilation". Словарь 3 и 4 почищен от строк встечающихся в 1 и 2. Удалены все строки короче 8-ми символов, очищено от неанглийских слов, и обработано программой MoDic(пункт 1-4) Последовательность строк не нарушена.
Эффективность проверил с помощью паролей из базы 3wifi(3927579 паролей, но толко уникальные):
1 словарь(5.7mb)- 2.61% найденных
2 30mb- 2.80%
3 45mb- 1.53%
4 230mb- 2.02%
Всего 311mb и 7.95% отгаданых паролей(312403 из 3927579)
Добавляем к этому 8-ми знак 11.70% - 422948/3615176
Вместе 18% 735351/3927579
Продолжим дальше:
9 znak - 3.20% 102241/3192228
10 znak(в основном телефонные номера конечно же) - 19.98% 432076/3089987
breach полный 5.71% 151875/2657911
Вместе 1421543/3927579 36%! И это не учитывая около 30% удаленных дублей в словаре 3 wifi.
Интересно что если иcпользовать после 8-ми знака 1,2 и 3 словарь с правилом hob064, то результаты вообще не очень как-то:
0.7 % 24854/3192228
1.61% 51023/3167374
0.3% 9204/3116351
Даже если использвать и те строки которые короче 8-ми символов, то особо нечего не изменится.
Если использавать сначала ввесь словарь breach compilation(около 4gb) получим 13.59% 533708/3927579 + 8 znak- 365087/3393871 10.76% 898795/3927579 - 22.8% вместе.
К сожалению словарь от fire-dance с databases.today проверить не удалось так как туда попала база 3wifi. Можно было бы собрать все заново, но похоже сайт закрыли.
http://rgho.st/6lzRGnThq
http://rgho.st/7Xhmkz6nM