LM-хеш, или LAN Manager хеш, — один из форматов, используемых Microsoft LAN Manager и версиями Microsoft Windows до Windows Vista для хранения пользовательских паролей длиной менее 15 символов. Это единственный вид хеширования, используемый в Microsoft LAN Manager, откуда и произошло название, и в версиях Windows до Windows Me. Он также поддерживается и более поздними версиями Windows для обратной совместимости, хотя в Windows Vista его приходится включать вручную.
Алгоритм
LM-хеш вычисляется следующим образом[1]:
- Пароль пользователя приводится к верхнему регистру.
- Пароль дополняется нулями или обрезается до 14 байтов.
- Получившийся пароль разделяется на две части по 7 байтов.
- Эти значения используются для создания двух ключей DES, по одному для каждой 7-байтовой половинки, при этом 7 байтов рассматриваются как битовый поток и после каждых 7 битов вставляется ноль. Так создаются 64 бита, необходимые для ключа DES.
- Каждый из этих ключей используется для DES-шифрования ASCII-строки «
KGS!@#$%
», в результате получаются два 8-байтовых шифрованных значения.
- Данные шифрованные значения соединяются в 16-байтовое значение, являющееся LM-хешем.
Уязвимости защиты
Несмотря на то, что LM-хеш основан на качественном блочном шифре DES, он может быть легко атакован для подбора пароля из-за двух уязвимостей в его реализации. Во-первых, пароли длиннее 7 символов разделяются на две части и каждая часть хешируется отдельно. Во-вторых, все символы нижнего регистра приводятся к верхнему до хеширования пароля. Первая уязвимость позволяет атаковать каждую часть пароля по отдельности. Хотя и существует различных паролей составленных из видимых ASCII-символов, но можно составить только различных 7-байтовых частей пароля, используя одну кодовую таблицу. Ограничение набора символов из-за преобразования к верхнему регистру также сокращает количество вариантов до . Применив brute force атаку отдельно к каждой половине, современные персональные компьютеры могут подобрать буквенно-цифровой LM-хеш за несколько часов.
Так как LM-хеш не использует случайных последовательностей, на него также возможны словарные криптоаналитические атаки, такие как радужные таблицы. В 2003 году была опубликована Ophcrack — атака, реализованная на основе rainbow tables. Она использует все уязвимости LM-шифрования и включает базу данных, достаточную для взлома практически всех число-символьных LM-хешей за несколько секунд. Многие утилиты для взлома, такие как RainbowCrack, L0phtCrack и Cain, сейчас также включают подобные атаки, что делает взлом LM-хешей тривиальным.
Реагируя на данные уязвимости, заложенные в LM-шифровании, Microsoft представила в Windows NT 3.1 алгоритм NTLM. Хотя LAN Manager и считается устаревшим и современные версии ОС Windows используют более надёжный NTLM алгоритм хеширования, все ОС Windows до сих пор по умолчанию рассчитывают и хранят LM-хеш для совместимости с LAN Manager и Windows Me или более старыми клиентами. Считается, что отключение этой возможности, когда она не нужна, повышает безопасность[2].
Microsoft заявляла, что поддержка LM-хеширования будет полностью устранена в ОС Windows Vista[3]. Несмотря на это, в текущем релизе Vista содержится поддержка LM-хеша, хотя и отключённая по умолчанию. Её можно включить в «Локальных политиках безопасности» из утилит «Администрирования».
Пароли особенно уязвимые при LM-хешировании
Из-за разбиения паролей, пароли состоящие из 7 и менее символов особенно уязвимы, так же как и состоящие из слова длиной в 7 символов, за которым следует другое распространённое слово или единственный символ. Между тем, так как LM-хеширование не применяется к паролям длиной 15 символов и более, они относительно устойчивы. Если не используются версии Windows семейства 9x, поддержка и использование LM-хеша может быть отключена[4].
Причины для дальнейшего использования
Доступность протоколов NTLM, призванных заменить аутентификацию LM
продукт
|
поддержка NTLMv1
|
поддержка NTLMv2
|
Windows NT 3.1
|
RTM (1993)
|
не поддерживается
|
Windows NT 3.5
|
RTM (1994)
|
не поддерживается
|
Windows NT 3.51
|
RTM (1995)
|
не поддерживается
|
Windows NT 4
|
RTM (1996)
|
с пакетом обновления 4[5] (25 октября 1998)
|
Windows 95
|
не поддерживается
|
Клиент службы каталогов (выпущен с Windows 2000 сервером, 17 февраля 2000)
|
Windows 98
|
RTM
|
Клиент службы каталогов (выпущен с Windows 2000 сервером, 17 февраля 2000)
|
Windows 2000
|
RTM (17 февраля 2000)
|
RTM (17 февраля 2000)
|
Windows ME
|
RTM (14 сентября 2000)
|
Клиент службы каталогов (выпущен с Windows 2000 сервером, 17 февраля 2000)
|
Samba
|
?
|
версия 3.0[6] (24 сентября 2003)
|
JCIFS
|
не поддерживается
|
версия 1.3.0 (25 октября 2008)[7]
|
IBM AIX (SMBFS)
|
5.3 (2004)[8]
|
Не поддерживается в версии 7.1[9]
|
См. также
Примечания