UAC-0001 (APT28) Атаки із використанням CVE-2026-21509
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
APT28 (спостерігався як UAC-0001) експлуатує нещодавно виявлену уразливість Microsoft Office з номером CVE-2026-21509 для доставки шкідливих завантажень проти українських урядових цілей та організацій по всьому ЄС. Втручання починається з використаного DOC, який змушує запит WebDAV для отримання додаткових компонентів, а потім налаштовує викрадення COM для запуску завантажувача на основі DLL, який запускає фреймворк Covenant. Активність також використовує легітимне Filen хмарне зберігання як частину своєї мережевої інфраструктури. Кампанія була помічена у кінці січня 2026 року.
Розслідування
Аналіз шкідливих DOC-файлів показав, що відкриття їх в Office ініціює з’єднання WebDAV, яке завантажує DLL під назвою EhStoreShell.dll разом із зображенням оболонки PNG. DLL стає стійким через викрадення реєстрації CLSID COM, а заплановане завдання під назвою OneDriveHealth використовується для спрацьовування explorer.exe, який завантажує викрадений об’єкт COM. Завантажувач потім запускає Covenant, з контролем оператора через кінцеві точки під керівництвом Filen.
Пом’якшення
Без зволікань застосуйте оновлення Office від Microsoft, яке вирішує CVE-2026-21509. Вимкніть або з великими обмеженнями використовуйте WebDAV в Office, де це можливо. Видаліть шкідливу реєстрацію реєстру CLSID та видаліть заплановане завдання OneDriveHealth. Блокуйте вихідний доступ до доменів Filen та пов’язаних IP, а також моніторьте кінцеві точки на створення зазначених артефактів DLL та PNG.
Відповідь
Сповістіть про створення EhStoreShell.dll, SplashScreen.png та зміни під шляхом викраденого реєстру CLSID. Виявляйте та розслідуйте створення запланованих завдань, яке відповідає OneDriveHealth. Корелюйте активність процесу Office з вихідними з’єднаннями до доменів Filen, карантинізуйте пов’язані документи та проведіть повну судмедекспертизу з уражених систем.
Потік атаки
Виявлення
Підозріле виконання Taskkill (через командний рядок)
Proof of Value
Schtasks вказує на підозрілий каталог / бінарний файл / скрипт (через командний рядок)
Proof of Value
Може бути викрадення COM Explorer (через подію реєстру)
Proof of Value
Може бути зловживання протоколом URI Search / Search-MS (через командний рядок)
Proof of Value
Потенційно підозріла поведінка створення, запуску, видалення запланованого завдання (через створення процесу)
Proof of Value
Можлива інфільтрація / ексфільтрація даних / C2 через сторонні сервіси / інструменти (через проксі)
Proof of Value
Можлива інфільтрація / ексфільтрація даних / C2 через сторонні сервіси / інструменти (через DNS)
Proof of Value
LOLBAS Regsvr32 (через командний рядок)
Proof of Value
IOC (DestinationIP) для виявлення: Бюлетень CERT-UA: Нападки UAC-0001 (APT28) з використанням CVE-2026-21509
Proof of Value
IOC (HashSha256) для виявлення: Бюлетень CERT-UA: Нападки UAC-0001 (APT28) з використанням CVE-2026-21509
Proof of Value
IOC (HashSha1) для виявлення: Бюлетень CERT-UA: Нападки UAC-0001 (APT28) з використанням CVE-2026-21509
Proof of Value
IOC (HashMd5) для виявлення: Бюлетень CERT-UA: Нападки UAC-0001 (APT28) з використанням CVE-2026-21509
Proof of Value
IOC (Emails) для виявлення: Бюлетень CERT-UA: Нападки UAC-0001 (APT28) з використанням CVE-2026-21509
Proof of Value
IOC (SourceIP) для виявлення: Бюлетень CERT-UA: Нападки UAC-0001 (APT28) з використанням CVE-2026-21509
Proof of Value
Виявлення викрадення COM через зміну реєстру [Подія реєстру Windows]
Proof of Value
Зловмисні мережеві з’єднання, пов’язані з кібернападом APT28 [З’єднання з мережею Windows]
Proof of Value
Підозрілі створення файлів, навмисно маскуючись як розширення конкретних задач (Захід події Windows]
Proof of Value
Виконання моделювання
Передумови: Попередня перевірка телеметрії та еталонного стану має пройти успішно.
Обґрунтування: У цьому розділі детально описується точне виконання техніки опонента (TTP), призначене для активації правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати визначені TTPs і мають на меті генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні чи непов’язані приклади призведуть до неправильної діагностики.
-
Сценарій атаки та команди:
Зловмисник отримав точку доступу на комп’ютері жертви і хоче досягти стійкості та прихованого виконання коду. Вони обирають рідко використовуваний CLSID{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}який навряд чи буде викликаний легітимним програмним забезпеченням. За допомогою PowerShell (T1218.010) вони записують шлях до шкідливого DLL у розділInProcServer32за бажанням встановлюючи значенняThreadingModelна"Both"щоб задовольнити вимоги завантаження COM. Після реєстрації будь-яка легітимна програма, яка спробує інстанціювати цей об’єкт COM, завантажить DLL, контрольований зловмисником, що може згодом викликатиrundll32.exe(T1218.009) для виконання навантаження, яке контактує з інфраструктурою C2 зловмисника (T1584.001). -
Скрипт регресивного тестування:
# ------------------------------- # Моделювання викрадення COM (T1546.015) # ------------------------------- $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}' $regPath = "HKLM:SoftwareClassesCLSID$clsidInProcServer32" # Переконайтеся, що ключ існує New-Item -Path $regPath -Force | Out-Null # Встановіть значення за замовчуванням на шлях до шкідливого DLL (вважаймо, що DLL вже є на диску) $maliciousDll = "C:Tempevil.dll" Set-ItemProperty -Path $regPath -Name '(Default)' -Value $maliciousDll # ДОДАТКОВО: встановіть ThreadingModel на Both (деякі COM-об'єкти цього вимагають) Set-ItemProperty -Path $regPath -Name 'ThreadingModel' -Value 'Both' Write-Host "[+] Викрадення реєстру створено для CLSID $clsid, що вказує на $maliciousDll" -
Команди очищення:
# ------------------------------- # Очищення моделювання викрадення COM # ------------------------------- $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}' $regPath = "HKLM:SoftwareClassesCLSID$clsid" # Видалити весь ключ дерева CLSID if (Test-Path $regPath) { Remove-Item -Path $regPath -Recurse -Force Write-Host "[+] Видалено викрадений CLSID $clsid з реєстру." } else { Write-Host "[*] CLSID $clsid не присутній; нема чого чистити." }