Аудит паролей 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»). Пароль, не подобранный маленьким словарём в демонстрации, не гарантированно устоит против полного словаря с правилами — показатель здесь не «стойкий / нестойкий» абсолютно, а «не входит в список самых распространённых комбинаций».
Порядок внедрения
- Получите письменное согласие руководства на проверку, с условиями конфиденциальности результатов.
- Экспортируйте только хэши обычных учётных записей, храните файл на защищённом носителе.
- Запустите подбор с актуальным словарём и правилами преобразования, дайте процессу разумное время (часы, не секунды).
- Для подобранных паролей — принудительная смена и напоминание о правилах, без наказания за сам факт участия в проверке.
- Удалите файл с хэшами и результаты подбора после того, как разобрались с найденными паролями; оставьте только сводную статистику (сколько подобрано, не какие конкретно).
- Повторяйте раз в год или после значимого изменения парольной политики — разовая проверка не ловит деградацию со временем.
Диагностика
| Симптом | Причина и что делать |
|---|---|
| Подобралось больше трети паролей компании | Политика на бумаге не соответствует реальности (возможно, нет принудительной проверки сложности при создании пароля). Пересмотрите техническую проверку при создании, а не только текст политики |
| Ничего не подобралось совсем | Либо реально хорошая гигиена, либо словарь слишком маленький или устаревший. Используйте актуальный большой словарь с правилами, прежде чем делать вывод |
| Сотрудники узнали, кто из коллег попал в список подобранных | Нарушена конфиденциальность результатов. Ограничьте круг видящих детальный список до одного-двух ответственных |
| Процесс идёт очень долго | Большой словарь с правилами на слабом оборудовании. Это нормально для полного прогона — запускайте заранее, не в последний момент перед отчётом |
Ограничения
Офлайн-аудит проверяет только устойчивость к подбору по словарю, а не всю парольную гигиену: он не покажет повторное использование пароля на других сервисах и не заменяет второй фактор аутентификации. Подобранный пароль — сигнал заняться конкретным человеком и процессом создания паролей, не повод считать проверку законченной после одного прогона.
Где это в модели зрелости
Материал относится к направлению «Тесты на проникновение» (материалы направления, карта зрелости). Уровень 2 требует проверки защитных мер на практике, а не только на бумаге: офлайн-аудит паролей — конкретный, безопасный для систем способ получить такую проверку без риска нарушить работу живых сервисов.
Как проверить
- Проверка проводится с письменного согласия руководства, условия конфиденциальности зафиксированы заранее.
- Хэши экспортированы в минимальном объёме, файл удалён после анализа.
- Подобранным паролям назначена принудительная смена без наказания сотрудника за участие.
- Проверка повторяется не реже раза в год или после изменения парольной политики.
Источники
- Методика оценки уровня зрелости кибербезопасности компании, Группа Сбер: sberbank.ru.
- Документация John the Ripper: openwall.com.


















