NotDoor Аналітика: Глибокий аналіз макросів Outlook та далі
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У цій статті досліджується бекдор NotDoor, який використовує шкідливі VBA макроси Outlook для підтримки стійкості та забезпечення командного і управлінського контролю. Вантаж доставляється через DLL-сайдлоадинг модифікованого SSPICLI.dll яка імітує легітимний OneDrive.exe бінарний файл. Заплутані PowerShell скрипти обробляють ексфільтрацію даних через webhook-сервіси і налаштовують реєстр Outlook для примусу виконання макросів. Керівництво по виявленню зосереджено на відстеженні підозрілих створень файлів, активності завантаження DLL, змін реєстру та закодованих команд PowerShell.
Аналіз бекдору NotDoor
Подальший аналіз показує, що зловмисна DLL створює тимчасовий каталог, записує вантаж у файл VBAProject.OTM та налаштовує ключі реєстру для дозволу всіх макросів. Вона потім запускає інструкції PowerShell, закодовані у base64, які викликають DNS та HTTP зворотні виклики до webhook.site and dnshook.site. Зміни в реєстрі включають активацію LoadMacroProviderOnBoot, зниження рівня безпеки в Outlook та модифікацію PONT_STRING щоб придушити безпекові запити.
Пом’якшення
Ключові заходи пом’якшення включають обмеження можливостей сайдлоадингу DLL, впровадження вимог підписання коду для виконуваних файлів, моніторинг створення VBAProject.OTM не-OUTLOOK процесами та блокування вихідних з’єднань до визначених доменів webhook. Крім того, команди можуть застосовувати принципи найменшого привілею до модифікацій реєстру та відключити автоматичне завантаження макросів, де це можливо.
Відповідь
При виявленні активності NotDoor ізолюйте компрометовану кінцеву точку, отримайте шкідливу DLL та пов’язані вантажі, проведіть судово-медичну оцінку редагувань реєстру та мережевих трас. Блокуйте пов’язані домени та IP-адреси, розпочніть ширший пошук подібної поведінки сайдлоадингу DLL, скиньте політики макросів Outlook та перевірте, щоб налаштування безпеки всіх користувачів були повернуті у підвищений стан.
graph TB %% Визначення класів classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef action fill:#99ccff classDef operator fill:#ff9900 %% Вузли – Дії / Техніки initial_access[“<b>Дія</b> – Початковий доступ через наявний плацдарм”] class initial_access action dll_sideload[“<b>Техніка</b> – <b>T1574.001 Перехоплення виконання: DLL</b><br/>OneDrive.exe завантажує шкідливу SSPICLI.dll через DLL‑sideloading”] class dll_sideload technique powershell[“<b>Техніка</b> – <b>T1059.001 Інтерпретатор команд і скриптів: PowerShell</b><br/>Виконуються Base64‑закодовані PowerShell‑команди для перевірки мережі та копіювання файлів”] class powershell technique office_macro[“<b>Техніка</b> – <b>T1137.001 Запуск через Office: Макроси шаблонів</b><br/>VBA‑макрос розміщено у %APPDATA%\\Microsoft\\Outlook\\VbaProject.OTM”] class office_macro technique vba_stomping[“<b>Техніка</b> – <b>T1564.007 Приховування артефактів: VBA‑Stomping</b><br/>Макрос відстежує вхідну пошту (Application_NewMailEx) для C2‑тригерів та ексфільтрації даних”] class vba_stomping technique vb_interpreter[“<b>Техніка</b> – <b>T1059.005 Інтерпретатор команд і скриптів: Visual Basic</b><br/>VBA‑код виконує команди та обмінюється даними через Outlook”] class vb_interpreter technique %% Вузли – Файли / Об’єкти file_oneDrive[“<b>Файл</b> – OneDrive.exe”] class file_oneDrive file file_sspicli[“<b>Файл</b> – SSPICLI.dll”] class file_sspicli file file_vba[“<b>Файл</b> – VbaProject.OTM”] class file_vba file email_monitor[“<b>Об’єкт</b> – Outlook Application<br/>Відстежує вхідну пошту (Application_NewMailEx)”] class email_monitor action outlook_comm[“<b>Об’єкт</b> – Outlook<br/>Здійснює C2‑зв’язок та ексфільтрацію даних”] class outlook_comm action %% Зв’язки – Хід атаки initial_access –>|призводить до| dll_sideload dll_sideload –>|використовує| file_oneDrive dll_sideload –>|завантажує| file_sspicli dll_sideload –>|запускає| powershell powershell –>|призводить до| office_macro office_macro –>|розміщує| file_vba office_macro –>|активує| vba_stomping office_macro –>|активує| vb_interpreter vba_stomping –>|відстежує| email_monitor vb_interpreter –>|взаємодіє через| outlook_comm
Потік атаки
Детекції
Виявлення шкідливих модифікацій реєстру шкідливим програмним забезпеченням NotDoor [Подія реєстру Windows]
Переглянути
Виконання закодованої команди PowerShell [Windows PowerShell]
Переглянути
IOCs (HashSha256) для виявлення: Детальний аналіз NotDoor: Пильний погляд на макроси Outlook та інше
Переглянути
Outlook на основі стійкості пошти (через file_event)
Переглянути
Можливе зловживання Outlook / Пониження безпеки (через registry_event)
Переглянути
Виконання симуляції
Передумова: Телеметрія та базова перевірка на відповідність повинні пройдені.
Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), розробленої для запуску правила виявлення. Команди та наратив ПОВИННІ прямо відображати визначені TTP та спрямовані на генерування точного телеметрії, очікуваної логікою виявлення.
-
Опис атаки та команди:
Зловмисник, який отримав виконання на рівні користувача на машині жертви, впроваджує шкідливе програмне забезпечення NotDoor. Мета шкідливого програмного забезпечення – забезпечити автоматичне завантаження Outlook шкідливого макросу при старті системи, відключити попередження безпеки та подавити діалогові вікна. Для досягнення цього зловмисник записує три певні значення реєстру в гілку Outlook:-
LoadMacroProviderOnBootвстановлено на1підHKCUSoftwareMicrosoftOutlook– примушує Outlook завантажувати постачальника макросів при кожному завантаженні. -
Рівеньвстановлено на1підHKCUSoftwareMicrosoftOutlookSecurity– знижує рівень безпеки макросів. -
PONT_STRINGвстановлено на шкідливий CLSID підHKCUSoftwareMicrosoftOutlookOptionsGeneral– вказує Outlook на шкідливу DLL макросу.
Ці записи генерують події зміни реєстру, які задовольняють
selection1and (selection2orselection3) у Sigma правилі, викликаючи спрацювання сповіщення. -
-
Сценарій регресійного тестування:
# Імітація модифікації реєстру NotDoor – PowerShell function Set-NotDoorOutlookRegistry { # 1. Активувати постачальника макросів при завантаженні New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -Value 1 -PropertyType DWORD -Force # 2. Знизити рівень попередження про безпеку New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -Value 1 -PropertyType DWORD -Force # 3. Вказати на шкідливий макрос (імітований CLSID) $maliciousClsid = "{12345678-1234-1234-1234-123456789ABC}" New-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -Value $maliciousClsid -PropertyType String -Force } # Виконання імітованої атаки Set-NotDoorOutlookRegistry -
Команди очищення:
# Видалити імітовані модифікації реєстру NotDoor Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlook" ` -Name "LoadMacroProviderOnBoot" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookSecurity" ` -Name "Level" -ErrorAction SilentlyContinue Remove-ItemProperty -Path "HKCU:SoftwareMicrosoftOutlookOptionsGeneral" ` -Name "PONT_STRING" -ErrorAction SilentlyContinue