UA


UA


RU

RU

Кража учетных данных:подходы, уязвимости, предотвращение

Illustration

Александр Шаруев

Sales Engineer, BAKOTECH

moc.hcetokab%40veiurahs.rdnaskelo

В мире, где практически все данные хранятся в электронном виде, одним из приоритетов становится обеспечение их безопасности. Особого внимания требует защита учетных данных, так как они являются ключом к внедрению в корпоративную сеть.
В этой статье мы рассмотрим основные виды кражи данных аутентификации Windows и самые эффективные способы их защиты, а также новую уязвимость в Outlook (CVE-2023-23397), которую хакеры используют для выуживания учетных данных.

Вступление 

Часто хакеры начинают свое путешествие по организации, взломав одну рабочую станцию. Если им это удалось, злоумышленники стремятся закрепиться в инфраструктуре компании, захватив как можно больше других систем. Благодаря этому хакеры смогут зашифровать/похитить/уничтожить больше данных, что существенно повысит их шансы на получение выкупа. Чтобы план увенчался успехом, злоумышленникам необходимо найти или украсть учетные данные других пользователей, в идеале – администраторов домена, ведь это даст им абсолютный контроль над корпоративной сетью.
Однако, что бы ни выдумывали хакеры, сфера кибербезопасности тоже не дремлет. Разработчики операционных систем и инструментов безопасности постоянно совершенствуют технологии защиты учетных данных. Например, раньше система Windows хранила пароли пользователей в открытом виде, затем начала применять к ним хеширование и только потом был усовершенствован механизм доступа к таким чувствительным данным.

Illustration

Но, как показывает практика, ни одна ОС не может сама по себе обеспечить хоть какую-либо защиту от постоянно развивающихся атак. Поэтому важно изучать и внедрять решения безопасности, которые имеют продвинутые механизмы защиты и постоянно адаптируются к условиям современности.

Мимикрирующий Mimikatz: постоянный гость кибератак 

Одним из «классических» инструментов похищения паролей является Mimikatz. Он был разработан в 2011 году и сразу же стал незаменимой частью инструментария хакеров. Сейчас же Mimikatz имеет бесконечное количество клонов и вариаций, так как основной механизм кражи паролей до сих пор актуален. Mimikatz и все его аналоги имеют одну цель – прочитать содержимое хранилищ данных аутентификации, примером которых является процесс lsass.exe.
lsass.exe хранит в себе разнообразные данные, которые помогают пользователям получать доступ к множеству ресурсов без дополнительной аутентификации. Без данного механизма приходилось бы вводить пароль буквально каждую минуту. Но, с другой стороны, такое удобство создает определенные риски, ведь учетные данные хранятся в процессе, который всегда запущен в Windows. Если хакеру удастся прочитать содержимое оперативной памяти lsass.exe (сделать его дамп), то он получит доступ к хранимым учетным данным, а система может считаться скомпрометированной.

Illustration

Процесс кражи паролей с незащищённой системы 

Перейдем от слов к делу. После запуска Mimikatz, инструменту необходимо получить привилегию SeDebugPrivilege, которая позволит читать содержимое памяти lsass.exe. Украсть пароли без этого шага невозможно.
mimikatz (comandline) # privilege::debug

Illustration

После получения положительного ответа (Privilege ‘20’ OK) можно начинать выгружать учетные данные, которые когда-либо либо вводились в данной системе:
mimikatz (comandline) # sekurlsa::logonpasswords

Illustration

Из полученного списка украденных данных нас интересует имя пользователя, домен и строка NTLM, которая является хешированным паролем пользователя.
Далее мы можем подобрать пароль к этому хешу или использовать его в атаке pass-the-hash с помощью того же Mimikatz. Подбор хеша – дело нехитрое, его можно проводить как на веб-сайтах, так и с помощью специальных утилит, например hashcat.

Используем для подбора первый попавшийся веб-сайт. Пароль удалось подобрать за считанные секунды, так как он короткий и довольно распространенный.

Illustration

Стоит отметить, что скомпрометированный пользователь имеет права администратора домена mvcloud.com, что ставит под угрозу целую организацию. Миссия выполнена – хакер добился своего, пользователь скомпрометирован, а компания рискует понести убытки.

Защита учетных данных с помощью Trellix Endpoint Security (ENS) 

Trellix ENS обеспечивает защиту серверов, компьютерных систем и ноутбуков от известных и неизвестных угроз. Эти угрозы включают в себя вредоносные программы, подозрительные сетевые соединения, небезопасные веб-сайты и загруженные файлы.
Endpoint Security состоит из нескольких технологий безопасности, которые обмениваются данными в режиме реального времени, анализируют угрозы и защищают от них. Эти технологии разделены на следующие модули:

Предотвращение угроз – не позволяет угрозам проникнуть в систему, автоматически проверяет файлы при доступе и выполняет целевые проверки на наличие вредоносных программ в клиентских системах.
Брандмауэр – отслеживает передачу данных между компьютером, сетевыми ресурсами и Интернетом. Анализирует сетевой трафик на основе правил, приложений и репутаций.
Контроль Интернета – анализирует поисковые запросы и просмотр страниц в Интернете, блокирует веб-сайты и загрузки на основе репутаций, категорий и черных/белых списков.
Адаптивная защита от угроз – проверяет содержимое с использованием поведенческого анализа и искусственного интеллекта, а также предпринимает необходимые действия на основе репутаций файлов и их действий.

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

Согласно оценке Gartner, Trellix Endpoint Security входит в пятерку лучших средств для защиты рабочих станций, а платформа безопасности Trellix XDR – беспрецедентный лидер по мнению множества аналитических агентств.

Повторим атаку, но на этот раз включим защиту Trellix Endpoint Security. Важно понимать, что в реальных условиях Trellix ENS блокирует угрозы гораздо раньше и до этапа кражи учетных данных обычно не доходит.

Как и в прошлый раз, попробуем получить привилегию SeDebugPrivilege и затем прочитать содержимое памяти lsass.exe. Но теперь эти действия привели к ошибке – mimikatz получил нужную привилегию, так как командная строка запущена от имени администратора, но ему не удалось прочитать учетные данные из lsass.exe. Попытка была заблокирована, а пользователь и администратор получили соответствующее уведомление.

Illustration

Также стоит уточнить, что для запуска данного вредоносного софта, пришлось отключить почти все системы защиты, ведь возможности ENS гораздо шире данного примера. Благодаря использованию передовых технологий он может обнаруживать и блокировать угрозы практически в любом виде, например в бесфайловом или запущенном напрямую в памяти.

Illustration

Утилиты Microsoft для взлома Windows 

Mimikatz – это известное вредоносное программное обеспечение, но что, если мы попробуем украсть учетные данные Windows с помощью инструментов, которые разработал сам Microsoft?

Самый простой способ – попробовать сделать дамп lsass.exe через Диспетчер задач. Запускаем его от имени администратора -> Details -> правой кнопкой мыши по lsass.exe -> Create dump file

Illustration

Видим, что такая попытка была заблокирована. Также дамп с помощью диспетчера задач можно сделать через командную строку, чем хакеры пользуются чаще, но Trellix ENS заблокирует и такую попытку доступа к учетным данным.

Почему был заблокирован легитимный инструмент, то есть, диспетчер задач? В данном случае работает подход Zero Trust – никому не доверяй, всегда проверяй. Хакеры научились использовать уже имеющиеся утилиты в системах жертв, чтобы делать атаки более скрытными и разрушительными. Всего таких утилит двойного назначения существует около двух сотен – например, cmd.exe, wmic.exe и cetrutil.exe. Такой подход называется Living-off-the-Land, и его можно встретить практически в каждой хакерской атаке.

Примечание: обычным пользователям НИКОГДА не нужно получать доступ к памяти процесса lsass.exe, такое поведение – явный признак хакерской атаки. Но если эта возможность понадобится администраторам, лучшим вариантом будет создание отдельной разрешающей политики доступа к lsass.exe для систем администраторов.

Следующая утилита, разработанная самим Microsoft, – Procdump. Это приложение, основной целью которого является создание аварийных дампов памяти во время пиковых нагрузок. Но нам не нужно дожидаться каких-либо пиков, чтобы украсть немного паролей. Для этого достаточно выполнить следующую команду:
procdump.exe -accepteula -64 lsass.exe путь:\выгрузки\дампа.dmp

Illustration

Если в системе установлен Trellix Endpoint Security, он обнаружит и предотвратит попытку несанкционированного доступа к учетным данным, даже если она была инициирована доверенным процессом.

Illustration

Бесфайловый подход в использовании Mimikatz 

Теперь изучим другой подход – бесфайловый. По сути, мы будем использовать тот же mimikatz, но теперь он будет выполняться не в виде файла “file.exe”, а в виде набора команд Powershell. Таким образом, мы повысим скрытность действий, ведь на систему жертвы не загружаются исполняемые файлы, которые могли бы быть просканированы антивирусными средствами.
В Powershell выполним:

Illustration

При вводе данной команды консоль Powershell моментально закрывается, а пользователь видит предупреждение об обнаруженном вредоносном скрипте.

Illustration

Каждый инцидент мы можем просмотреть более подробно как на рабочей станции, так и в консоли управления. На рабочей станции часть информации об инциденте выглядит так:

Illustration

А в консоли управления так:

Illustration

Для процессов, которые были проанализированы технологиями поведенческого анализа, создается граф выполненных действий (Story Graph), который помогает ускорить процесс расследования инцидентов.

Illustration

Обфускация команд для обхода систем обнаружения 

В «дикой природе» опытные хакеры никогда не будут использовать свои инструменты в открытом виде. Так или иначе, все файлы или команды будут обфусцированы (то есть, запутаны). На простом примере c числами, обфускация выглядит так:
Изначальная строка: 1+1=2

Обфусцировання строка:

Illustration

Результат остался тем же (2), но анализ «запутанной» строки занимает гораздо больше времени и вычислительных ресурсов. Также хакеры используют данную технику для уклонения от сигнатурного анализа, ведь запутать «1 + 1 = 2» можно бесконечным количеством способов, а создать сигнатуру для каждого варианта – невозможно.

Для обнаружения такого рода угроз нам понадобится другой подход. Trellix Endpoint Security предлагает возможности поведенческого анализа и искусственного интеллекта, а также глубокую интеграцию в систему Windows для перехвата выполнения всех команд, включая CMD и Powershell.

Рассмотрим это на практическом примере. Начальная строка взята из предыдущего примера, а итоговая «запутанная» строка выглядит так:

Illustration

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

После выполнения данной команды она передается на Trellix ENS, который производит поведенческий анализ и отмечает каждое подозрительное действие. В результате Endpoint Security приходит к заключению, что был выполнен все тот же бесфайловый mimikatz, после чего происходит его блокировка. Консоль Powershell закрывается, а пользователь получает всплывающее уведомление:

Illustration

Угроза была обнаружена на одной рабочей станции, но экосистема Trellix на этом не останавливается. После обнаружения вредоносной активности все компоненты Trellix обмениваются между собой информацией об угрозах, что позволяет остальным рабочим станциям, сетевым устройствам и облачным сканерам тут же блокировать обнаруженное вредоносное ПО без дополнительных проверок.

Тревожный звоночек: новая уязвимость Outlook 

В марте, во время очередного мероприятия Patch Tuesday, Microsoft объявили о новой уязвимости в почтовом клиенте Outlook. Она имеет критический характер, так как ее легко эксплуатировать, а сам Outlook установлен на большинстве корпоративных систем под управлением Windows. Таким образом, эксплуатировав данную уязвимость, хакер сможет получить доступ к учетным данным текущего пользователя, что лишний раз показывает важность их защиты.

Процесс эксплуатации происходит следующим образом. Через Powershell хакер отправляет вредоносное письмо-приглашение. В Outlook оно выглядит неприметно и не вызывает лишних подозрений.

Illustration

Но опасность данного приглашения кроется не во внешнем виде, а в звуке уведомления о начале встречи. При составлении данного письма хакер указал не стандартное расположение звукового файла (file.wav) в системе жертвы, а на своем SMB-сервере. И теперь, когда Outlook выведет напоминание о начале данной встречи, он обратится к файловому серверу злоумышленника, попытается авторизоваться в нем с помощью учетных данных текущего пользователя и воспроизведет file.wav с хакерского сервера во время напоминания.

Итого, когда пользователь увидит обычное уведомление от Outlook

Illustration

хакер увидит скомпрометированные учетные данные, а именно NTLMv2-SSP Hash

Illustration

к которому затем сможет подобрать пароль, например, с помощью утилиты hashcat, и использовать его для дальнейшего распространения в корпоративной сети:

Illustration
Illustration

Как же защитится от данной уязвимости?

Первым способом является добавление важных пользователей, например администраторов домена, в группу “Protected Users”. Пользователям в данной группе запрещается аутентификация по NTLM, что исправляет данную проблему. Загвоздка в том, что некоторые приложения, требующие такой тип аутентификации, могут перестать работать, и тогда придется искать компромисс между безопасностью и бизнес-процессами.

Вторым способом является блокировка исходящих сетевых соединений по протоколу SMB, используя хостовый файрвол или файрвол на периметре. К счастью, Trellix Endpoint Security позволяет гибко решить данную задачу. Как мы уже упоминали выше, одним из модулей ENS является Брандмауэр, который позволяет гранулярно блокировать сетевые соединения, созданные определенными приложениями. Используем данный подход и создадим следующие правила:

1. Разрешим исходящий сетевой доступ по протоколу SMB на порт 445 к внутренним корпоративным серверам, чтобы не прерывать бизнес-процессы.

2. Запретим исходящий сетевой доступ по протоколу SMB на порт 445 на все остальные хосты, чтобы не допустить отправку учетных данных на сторонние сервера.

В результате повторная попытка эксплуатации CVE-2023-23397 провалилась, а пользователь получил уведомление о возможном вторжении:

Illustration

Выводы 

Защита учетных данных – важная составляющая процесса кибербезопасности. Новые методы их компрометации постоянно совершенствуются, поэтому важно иметь адаптивные средства безопасности. Кража учетных данных может осуществляться как сторонними, так и доверенными средствами, поэтому решение должно блокировать все подозрительные попытки доступа к lsass.exe, при этом не нарушая работу системы. Еще один вызов для средств безопасности, который стоит принимать во внимание – это бесфайловые атаки. Защита от них требует постоянного контроля командных строк на наличие вредоносного контента, в том числе обфусцированного.
Trellix ENS – мультифункциональное, проверенное решение для защиты рабочих станций, признанное многими аналитическими агентствами одним из лучших на рынке. Во всех наших тестовых попытках взлома решение успешно отразило все проведенные атаки, включая эксплуатацию новой уязвимости в Outlook.
Чтобы узнать больше о решении, напишите нам: moc.hcetokab%40xillert
__________Данным автор этой статьи сообщает следующее:

(1) Эта статья создана исключительно с разъяснительной целью и распространение этой статьи не является деятельностью, за которую статьей 3611 Уголовного кодекса Украины установлена уголовная ответственность.

(2) Программные коды и средства, упоминаемые в настоящей статье, не созданы авторами, получены авторами из открытых источников и тестированы авторами на собственный риск на собственном оборудовании.

(3) Все приведенные в данной статье вредоносные программные коды, средства, образцы, примеры, формулы и т.д. не предлагаются и не рекомендуются для использования читателями и/или другими третьими лицами (по отношению к третьим лицам).

Связаться с нами

Спасибо!

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

Can't send form.

Please try again later.