Протокол NTLM, являясь механизмом аутентификации, основан на использовании хешированных паролей, хранящихся на сервере или контроллере домена.
Ключевой особенностью NTLM является его использование двух хешированных значений пароля:
- LM hash — устаревшая хеш-функция, использующая только первые восемь символов пароля.
- NT hash — более надежная хеш-функция, использующая весь пароль.
Благодаря отсутствию привязки между исходным паролем и его хешированными значениями, последние могут использоваться для аутентификации без фактического знания пароля.
Уязвимость NTLM обусловлена тем, что хешированные значения паролей передаются по сети в нешифрованном виде, что делает возможным их перехват и последующее использование для взлома пароля.
Для защиты от подобных атак рекомендуется использовать расширенные версии протокола NTLM, такие как NTLMv2, которые реализуют шифрование передаваемых данных.