[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Проверка сложнойсти паролей.



On 2015-12-01, Oleksandr Gavenko wrote:

> Собственно я чего то подобное искал - высчитывание энтропии на овновании
> разумных допущений + там рекомендации сколько бит для каких нужд.

В общем энтропия - энтропией, но теория без практики - пустое место.

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

У меня Spring Security, в настройках md5 без соли. На известный пароль:

  $ printf PASSWROD | md5sum -

дало hex идентичный лежащему в базе.

Так вышло что одна запись была словарной и сайт:

  http://www.md5decrypter.com/

быстро выдал ответ. Но другие не вошли в список 10000 часто используемых
паролей ))

Мне нужны 2 вещи - генератор слов по заданным правилам и чекер md5. Что бы не
велосипедить - поискал готовые продукты:

  http://hashcat.net/hashcat/

Оно паралельно по заданным правилам строит обфусцированые пароли и сравнивает
со списком. Подробне:

  http://hashcat.net/wiki/doku.php?id=hashcat

В итоге расколол 4 из 9 паролей, один в словаре:

  $ ./hashcat-cli64.bin -m 0 -a 1 -r ./rules/best64.rule pass.txt /usr/share/dict/cracklib-small

3 в классе символов цифр до 10 шт. длиной:

  $ ./hashcat-cli64.bin -m 0 -a 3 --increment -o pass.out pass.txt ?d?d?d?d?d?d?d?d?d?d

На 4 ядрах первое с 1 MiB словарем паролй отработало за десяток секунд, второе
10 минут.

Хотя о цифрах я получил представление перебирая все символы до 6 штук длиной:

  $ ./hashcat-cli64.bin -m 0 -a 3 --increment -o pass.out pass.txt ?a?a?a?a?a?a

На процессоре выполнять эти работы глупо. Есть GPU версия:

  http://hashcat.net/oclhashcat/

Я не знаю какие еще есть нормальные утилиты востановления пароля. Вычитывал о
John the Ripper - но показалось чем то древним и заброшеным.

================================================================

Когда посмотрел на практику вскрытия паролей, лучше начал понимать требования
по сложности.

Всегда нужно использовать наиболее широкий класс символов. 10 цифр вскрываются
не успев попить чай. Аналогично 6 шт alphanum+punct.

Дефолтные 8 символов от pwgen не стойки для пасивной атаки. Для логина
пользователя - норм с временной задержкой или блокировкой после 10 неудач, но
если украдут /etc/shadow - беда. И стремно если сервис доступен онлайн для
перебора без аудита или временных блокировок.

Человеко-придуманые короткие пароли тоже зло. Я пробовал:

  $ ./hashcat-cli64.bin -m 0 -a 1 -r ./rules/best64.rule pass.txt /usr/share/dict/cracklib-small

(конкатенация 2 слов из словара с 64 стандартными модификациями) - программа
предположила возможное время 3 часа.

Потому пароли из 3 слов - стремные даже с "хитростями" для пасивного перебора.
xkcd#936 право на счет выбраных наугад 4 слов.

-- 
Best regards!


Reply to: