Криптографические алгоритмы, применяемые для шифрования паролей пользователей в современных ОС, используют необратимое шифрование, что делает невозможным более эффективный алгоритм взлома, чем тривиальный перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют все пароли с использованием того же самого криптографического алгоритма, который применяется для их засекречивания в атакуемой ОС. Затем они сравнивают результаты шифрования с тем, что записано в системном файле, где находятся шифрованные пароли пользователей этой системы. При этом в качестве вариантов паролей парольные взломщики используют символьные последовательности, автоматически генерируемые из некоторого набора символов. Данный способ позволяет взломать все пароли, если известно их представление в зашифрованном виде, и они содержат только символы из данного набора.
За счет очень большого числа перебираемых комбинаций, которое растет экспоненциально с увеличением числа символов в исходном наборе, такие атаки парольной защиты ОС могут отнимать слишком много времени. Однако хорошо известно, что большинство пользователей операционных систем особо не затрудняют себя выбором стойких паролей, то есть таких, которые трудно взломать. Поэтому для более эффективного подбора паролей взломщики обычно используют специальные словари, которые представляют собой заранее сформированный список слов, наиболее часто используемых на практике в качестве паролей.
(Большой набор словарей можно найти на сайте )
К каждому слову из словаря парольный взломщик применяет одно или несколько правил, в соответствии с которыми оно видоизменяется и порождает дополнительное множество опробуемых паролей:
производится попеременное изменение буквенного регистра, в котором набрано слово;
порядок следования букв в слове меняется на обратный;
в начало и в конец каждого слова приписывается цифра 1;
некоторые буквы изменяются на близкие по начертанию цифры.
В результате, например, из слова password получается pa55w0rd).
Это повышает вероятность нахождения пароля, поскольку в современных ОС, как правило, различаются пароли, набранные заглавными и строчными буквами, а пользователям этих систем настоятельно рекомендуется выбирать такие, в которых буквы чередуются с цифрами.
Одни парольные взломщики поочередно проверяют каждое слово из специального словаря, применяя к нему определенный набор правил для генерации дополнительного множества опробуемых паролей.
Другие предварительно обрабатывают весь словарь при помощи этих же правил, получая новый словарь большего размера, из которого затем черпают проверяемые пароли. Учитывая, что обычные словари естественных человеческих языков состоят всего из нескольких сотен тысяч слов, а скорость шифрования паролей достаточно высока, парольные взломщики, осуществляющие поиск по словарю, работают достаточно быстро (до одной минуты).