MITRE ATT&CK T1550.002 - Использование альтернативных средств аутентификации: Передача хеша

MITRE ATT&CK

Атаки злоумышленников на системы часто позволяют обойти традиционные средства контроля доступа, используя альтернативные средства аутентификации, такие как хэши паролей, билеты Kerberos и маркеры доступа к приложениям. Эта техника, обозначенная как T1550 в системе MITRE ATT&CK, позволяет злоумышленникам перемещаться в среде и получать несанкционированный доступ к целевой системе.

В этой статье представлено подробное описание атаки Передача хеша (Pass-the-Hash, PtH) (T1550.002) как подтехники Использование альтернативных средств аутентификации (Use Alternate Authentication Material).

Передача хэша (T1550.002)

Pass-the-Hash (PtH) - это атака, основанная на идентификации, которая используется злоумышленниками для получения доступа к дополнительным системам и привилегиям в сети после того, как они уже взломали систему.

В типичном сценарии Pass-the-Hash злоумышленники

  • получают первоначальный доступ к целевой сети,
  • крадут/сохраняют "хэшированные" учетные данные пользователя,
  • используют сброшенные учетные данные для создания новой пользовательской сессии на скомпрометированном узле.

Атака Pass-the-Hash (PtH) отличается от других атак на кражу учетных данных, поскольку она направлена на уязвимость в системном дизайне протокола аутентификации Windows New Technology LAN Manager (NTLM). Этот подход позволяет аутентифицировать удаленную систему, используя предварительно вычисленный хэш пароля действительного пользователя, а не сам пароль в открытом тексте.

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

В результате злоумышленникам не нужно использовать сторонние инструменты для взлома или выполнять трудоемкие операции по взлому, поскольку для успеха атаки PtH не требуется версия пароля в открытом тексте.

Таким образом, если злоумышленник получает NTLM-хэш пароля пользователя с помощью таких средств, как извлечение его из памяти lsass.exe или из файла %systemroot%\system32\config\SAM, перехват его при передаче данных по сети или дамп из резервной копии или образа системы, он может использовать хэшированный пароль, передав его удаленной системе, которая распознает учетную запись скомпрометированного пользователя.

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

Инструменты и методы для выполнения атак типа «Передача хеша»

Атаки Pass-the-Hash (PtH) могут быть выполнены с помощью различных общедоступных инструментов, таких как Mimikatz [1] и evil-winrm [2], а также встроенных команд PowerShell. Злоумышленники часто используют эти инструменты или команды для извлечения хэша из памяти взломанной системы и последующего использования его для получения доступа к другим системам в сети.

В этом блоге мы расскажем о том, как злоумышленники используют Mimikatz для выполнения атаки Pass-the-Hash. Чтобы узнать больше о том, как злоумышленники используют другие инструменты, такие как evil-winrm и PowerShell.

Mimikatz

Использование Mimikatz для атаки Pass-the-Hash состоит из трех основных шагов.

Шаг 1: кража хэша пароля

Чтобы получить список недавно вошедших в систему пользователей и их учетные данные, злоумышленники часто используют модуль sekurlsa в Mimikatz, который использует ряд различных методов для извлечения информации об аутентификации из памяти LSASS, включая разбор структур памяти и использование Windows API. Функция «logonpasswords» этого модуля специально извлекает данные сеанса входа в систему, такие как сохраненные хэши паролей и кэшированные учетные данные. Сюда может входить информация о входе текущего пользователя, а также информация о других пользователях, вошедших на эту же машину.

Обратите внимание, что перед использованием команды sekurlsa::logonpasswords злоумышленникам необходимо выполнить команду privilege::debug, чтобы Mimikatz мог работать правильно. По умолчанию LSASS работает с высокой степенью целостности и защищен от отладки неавторизованными процессами. Однако, включив привилегию отладчика, злоумышленник может обойти эту защиту и получить доступ к памяти LSASS для извлечения данных сеанса входа в систему.

Ниже приведен пример выполнения первого шага.

Получив этот NTLM-хэш, злоумышленникам пора переходить ко второму этапу.

Важно отметить, что Mimikatz - не единственный способ сброса NTLM-хэшей. Злоумышленники часто используют другие встроенные приложения командной строки или сторонние инструменты, такие как ProcDump и Gsecdump, для дампа учетных данных.

Шаг 2: аутентификация по хэшу украденного пароля

Это основной шаг, на котором злоумышленник передает хэш, чтобы выдать себя за пользователя и получить доступ к удаленной системе.

Команда «sekurlsa::pth» в Mimikatz - это функция, которая облегчает атаки «Передача хэша». Эта техника позволяет злоумышленнику аутентифицироваться на удаленной системе, используя перехваченный NTLM-хэш пароля пользователя, без необходимости использования настоящего пароля. Для выполнения этой команды злоумышленник должен указать только следующие параметры:

  • /user: (имя пользователя),
  • /domain: (имя домена), и
  • /ntlm: (NTLM-хэш пароля пользователя).

Обратите внимание, что пароли Windows не только ограничены протоколом NTLM, но и могут использовать популярные алгоритмы блочного шифрования, такие как AES-128 и AES-256, для хранения паролей. В таких случаях злоумышленникам придется использовать параметры /aes128: или /aes256: вместо /ntlm:.

Обратите внимание, как легко мы получили доступ к удаленной системе, не зная только имени пользователя и NTLM-хэша пароля жертвы.

Шаг 3: Доступ к ресурсам через новую учетную запись пользователя

На третьем этапе злоумышленник использует полученную учетную запись пользователя для расширения доступа к сети. Например, злоумышленник может использовать утилиту командной строки PsExec для удаленного выполнения кода на другом хосте.

Например, злоумышленник может выполнить следующую команду для запуска процесса «cmd.exe» на удаленной машине с внутренним IP-адресом "192.168.52.145":

Mimikatz - не единственный способ проведения атаки Pass-the-Hash. Злоумышленники часто используют и PowerShell.

Методы обнаружения атаки Pass-the-Hash

В этом разделе представлен набор идентификаторов событий, которые могут быть использованы для обнаружения возможной атаки Pass-the-Hash. Эти идентификаторы событий генерируются операционной системой Windows и содержат ценную информацию о деятельности системы. Отслеживая эти идентификаторы событий и анализируя поля описания ключей, команды безопасности могут выявлять потенциальные инциденты безопасности и принимать соответствующие меры по снижению риска.

Подробнее: Список идентификаторов событий Sysmon

Идентификатор события (Event ID) 1 - Создание процесса.

Ключевые поля описания: LogonId, ParentProcessId, ParentImage, CurrentDirectory, CommandLine, IntegrityLevel, ParentCommandLine, ParentCommandLine, UtcTime, ProcessId, User, Hashes, Image

Идентификатор события (Event ID) 5 - Процесс завершен.

Ключевые поля описания: UtcTime, ProcessId:, Image

Идентификатор события (Event ID) 10 - Доступ к процессу.

Ключевые поля описания: SourceThreadId, TargetProcessId, GrantedAccess, SourceImage, TargetImage

Идентификатор события (Event ID) 4624 - Учетная запись успешно вошла в систему.

Ключевые поля описания: Имя учетной записи, Домен учетной записи, Идентификатор входа в систему

Идентификатор события (Event ID) 4663 - Была предпринята попытка доступа к объекту.

Ключевые поля описания: Идентификатор процесса, Маска доступа, Домен учетной записи, Имя объекта, Имя процесса, Тип объекта, Идентификатор входа в систему, Идентификатор манипулятора

Идентификатор события (Event ID) 4672 - Новому входу в систему назначены специальные привилегии.

Ключевые поля описания: Идентификатор безопасности, Имя учетной записи, Домен учетной записи

Идентификатор события (Event ID) 4688 - Создан новый процесс.

Ключевые поля описания: Требуемая метка, Домен учетной записи, Имя исходного процесса, Имя нового процесса, Тип эскалации токена, Идентификатор нового процесса, Идентификатор исходного процесса

Комментарии: 0