Pass-the-hash

Pass-the-hash (с англ. «передача хэша», PTH) представляет собой сложную технику кибератаки, используемую для компрометации компьютерных систем, в особенности в средах Microsoft Windows, без необходимости знания или взлома исходного пароля пользователя. В основе этой атаки лежит эксплуатация внутреннего механизма аутентификации, который для проверки подлинности субъекта вместо самого пароля использует его криптографический хэш. По своей сути, pass-the-hash не является взломом пароля в традиционном понимании, а скорее обходом процедуры аутентификации путем кражи и повторного использования учетных данных в уже преобразованном («хэшированном») виде.

Чтобы понять механизм данной атаки, необходимо обратиться к процессу входа в систему Windows. Когда пользователь вводит пароль, операционная система не хранит и не передает его в открытом виде. Вместо этого с помощью криптографических алгоритмов (таких как LM, NTLM или NT LAN Manager) создается уникальная хэш-сумма - строка фиксированной длины, являющаяся цифровым отпечатком пароля. Этот хэш и служит основным средством проверки. Во время стандартной аутентификации система вычисляет хэш от введенного пароля и сравнивает его с хэшем, хранящимся в базе данных SAM (Security Account Manager) на локальной машине или в контроллере домена Active Directory. Ключевая уязвимость, на которой строится pass-the-hash, заключается в том, что для многих сетевых протоколов (например, SMB, RDP, WMI) сама операционная система, а также многие административные инструменты, в качестве доказательства подлинности принимают именно этот хэш, а не исходный пароль.

Злоумышленник, применяющий технику pass-the-hash, действует по определенному алгоритму. На первом этапе он получает привилегированный доступ к одной из систем в сети, часто через фишинг, эксплуатацию уязвимостей или иные методы. После этого атакующий извлекает хэши паролей из памяти запущенных процессов (например, из lsass.exe), из файлов реестра или дампа базы SAM. Эти хэши могут принадлежать как обычным пользователям, так и, что гораздо опаснее, административным учетным записям. Получив хэш, атакующий не пытается его расшифровать - вместо этого он «передает» или «подставляет» этот хэш непосредственно в сеанс аутентификации при попытке доступа к другому сетевому ресурсу или компьютеру. Специальные инструменты (такие как Mimikatz, Impacket или встроенный в Windows PsExec) позволяют злоумышленнику сконструировать сетевой пакет, где в поле для пароля будет указан украденный хэш. Если на целевом сервере существует учетная запись с такими же данными (что типично в корпоративных доменах с одинаковыми локальными паролями администраторов), система примет хэш как корректное доказательство и предоставит доступ.

Главная опасность pass-the-hash заключается в ее эффективности для латерального перемещения внутри сети. Получив хэш администратора домена, злоумышленник может получить контроль над критически важными серверами, контроллерами домена и системами управления, фактически захватывая всю инфраструктуру организации. Эта атака особенно устойчива, так как не зависит от сложности пароля - даже очень длинный и сложный пароль не защитит, если был скомпрометирован его хэш. Более того, смена пароля после атаки не всегда останавливает злоумышленника, если у него сохранился старый, но все еще действительный для некоторых сессий хэш (например, для служб). Развитием этой техники являются атаки pass-the-ticket в среде Kerberos, которые следуют схожей логике, но используют билеты аутентификации.

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

  • Применение технологии Credential Guard в Windows, которая изолирует и защищает хэши в специальной доверенной среде;
  • Использование современной аутентификации на основе протокола Kerberos с его ограниченным временем жизни билетов;
  • Регулярное обновление и патчинг систем;
  • Иониторинг сетевой активности на предмет аномальных попыток входа с одними и теми же учетными данными с разных узлов;
  • Отказ от использования устаревшего и уязвимого протокола LM в пользу более стойкого NTLMv2 или, предпочтительно, Kerberos.

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