Крадіжка облікових даних: підходи, уразливості, запобігання

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

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

У «дикій природі» досвідчені хакери ніколи не будуть використовувати свої інструменти відкрито. Так чи інакше, всі файли чи команди будуть обфусковані (тобто заплутані). На простому прикладі з числами обфускація має такий вигляд:

Початковий рядок: 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.