Вразливість Follina у Microsoft Office: як виявити та запобігти

Illustration

Олександр Шаруєв

Sales Engineer, BAKOTECH

moc.hcetokab%40veiurahs.rdnaskelo

Вразливість у Microsoft Support Diagnostic Tool під назвою Follina стала найбільш обговорюваною за останні місяці, і не дарма. Більшість робочих станцій використовує Windows як операційну систему, практично на кожній з них встановлений пакет MS Office. Як виявилось, усі вони перебувають під серйозною загрозою.
У цій статті ми познайомимося ближче з вразливістю CVE-2022-30190, розглянемо в чому її небезпека, а також як захиститися від неї за допомогою рішень Trellix.

Коротка довідка

27 травня 2022 року дослідники з nao_sec повідомили у своєму Twitter про цікавий документ, який вони виявили на VirusTotal. Документ був завантажений з білоруської IP-адреси та призначений для експлуатації досі невідомої вразливості. Він підтягує HTML-файл, який викликає засіб усунення несправностей (MSDT), щоб завантажити корисне навантаження та виконати його через PowerShell. Microsoft Support Diagnostic Tool (MSDT) — це інструмент, який використовується для виявлення помилок в системі, але в цьому випадку він сам містить критичну помилку.

Головною небезпекою Follina є те, що вона
не потребує особливої взаємодії з користувачем: для експлуатації достатньо просто відкрити документ, а в деяких модифікаціях — лише переглянути його в провіднику. Також експлоїт не містить макросів і не викликає зайвих попереджень, що дозволяє потайки виконувати шкідливий код у фоновому режимі. Крім того, msdt.exe — це підписаний бінарний файл, завдяки якому шкідливий код може оминати базові засоби перевірки Windows.

В результаті зловмисник отримує можливість виконати будь-яку PowerShell-команду, тобто робити практично все що завгодно, обмежуючись лише його рівнем привілеїв та фантазією.

Follina у дії

Ого, які гарні шпалери

Спочатку розглянемо варіант, коли зловмиснику життєво необхідно змінити фонове зображення на системі жертви.
Створимо шкідливий документ. Під час його запуску виконається PowerShell-скрипт wallpaper.ps1 з віддаленого вебсервера.

Illustration

При виконанні, wallpaper.ps1 змінить фонове зображення робочого столу і виведе вікно з повідомленням користувача. Скрипт має такий вигляд:

Invoke-WebRequest -Uri https://inquest.rs/static/uploads/1642589119473982.png -OutFile $env:userprofile/Pictures/trellix.png
Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $env:userprofile\Pictures\trellix.png
Start-Sleep -s 15
rundll32.exe user32.dll, UpdatePerUserSystemParameters, 0, $false
Add-Type -AssemblyName PresentationFramework; [System.Windows.MessageBox]::Show('We Bring Security to Life!', 'Trellix')

Далі шкідливий документ необхідно доставити на цільову систему і дочекатися поки користувач його відкриє.
Після запуску документа, на екрані жертви відображається процес діагностики несправностей, але насправді виконується підготовлений зловмисником скрипт. Повний процес відпрацювання експлоїту продемонстровано на відео.

Командна оболонка
Більш реалістичним сценарієм використання цієї вразливості буде отримання віддаленої командної оболонки. Завдяки їй хакер отримає можливість проводити додаткове дослідження цільової системи та виконувати необхідні команди, діючи за ситуацією.Процес створення документа для цього сценарію дещо простіший: потрібно вказати номер порту для прослуховування з'єднань та ім'я мережного інтерфейсу.

Illustration

Після доставлення документа і його відкриття починається діагностика несправностей системи, а у фоновому режимі виконується шкідливий скрипт. Він завантажує утиліту netcat, а потім, з її допомогою, підключається до сервера хакера.

Способи захисту

Після виявлення вразливості Follina наприкінці травня, Microsoft знадобилося понад два тижні для її виправлення. Під загрозою перебувала більшість систем на базі ОС Windows, а єдиним способом захисту було використання систем безпеки від інших виробників. Своєю чергою, рішення Trellix вже в перші дні виявляли й блокували будь-які спроби експлуатації даної вразливості.
Експлуатацію CVE-2022-30190 можна виявити як на рівні робочих станцій, так і на рівні мережі. Trellix дозволяє виявляти загрозу відразу на обох рівнях, що підвищує ефективність захисту. Розглянемо декілька ключових рішень.
Trellix Endpoint Security
Trellix Endpoint Security (ENS) — рішення для захисту робочих станцій від найрізноманітніших загроз, яке має функціонал як сигнатурного, так і поведінкового аналізу. Він здатний з високою швидкістю виявляти відомі загрози, а у разі використання технік ухилення від засобів захисту, виявляти їх за підозрілими діями.

Після встановлення Trellix ENS на робочу станцію було здійснено повторну спробу експлуатації даної вразливості. Сигнатурний аналіз очистив документ відразу ж після його завантаження, поведінковий аналіз усунув загрозу під час запуску.

Illustration

Окрім цього, Trellix ENS має окремий функціонал захисту від експлуатації вразливостей — Exploit Prevention. Виявлення ґрунтується на наборі правил, що постійно оновлюється виробником. Також є можливість створювати власні правила виявлення експлоїтів, специфічні для кожної організації.

Шкідливому документу можуть присвоїти унікальний хеш, а корисне навантаження обфускувати, проте для експлуатації CVE-2022-30190, так чи інакше, документу доведеться звернутися до процесу діагностики несправностей. Для відстеження цієї дії створимо правило, яке контролюватиме звернення Microsoft Word, Excel та Outlook до msdt.exe.

Для створення власного правила, у розширеному відображенні політики Exploit Prevention необхідно натиснути "Add Expert Rule".

Illustration

У редакторі правила надати йому ім'я, важливість і вибрати об'єкт захисту, у нашому випадку це "Processes". Саме правило виглядає так:
Rule {
Process {
Include OBJECT_NAME { -v "WINWORD.exe" }
Include OBJECT_NAME { -v "EXCEL.exe" }
Include OBJECT_NAME { -v "OUTLOOK.exe"}
}
Target {
Match PROCESS {
Include OBJECT_NAME { -v "msdt.exe" }

Include -access "CREATE"
}
}
}

Illustration

Після створення правила спробуємо проексплуатувати вразливість ще раз. Тепер під час запуску шкідливого документа не відбувається нічого зайвого. Якщо переглянути журнал Trellix ENS, то можна побачити спрацювання нашого правила, вихідний та цільовий процес, а також рядок-експлоїт у відкритому вигляді.

Illustration

Крім відстеження процесів, Exploit Prevention дозволяє створювати правила контролю дій з файлами, сервісами, ключами реєстру, використанням API та спробами переповнення буфера.

Створення правил може здатися доволі складним процесом, але можливості, що надає Exploit Prevention, однозначно варті часу вивчення
документації.

Trellix MVISION EDR

Trellix Endpoint Security — базове рішення для захисту робочих станцій. З його допомогою блокується близько 80% як відомих, так і невідомих загроз. Підвищити рівень захисту дозволяє Trellix MVISION EDR, який проводить безперервний аналіз стану робочих станцій та аналізує кожну подію на них. Запуск служб, створення файлів, зміна ключів реєстру — все це буде ретельно досліджено та, у разі виявлення загрози, повідомлено аналітику безпеки.

Для тестування MVISION EDR було проведено спробу експлуатації з подальшим отриманням командної оболонки. Приблизно через хвилину EDR згенерував два інциденти: один для спроби експлуатації, другий — для дій після отримання командної оболонки.

Для кожного підозрілого файлу EDR вираховує хеш, зіставляє дії процесу з техніками по MITRE ATT&CK, а також проводить класифікацію шкідливих дій за власною методикою. Це розкриває причину недовіри до файлу, а також допомагає якісніше проводити розслідування.

У першому випадку EDR виявив техніки непрямого виконання коду (Indirect Code Execution) та ухилення від виявлення, бо для експлуатації використовується довірений підписаний виконуваний файл. Також за допомогою Trellix EDR можна побачити порядок запуску процесів та виконання команд: наприклад, аналогічно з Exploit Prevention ми бачимо вихідний рядок-експлоїт.

Illustration

У другому інциденті Trellix EDR виявив шкідливе мережне з'єднання та зафіксував кожен крок, зроблений зловмисником. Зі звіту видно, що були запущені утиліти ping, whoami, systeminfo, nslookup та ipconfig, що свідчить про ретельну розвідку. Також Trellix MVISION EDR вдалося виявити IP-адресу зловмисника та мережний порт, що прослуховує з'єднання. Це дозволить швидко заблокувати шкідливі мережні з’єднання та вберегти інші системи від зараження.

Illustration

Крім цього, за допомогою Trellix MVISION EDR можна шукати файли з певним ім'ям або хешем, а потім видаляти їх, поміщати заражену робочу станцію в карантин та проводити автоматичні розслідування. Детальніше — у наступних статтях.
Trellix Network Security Platform

Trellix успішно виявляє та блокує спроби експлуатації вразливостей на рівні робочих станцій, але на цьому його можливості не обмежуються. Для більш надійного захисту необхідно забезпечити виявлення однієї загрози максимальною кількістю різнопланових засобів безпеки. Наступною перешкодою на шляху Follina стане Trellix Network Security Platform (NSP) — система класу IDS/IPS, яка забезпечує видимість мережі, захист від мережевих вторгнень, DDOS-атак і шкідливого програмного забезпечення.

Відразу після спроби експлуатації CVE-2022-30190, NSP почав генерувати попередження критичної важливості про виявлену загрозу. На головній панелі моніторингу одразу можна побачити IP-адресу зловмисника і жертви цієї атаки. Крім цього, Trellix NSP дозволяє завантажити шкідливі мережеві пакети для більш глибокого вивчення, наприклад у Wireshark.

Illustration

Занурившись в інцидент, можна побачити за якими параметрами IPS виявив загрозу, а також подробиці про 7-й рівень моделі OSI. Важливо відзначити, що виявлення Follina відбувається на основі сигнатур, що може бути неефективним у перші дні появи загрози. Однак Trellix практично відразу випустив правило, що дозволило захиститися від цієї загрози.

Illustration

Для кожного виявлення в Trellix NSP надано короткий опис загрози, що дозволяє краще розуміти її небезпеку та можливі наслідки. Для отримання докладнішої інформації до кожного правила прикладається посилання на додаткові джерела.

Illustration

Загалом, Trellix Network Security Platform — це потужна та багатофункціональна IDS/IPS, для опису можливостей якої не вистачить і п'яти подібних статей. Але найголовніше, що для отримання гідних результатів потрібно тільки мінімальне налаштування системи.

Висновки

CVE-2022-30190 з кодовим ім'ям Follina — це серйозна загроза безпеці як для звичайних користувачів, так і для великих організацій.
Щоб ефективно протистояти подібним загрозам, необхідно впроваджувати рішення від перевірених виробників, які дозволять у найменші терміни виявляти нові загрози.

Trellix — гарний приклад надійних виробників. Всі його рішення максимально інтегровані між собою та демонструють високу ефективність. З Trellix користувачі та компанії можуть забезпечити комплексний захист інфраструктури та запобігти виникненню інцидентів.

Корисні посилання 

● MS-MSDT "Follina" Attack Vector
● 'Follina' MS-MSDT n-day Microsoft Office RCE
● Документація з продуктів Trellix
● Microsoft Windows Support Diagnostic Tool (MSDT) Remote Code Execution Vulnerability
● Qbot malware now uses Windows MSDT zero-day in phishing attacks
● Exfiltrating Data With Bookmarks