Атака Pass the hash Pass the ticket и как от этого защититься

pass the hash

В предыдущей статье мы советовали использовать двухфакторную аутентификацию для защиты привилегированных учетных записей критически важных систем — например, контроллеров домена. Однако это не означает, что двухфакторная аутентификация сама по себе полностью защищает от атак. Скорее, это один из необходимых шагов при построении комплексной защиты корпоративной сети. Следующий сценарий демонстрирует уязвимости механизма двухфакторной аутентификации в Windows.

Войти в Windows можно как по логину и паролю, так и при помощи смарт-карты. Администратор может настроить систему так, чтобы она запрашивала исключительно смарт-карту для доступа к ОС либо предоставляла пользователю выбор метода.

Принцип двухфакторной аутентификации подразумевает, что пользователь должен не только знать что-то (например, PIN-код или пароль), но и обладать чем-то (в данном случае — смарт-картой с установленным сертификатом). Только предъявив смарт-карту с корректным сертификатом и введя верный PIN-код, пользователь получает доступ к ОС.

Когда в конфигурации учетной записи домена устанавливается атрибут, отвечающий за аутентификацию по смарт-карте, этой учетной записи присваивается некоторый NT-хеш. Его значение вычисляется случайным образом и не меняется при всех последующих подключениях к ресурсам домена. Контроллер домена при каждой аутентификации отправляет этот хеш на узел, к которому подключается пользователь.

Атака Pass the hash

Уязвимость заключается в том, что злоумышленник может получить этот NT-хеш и использовать его для аутентификации методом pass the hash. В этом случае злоумышленнику уже не нужно обладать смарт-картой и знать ее PIN-код, то есть нарушается принцип двух факторов. А если учесть, что хеш постоянен, нарушитель получает возможность в любое время атаковать ресурсы домена с привилегиями скомпрометированной учетной записи.

Для того чтобы получить NT-хеш, злоумышленник может использовать результаты запуска утилиты Mimikatz на узлах сети в рамках атак по сценариям 1, 2 или 3.

Атака Pass the hash

На рисунке выше показан запуск Mimikatz на одном из узлов, а на следующем рисунке продемонстрирован результат успешной аутентификации методом pass the hash с полученным хешем пользователя. Этот пользователь входил в группу администраторов серверов, и для него была настроена аутентификация только по смарт-карте.

Атака Pass the hash

Кроме NT-хеша и пароля пользователя, злоумышленник может получить и PIN-код смарт-карты в открытом виде.

Атака Pass the hash

По сути, если злоумышленник может запускать утилиту Mimikatz на одном из узлов (непосредственно в ОС либо с использованием любого из подходящих методов обхода защиты), он получает возможность компрометировать учетные записи привилегированных пользователей домена — даже при использовании двухфакторной аутентификации.

Механизмы авторизации в Windows построены таким образом, что, даже если нарушитель не сможет получить учетную запись администратора, он получит NT-хеш (генерируемый контроллером домена при использовании смарт-карты) либо билет Kerberos. Если NT-хеш не изменяется, не имеет срока действия и может быть использован на любом узле сети (в том числе на контроллере домена), то билет Kerberos выдается лишь на доступ к данному узлу на десять часов и может быть продлен в течение недели.

Оба эти значения могут быть использованы злоумышленником для аутентификации в обход двухфакторного механизма для атак pass the hash и pass the ticket.

Рекомендации по защите

В Windows 10 реализована система Remote Credential Guard, которая призвана обеспечить защиту учетных записей при удаленном доступе к ресурсам. В рамках наших исследований мы еще ни разу не встречали Windows 10 в корпоративных сетях, а значит, исследование ее безопасности — дело ближайшего будущего.

Использование Remote Credential Guard должно существенно повысить защищенность от атак методом pass the hash.

ПОЛЕЗНЫЕ ССЫЛКИ:

ВКонтакте
OK
Telegram
WhatsApp
Viber

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *