Аудит паролей John the Ripper на своих хэшах

0
7
Обложка статьи: Аудит паролей John the Ripper на своих хэшах

Парольная политика (длина, правила для администраторов и сервисных учёток) задаёт требования на бумаге. Офлайн-аудит проверяет, что реально происходит: сколько паролей в вашей системе подбираются за разумное время по словарю. John the Ripper делает это без доступа к живым системам и без попыток входа — только расчёт по экспортированным хэшам. Проверка выполняется исключительно на собственных хэшах по письменному согласованию с руководством; подбор чужих паролей — уголовно наказуемое деяние независимо от мотива.

Статья опирается на логику направления «Тесты на проникновение» из методики зрелости Группы Сбер (источник); это методика для крупных компаний, мы используем её как ориентир и пересказываем своими словами. Проверка выполнена на тестовых хэшах в контейнере, после неё всё удалено.

Что должно получиться

Уровень Что это значит на практике
2. Гигиенический Стойкость паролей проверяется офлайн-аудитом с согласия руководства, а не предполагается по тексту парольной политики

Критерии сформулированы нами по мотивам методики, это ориентир, а не оценка соответствия.

Авторизация перед началом

Прежде чем экспортировать хоть один хэш, получите письменное согласие руководства или зафиксированное решение в рамках уже согласованного пентеста. Оповестите, что проверка идёт офлайн и не включает попытки входа в систему под чужими учётными данными. Определите заранее, кто увидит список подобранных паролей (минимально — ответственный за ИБ) и что произойдёт с сотрудниками, чей пароль подобрался (принудительная смена пароля и напоминание о правилах, не дисциплинарное взыскание за сам факт — иначе следующая проверка не найдёт добровольных участников).

Экспорт хэшей

Для Linux нужны только хэши, не весь /etc/shadow целиком, и только обычные учётные записи:

sudo awk -F: '$3 >= 1000 && $2 !~ /^[!*]/ {print $1":"$2}' /etc/shadow > hashes.txt

Условие $3 >= 1000 отсекает системные учётные записи, а проверка на ! и * в начале хэша — заблокированные и без пароля. Файл с хэшами — такая же чувствительная информация, как сами пароли: храните на отдельном защищённом носителе и удаляйте после анализа, не оставляйте в домашнем каталоге.

Подбор по словарю

john --format=crypt --wordlist=rockyou.txt hashes.txt
john --show hashes.txt

Словарь rockyou.txt (общедоступный список реально утёкших паролей) — стандартная отправная точка: если пароль сотрудника совпадает с чем-то из многократно утёкших баз, его переберёт любой злоумышленник за секунды. Режим --format=crypt подходит для стандартных хэшей Linux (SHA-512 в /etc/shadow); для Active Directory экспорт и формат другие (NTLM-хэши через secretsdump из официально согласованного инструментария пентеста, не рассматриваем здесь).

Результат проверки

На двух тестовых хэшах — пароль testweak и пароль Str0ng-Xk9#mPq2vL — с небольшим словарём из пяти распространённых паролей:

Пароль Результат Время
testweak Подобран Меньше секунды
Str0ng-Xk9#mPq2vL Не подобран этим словарём —

На реальном аудите используйте словарь на миллионы записей (rockyou.txt — 14 миллионов строк) и добавляйте правила преобразования (--rules, которые пробуют типовые замены: заглавная первая буква, цифра в конце, замена «о» на «0»). Пароль, не подобранный маленьким словарём в демонстрации, не гарантированно устоит против полного словаря с правилами — показатель здесь не «стойкий / нестойкий» абсолютно, а «не входит в список самых распространённых комбинаций».

Порядок внедрения

  1. Получите письменное согласие руководства на проверку, с условиями конфиденциальности результатов.
  2. Экспортируйте только хэши обычных учётных записей, храните файл на защищённом носителе.
  3. Запустите подбор с актуальным словарём и правилами преобразования, дайте процессу разумное время (часы, не секунды).
  4. Для подобранных паролей — принудительная смена и напоминание о правилах, без наказания за сам факт участия в проверке.
  5. Удалите файл с хэшами и результаты подбора после того, как разобрались с найденными паролями; оставьте только сводную статистику (сколько подобрано, не какие конкретно).
  6. Повторяйте раз в год или после значимого изменения парольной политики — разовая проверка не ловит деградацию со временем.

Диагностика

Симптом Причина и что делать
Подобралось больше трети паролей компании Политика на бумаге не соответствует реальности (возможно, нет принудительной проверки сложности при создании пароля). Пересмотрите техническую проверку при создании, а не только текст политики
Ничего не подобралось совсем Либо реально хорошая гигиена, либо словарь слишком маленький или устаревший. Используйте актуальный большой словарь с правилами, прежде чем делать вывод
Сотрудники узнали, кто из коллег попал в список подобранных Нарушена конфиденциальность результатов. Ограничьте круг видящих детальный список до одного-двух ответственных
Процесс идёт очень долго Большой словарь с правилами на слабом оборудовании. Это нормально для полного прогона — запускайте заранее, не в последний момент перед отчётом

Ограничения

Офлайн-аудит проверяет только устойчивость к подбору по словарю, а не всю парольную гигиену: он не покажет повторное использование пароля на других сервисах и не заменяет второй фактор аутентификации. Подобранный пароль — сигнал заняться конкретным человеком и процессом создания паролей, не повод считать проверку законченной после одного прогона.

Где это в модели зрелости

Материал относится к направлению «Тесты на проникновение» (материалы направления, карта зрелости). Уровень 2 требует проверки защитных мер на практике, а не только на бумаге: офлайн-аудит паролей — конкретный, безопасный для систем способ получить такую проверку без риска нарушить работу живых сервисов.

Как проверить

  1. Проверка проводится с письменного согласия руководства, условия конфиденциальности зафиксированы заранее.
  2. Хэши экспортированы в минимальном объёме, файл удалён после анализа.
  3. Подобранным паролям назначена принудительная смена без наказания сотрудника за участие.
  4. Проверка повторяется не реже раза в год или после изменения парольной политики.

Источники

  • Методика оценки уровня зрелости кибербезопасности компании, Группа Сбер: sberbank.ru.
  • Документация John the Ripper: openwall.com.

Комментарии закрыты.