«Мы спорим о сложных протоколах и системах обнаружения, а злоумышленнику иногда нужен всего один кусок данных, который у нас уже есть. Pass-the-Hash — это атака, которая работает не потому, что мы что-то сломали, а потому, что мы слепо доверяем фрагменту информации там, где должны доверять только секрету».
1. Хранение паролей: не секрет, а его отпечаток
В Windows пароли никогда не хранятся в чистом виде. Вместо этого система оперирует их криптографическим отпечатком — хешем. Основное хранилище этих хешей — файл реестра Security Accounts Manager (SAM), доступ к которому в рабочей системе строго ограничен.
Когда вы вводите пароль, система не сравнивает его с текстом в базе. Она выполняет математическое преобразование (хеширование) и проверяет, совпадает ли результат с сохранённым значением. Семейство протоколов NTLM, разработанных Microsoft, как раз и определяет, как проходит этот процесс. Система «не знает» ваш пароль, она знает только его хеш. Это фундаментальный принцип, который становится точкой уязвимости.
Интересный нюанс: при определённых условиях (например, для аварийного восстановления) хеши паролей дублируются в файле C:WindowsSystem32configSYSTEM. Обычно он заблокирован, но офлайн-атака на этот файл в паре с SAM — классический метод для сброса паролей или их извлечения.
2. Протоколы: почему старый NTLM всё ещё жив
С появлением Windows 2000 и доменных служб Active Directory основным протоколом аутентификации стал Kerberos. Он безопаснее: использует билеты, централизованный сервер и не передаёт хеши по сети. Но NTLM не исчез — он остался как запасной механизм для обратной совместимости.
NTLM включается там, где Kerberos не справляется. Его использование часто говорит о проблемах в настройке инфраструктуры или о вынужденных компромиссах.
| Сценарий использования NTLM | Причина и риски |
|---|---|
| Подключение по IP-адресу вместо DNS-имени | Kerberos требует корректного SPN (Service Principal Name), который привязывается к имени хоста. При обращении по IP протокол откатывается к NTLM. |
| Работа в рабочих группах (workgroup) | В отсутствие контроллера домена Kerberos негде взять билеты. NTLM становится единственным вариантом. |
| Междоменные связи с доверием NTLM | Если между лесами Active Directory настроено нетранзитивное доверие «по-старинке», аутентификация проходит через NTLM. |
| Блокировка сетевых портов Kerberos | Если порт 88/UDP или 88/TCP закрыт брандмауэром, система автоматически переключается на NTLM. |
Каждый такой случай — потенциальная лазейка. NTLM передаёт по сети не сам хеш, а его производную (ответ на challenge), но для атаки Pass-the-Hash этого и не требуется.
3. Механика атаки: обход вместо взлома
Представьте, что охранник на проходной проверяет не ваше лицо, а фотографию в базе. Атака Pass-the-Hash — это не подделка лица, а кража самой фотографии и предъявление её другому охраннику.
Ключевая мысль: злоумышленнику не нужно узнавать или взламывать пароль. Ему достаточно получить хеш. Поскольку для системы хеш и является доказательством идентичности, его можно использовать повторно на других ресурсах в той же доменной среде или там, где действуют те же учётные записи.
Технически атака реализуется через внедрение в процесс lsass.exe (Local Security Authority Subsystem Service). Именно этот процесс управляет аутентификацией. Инструменты вроде Mimikatz крадут хеши из памяти lsass, а затем с помощью тех же API Windows, которые использует система (LsaLogonUser), проводят новую аутентификацию, подставляя украденные данные.
4. Инструменты: от исследовательских до боевых
Mimikatz — это не просто «хакерский софт». Первоначально он создавался для демонстрации уязвимостей в реализации криптографии Microsoft. Его автор, Бенжамин Делю, хотел показать, почему хранение секретов в памяти — плохая идея. Сегодня это стандартный инструмент в арсенале пентестера.
Что делает Mimikatz:
- sekurlsa::logonpasswords — извлекает хеши, пароли в открытом виде (если включён WDigest) и билеты Kerberos из памяти lsass.
- sekurlsa::pth — выполняет непосредственно атаку Pass-the-Hash, создавая новый процесс с подставленными учётными данными.
Более того, функциональность Mimikatz встроена в популярные фреймворки, например, как модуль kiwi в Metasploit’s Meterpreter. Это позволяет проводить атаку удалённо, не загружая исполняемые файлы на диск целевой машины, что обходит многие сигнатурные средства защиты.
Утилита стала настолько распространённой, что её сигнатуры детектируются всеми серьёзными антивирусами и EDR-системами. Однако постоянно появляются её форки и модификации, обфусцирующие код, а также принципиально другие инструменты, реализующие ту же логику.
5. Стратегии защиты: не запретить, а контролировать
Полностью отключить NTLM в большинстве сред невозможно — это сломает унаследованные приложения. Стратегия заключается в минимизации его использования и построении защиты по принципу «предположения нарушенности» (assume breach).
| Мера защиты | Принцип действия | Ограничения |
|---|---|---|
| Аудит и ограничение NTLM | Включение аудита событий NTLM (событие 4624, 4648) и установка политик ограничения через GPO. Позволяет увидеть, где и почему используется протокол, и постепенно отключать его. | Требует глубокого анализа журналов и может вызвать сбои в работе приложений. |
| Credential Guard (на базе Hyper-V) | Изолирует процессы, работающие с секретами (lsass), в защищённую среду исполнения (Virtual Secure Mode). Прямое чтение памяти lsass становится невозможным. | Требует поддержки аппаратной виртуализации и может конфликтовать со сторонним ПО, также использующим гипервизор. |
| LAPS (Local Administrator Password Solution) | Управляет уникальными сложными паролями для локальных учётных записей администраторов на каждом компьютере, автоматически их меняя. Украденный хеш быстро устаревает. | Защищает только учётные записи локальных администраторов, не доменные. |
| Restricted Admin Mode для RDP | При подключении по RDP учётные данные не кэшируются на удалённом хосте, что предотвращает их кражу с него. | Применим только к сценариям удалённого рабочего стола. |
| Привилегированный доступ (PAM) | Использование решений для Just-In-Time администрирования. Учётные записи с высокими привилегиями по умолчанию выключены, включаются на короткий сеанс по запросу. | Требует внедрения дополнительных инфраструктурных решений и изменения процессов. |
Важный организационный аспект: принцип минимальных привилегий. Если у пользователя нет прав локального администратора на своей рабочей станции, то даже при компрометации его хеша злоумышленник не сможет извлечь хеши других учётных записей с этой машины для дальнейшего движения по сети.
В российском контексте требования ФСТЭК и 152-ФЗ обязывают регистрировать события безопасности и управлять доступом. Настройка детального аудита аутентификации и внедрение решений типа LAPS или PAM напрямую способствуют выполнению этих требований, закрывая конкретные векторы атак, которые часто остаются за кадром при формальной проверке настроек парольной политики.