Атака Pass-the-hash — один из видов атаки повторного воспроизведения. Она позволяет атакующему авторизоваться на удалённом сервере, аутентификация на котором осуществляется с использованием протокола NTLM или LM.
Этот метод может быть использован против любого сервера/сервиса, использующего протокол аутентификации NTLM или LM, вне зависимости от используемой на компьютере жертвы операционной системы.
В системах, использующих протокол аутентификации NTLM, пароли никогда не передаются по каналу связи в открытом виде. Вместо этого они передаются соответствующей системе (такой, как контроллер домена) в виде хешей на этапе ответа в схеме аутентификации Вызов-ответ[1].
Приложения Windows запрашивают у пользователя пароль в открытом виде, а затем вызывают API (например, LsaLogonUser[2]), которые преобразуют пароль в LM хеш и NTLM хеш[3] и передают их в процессе аутентификации.[Прим. 1][4] Анализ протоколов показал, что для успешной аутентификации не обязательно знать пароль в открытом виде, вместо этого может использоваться только его хеш.
После получения каким-либо образом пары {имя пользователя — хеш пароля пользователя}, криптоаналитик получает возможность использовать эту пару для выполнения атаки по сторонним каналам и аутентификации на удаленном сервере под видом пользователя.[5] При использовании данной атаки отпадает необходимость полного перебора значений хеш-функции для нахождения пароля в открытом виде.[6] В основе атаки лежит слабость в реализации протокола сетевой аутентификации. Она заключается в том, что хеши паролей передаются без использования соли, а потому остаются неизменными от сессии к сессии (до тех пор, пока не изменяется пароль пользователя).[7] Другими словами, для атакующего хеши паролей эквивалентны самим паролям.
Атака pass the hash изначально была опубликована Полом Эштоном в 1997[8]. В основе этой атаки лежала возможность пройти аутентификацию на Samba SMB клиенте с использованием хеша пароля пользователя. При этом клиент не требовал пароля в открытом виде (Следующие версии Samba и некоторые сторонние реализации SMB и NTLM протоколов также поддерживали эту функциональность).
Поскольку этот способ атаки основывался на сторонней реализации Samba SMB клиента, он был подвержен некоторым серьезным ограничениям с точки зрения перспективности использования. Так как SMB протокол продолжал развиваться с течением времени, сторонние разработчики были вынуждены поддерживать изменения и дополнения, вносимые в протокол в новых версиях Windows/SMB (исторически это осуществлялось с помощью метода обратной разработки). Это означает, что даже после успешной NTLM аутентификации с использованием атаки pass the hash, некоторые Samba SMB клиенты могли не поддерживать необходимый криптоаналитику функционал.
Также из-за применения в атаке сторонней реализации Samba SMB клиента, было невозможно использовать встроенные приложения Windows такие как Net.exe или Active Directory Users and Computers, поскольку для аутентификации они запрашивали у атакующего/пользователя пароль в открытом виде, а не принимали хеш.
В 2007 Хернан Очоа опубликовал программу «Pass-the-Hash Toolkit»[9]. С её помощью можно было во время работы системы изменить имя пользователя, доменное имя и хеш пароля, занесенные в кеш сервером проверки подлинности локальной системы безопасности после аутентификации пользователя[10][11]. Благодаря этому становилось возможным выполнить атаку pass the hash с использованием стандартных средств Windows, и, таким образом, обойти встроенные в систему средства проверки аутентификации.
Приложение также предоставляло новую технику атаки, позволявшую извлечь хеши паролей, сохраненные в кеш-памяти процесса lsass.exe. Данная техника вскоре стала широко использоваться для проведения испытаний на проникновение и атак. Этот метод сбора хешей паролей превосходит использовавшиеся ранее (например, извлечение хешей из локальной базы данных SAM с использованием pwdump или аналогичных программ), поскольку позволяет извлечь из оперативной памяти имя пользователя/доменное имя/хеш пароля пользователей домена (и администраторов домена), авторизованных в системе. Этот метод, например, позволяет получить хеши паролей авторизованных пользователей домена, которые не хранятся на жестком диске.[12] Благодаря этому становится возможным скомпрометировать весь домен Windows NT после компрометации одного участника этого домена. Более того, атака может быть выполнена сразу, без необходимости проводить ресурсозатратную подготовку методом полного перебора.
Впоследствии программа была заменена приложением «Windows Credential Editor», расширявшим исходную функциональность и добавлявшим поддержку новых операционных систем.[13][14] Некоторые антивирусы воспринимают данное приложение как вредоносную программу.[15][16]
Прежде чем атака pass the hash может быть осуществлена, необходимо получить хеши паролей, соответствующие целевым аккаунтам. С этой целью атакующий может следующие методы сбора хешей:
Любая система, использующая NTLM/LM протокол аутентификации[21] в сочетании с любым протоколом связи (SMB, FTP, RPC, HTTP и другие)[22], подвержена атаке pass the hash. От данной атаки трудно защититься, поскольку существую многочисленные эксплойты для Windows, позволяющие атакующему получить права администратора и осуществить сбор хешей. Более того, компрометация всего домена Windows может быть осуществлена с использованием одного участника этого домена.[12] Многочисленные программы для проведения испытаний на проникновение могут быть использованы для автоматического поиска уязвимостей в системе.
Для защиты от атаки pass the hash применяется метод комплексной защиты[23][24]: использование межсетевого экрана, системы предотвращения вторжений, IPsec, антивирусных программ, полное шифрование диска, аутентификация с использованием стандарта IEEE 802.1X, уменьшение числа пользователей с правами администратора[25], своевременная установка исправлений безопасности[26]. Запрет системе Windows на кеширование хешей паролей может помешать атакующему извлечь эти значения из памяти. На практике это означает возможность проведения атаки только после входа жертвы в систему.[27] В сценарии атаки на хеши паролей администраторов домена может использоваться возможность прохождения ими аутентификации в скомпрометированной системе. Разрешение администраторам домена проходить аутентификацию только в доверенных серверах проверки подлинности локальной системы безопасности сужает вектор атаки.[28] Принцип минимальных привилегий предполагает предоставление пользователю минимально необходимых прав доступа для выполнения любых операций.[29] Запрет на использование в системе протокола аутентификации NTLM/LM может повысить защищенность системы[30], хотя протокол Kerberos также подвержен данной атаке.[31][32] Запрет на использование отладчика может помешать атакующему извлечь хеши из памяти процессов.[33]
Режим ограниченного администрирования, добавленный в Windows в 2014 году в обновлении для системы безопасности, разработан для снижения эффективности данного метода атаки.[34]
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .