В релизе 5.0.0 программы hashcat для подбора паролей по более чем 220 типам хешей (с использованием возможностей видеокарт) разработчик представил множество улучшений (список под катом) и 2 важных новведения - hashcat brain и slow candidates:
slow candidates - новый шаблон паролей, оптимизированый на продвинутые генераторы словарей и новые поколения движков генераторов паролей (table attack, kwprocessor, OMEN, PassGAN, PCFG, princeprocessor). На данный момент это используется для прямой атаки (включая движок учета правил), комбинированной атаки, атаке по маске (брутфорс с оптимизацией Маркова), включается ключем -S/--slow-candidates. Особенно полезным это будет в случае необходимости атаки большого списка быстро рассчитываемых хешей с большим выбором соли, или для медленно расчитываемых хешей с заданным правилом сужающим выборку кандидатов-паролей.
hashcat brain - новый инструмент для одиночной и коллективной работы с зашифрованными паролями, включающий такие понятия как долгосрочная и краткосрочная память (база данных), по аналогии с принципами хранения краткосрочной и долгосрочной информации в мозгу человека. Для кандидатов-паролей программа будет расчитывать быстрый хэш xxHash и сверять его с долгосрочной и краткосрочной памятью, по результатам перебора программа будет перемещать кандидатов из долгосрочной в краткосрочную память. Для организации работы используется клиент-серверный принцип, что позволяет использовать её коллективнно при совместной работе (при локальном использовании требует параллельной работы 2 приложений).
Пример использования сетевых возможностей - для атаки долго-рассчитываемых хешей несколькими участниками использующих разные алгоритмы генерации кандидатов-паролей эта структура позволит снизить число необходимых запусков расчета хеша для повторяющихся кандидатов (полученных генерацией разными алгоритмами). Пример пользы при локальном использовании - программа запоминает отработанные пароли, упрощает учет повторов при локальных атаках разными алгоритами (при этом не требует от администратора дополнительных действий для учета). При любом использовании, за счет наличия двух типов памяти программа автоматически делает учет умнее чем любой ручной учет работы, что особенно удобно при наличии знаний о правилах позволящих сузить поиск пароля или, наоборот, при использовании генераторов словарей (выдающих множество повторов).
Примеры и данные о ресурсоемкости интеллектуальной функции (отключаемой через ENABLE_BRAIN=0) - в анонсе (по ссылке).
Список изменений - поддержка новых алгоритмов:
- hash-mode 17300 = SHA3-224
- hash-mode 17400 = SHA3-256
- hash-mode 17500 = SHA3-384
- hash-mode 17600 = SHA3-512
- hash-mode 17700 = Keccak-224
- hash-mode 17800 = Keccak-256
- hash-mode 17900 = Keccak-384
- hash-mode 18000 = Keccak-512
- hash-mode 18100 = TOTP (HMAC-SHA1)
- удален hash-mode 5000 = SHA-3 (Keccak)
Список изменений - улучшения:
- Дополнительное правило для гибридной passthrough атаки, поддерживающее суффиксы и префиксы (соль) переменной длинны
- Периодическая проверка на ошибки таймаут в режиме потоков (stdin, pipe)
- Отслеживани соли, итераций и amplifier в статусном экране
- Опция --markov-hcstat2 для использования нового формата hcstat2 (сжатый вывод hcstat2gen)
- Поддержка мастер ключей bitcoin более 96 байт (должны быть кратны 16)
- Допуск хеш файлов для -m 16800 при использовании -m 16801
- Допуск итераций более 999999 для keepass
- Скоректирован выбор разделителей для алгоритмов, использующих двоеточие в своей структуре
- Не выделять память для сегментов таблиц bitmap, если это не нужно (например в режиме benchmark)
- Избавление от OPTS_TYPE_HASH_COPY для Ansible Vault
- Улучшена скорость вывода в файл во время сканирования хешей и соли
- Увеличен максимальный размер edata2 для Kerberos 5 TGS-REP etype 23
- Более строгий парсер маски, требующий двойной "??" вместо одинарного "?" в конце маски
- Учет --quiet и вывод результатов в статусном окне при зайдествовании ключа --status
- Удаление повторных слов в словаре example.dict
- Обновление функции проверки версии Intel OpenCL
- Доработки для обхода некоторых ошибок AMD OpenCL
>>> Подробности