Демон приходить пізніше: стейджер Havoc приховується за Microsoft Defender DLP
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники в Бразилії поширюють підроблені електронні рахунки NF-e ZIP-вкладення, що доставляють шкідливий MSI-інсталятор. MSI скидає підроблений Microsoft Defender Endpoint DLP DLL, який фактично функціонує як завантажувач Havoc. Після запуску, завантажувач з’єднується з сервером командування та керування, отримує в пам’яті навантаження Havoc і створює стійкість через Сценарій входу значення реєстру. Подібні варіанти також спостерігалися на доменах, зареєстрованих у Малайзії, із використанням тієї самої оболонки доставки.
Розслідування
LevelBlue SpiderLabs проаналізували архів ZIP, VBS дропер та MSI пакет, виявивши підписаний бінарний файл Microsoft, mpextms.exe, у парі з непідписаним endpointdlp.dll завантажувачем. Завантажувач містив конфігураційні значення у відкритому тексті, включаючи хост командування та керування, URL шляхи та рядок мутексу. Захоплення мереж показало GET і POST трафік до певних IP-адрес разом з унікальними значеннями користувацьких агентів. Дослідники ідентифікували дев’ять споріднених варіантів завантажувача, що мали спільні метадані версії та хеш-імпорт.
Мітигація
Захисники повинні виявляти непідписані DLL, що маскуються під компоненти Microsoft Defender Endpoint DLP або Dragon Data Protection, та моніторити зміни у HKCUEnvironmentUserInitMprLogonScript, і попереджати про відомий значення мутексу. Опубліковане YARA правило слід впровадити для виявлення завантажувача до завантаження навантаження Havoc. Команди безпеки також повинні перевіряти підписи Authenticode на всіх бінарних файлах від Microsoft, які доставляються всередині архівів.
Відповідь
Якщо виявлено цю активність, заблокуйте пов’язані IP-адреси та домени, помістіть у карантин MSI та DLL файли, і видаліть шкідливий Сценарій входу запис у реєстрі. Проведіть судово-медичну експертизу хоста, щоб підтвердити, що в пам’яті більше неактивний навантаження Havoc, і змінюйте облікові дані для постраждалих користувачів. Відповідні бізнес-команди повинні бути проінформовані, а захист електронної пошти має бути оновлено для блокування подібних вкладень з темою NF-e.
graph TB %% Опис класів classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% Вузли action_phishing[“<b>Дія</b> – <b>T1566.001 Фішинг: цільовий фішинговий вкладений файл</b><br/>Доставка шкідливого ZIP-архіву, замаскованого під бразильський рахунок-фактуру NF-e”] class action_phishing action action_vbscript[“<b>Дія</b> – <b>T1059.005 Інтерпретатор команд і сценаріїв: Visual Basic</b><br/>Прихований VBScript запускає прихований cmd-процес, який ініціює завантаження MSI”] class action_vbscript action action_download_msi[“<b>Дія</b> – <b>T1218.007 Проксі-виконання підписаного бінарного файлу: Msiexec</b><br/>Викликається Curl для завантаження <i>update.msi</i> із Google Cloud Storage”] class action_download_msi action action_msi_execution[“<b>Дія</b> – <b>T1218.007 Проксі-виконання підписаного бінарного файлу: Msiexec</b><br/>Msiexec запускає MSI, який містить підписаний <i>mpextms.exe</i> та шкідливий файл <i>endpointdlp.dll</i>”] class action_msi_execution action action_dll_sideload[“<b>Дія</b> – <b>T1218 Бічне завантаження DLL</b> та <b>T1036.001 Маскування</b><br/><i>endpointdlp.dll</i> імітує DLL Microsoft Defender, але не має дійсного цифрового підпису”] class action_dll_sideload action action_stager_c2[“<b>Дія</b> – <b>T1102.002 Протокол прикладного рівня: вебпротоколи</b><br/>Стейджер надсилає GET /stage/<hex> із власним User-Agent «Microsoft-Delivery-Optimization/10.1»”] class action_stager_c2 action action_download_havoc[“<b>Дія</b> – <b>T1219 Засіб віддаленого доступу</b><br/>Агент Havoc завантажується через HTTP та виконується безпосередньо в пам’яті без запису на диск”] class action_download_havoc action action_persistence[“<b>Дія</b> – <b>T1037.001 Сценарій входу в систему</b><br/>Створює запис HKCU\Environment\UserInitMprLogonScript для запуску <i>mpextms.exe</i> під час входу користувача”] class action_persistence action action_telemetry[“<b>Дія</b> – <b>T1102.003 Протокол прикладного рівня: вебпротоколи</b><br/>Надсилання POST /api/v2/telemetry/diag на сервер C2”] class action_telemetry action action_defense_evasion[“<b>Дія</b> – <b>T1027.013 Обфусковані файли або інформація: вбудоване корисне навантаження</b>, <b>T1027.010 Бінарне доповнення</b>, <b>T1564.003 Приховування артефактів</b><br/>Корисне навантаження зашифроване, команди обфусковані та виконуються у прихованих вікнах”] class action_defense_evasion action %% Зв’язки, що відображають ланцюг атаки action_phishing –>|призводить_до| action_vbscript action_vbscript –>|ініціює| action_download_msi action_download_msi –>|викликає| action_msi_execution action_msi_execution –>|встановлює| action_dll_sideload action_dll_sideload –>|взаємодіє_з| action_stager_c2 action_dll_sideload –>|створює| action_persistence action_stager_c2 –>|завантажує| action_download_havoc action_stager_c2 –>|надсилає| action_telemetry action_download_havoc –>|забезпечує| action_defense_evasion
Потік атаки
Виявлення
Можливі точки стійкості [ASEPs – Програмне забезпечення/NTUSER Hive] (через registry_event)
Перегляд
Підозріле використання CURL (через cmdline)
Перегляд
Індикатори компрометації (HashSha256) для виявлення: Демон прибуває пізніше: Завантажувач Havoc ховається за Microsoft Defender DLP
Перегляд
Індикатори компрометації (HashMd5) для виявлення: Демон прибуває пізніше: Завантажувач Havoc ховається за Microsoft Defender DLP
Перегляд
Індикатори компрометації (SourceIP) для виявлення: Демон прибуває пізніше: Завантажувач Havoc ховається за Microsoft Defender DLP
Перегляд
Індикатори компрометації (DestinationIP) для виявлення: Демон прибуває пізніше: Завантажувач Havoc ховається за Microsoft Defender DLP
Перегляд
Виявлення мережевої активності завантажувача Havoc [Windows Network Connection]
Перегляд
Стійкість через зміну реєстру UserInitMprLogonScript [Подія реєстру Windows]
Перегляд
Виконання симуляції
Необхідна умова: Телеметрія та перевірка бази даних повинні пройти.
Аргументація: У цьому розділі детально описується точне виконання техніки супротивника (TTP), призначеної для запуску правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати TTPs, які ідентифіковано, і прагнучи створити точну телеметрію, яку очікує логіка виявлення.
-
Розповідь атаки та команди:
Зловмисник, який вже отримав початкову точку доступу на машині жертви, бажає зберігати стійкість на всіх входах користувачів. Вони обирають значенняUserInitMprLogonScriptтому що воно запускається до запуску оболонки користувача, надаючи раннє виконання коду. Зловмисник розміщує прихований бінарний файлmpextms.exe(перейменовану версіюrundll32.exe) у папці AppData користувача та створює шкідливий DLLendpointdlp.dllякий виконує злив даних облікових записів. Встановивши значення реєстру на"%APPDATA%mpextms.exe" "%APPDATA%endpointdlp.dll", зловмисник забезпечує, що при кожному вході DLL завантажується через підписаний проксі, дотримуючисьrundll32.exeу той же час уникаючи простих білих списків бінарних файлів. у той же час уникаючи простих білих списків бінарних файлів. and у той же час уникаючи простих білих списків бінарних файлів. while evading naive binary whitelists. -
Сценарій тестування регресії:
# ------------------------------------------------- # Крок 1: Підкидання шкідливих бінарних файлів (симуляція) $payloadDir = "$env:APPDATAMalicious" New-Item -ItemType Directory -Path $payloadDir -Force | Out-Null # Симульоване 'mpextms.exe' – з використанням rundll32.exe, перейменованого для реалістичності $src = "$env:SystemRootSystem32rundll32.exe" $dstExe = Join-Path $payloadDir "mpextms.exe" Copy-Item -Path $src -Destination $dstExe -Force # Симульований шкідливий DLL (порожній файл для тестових цілей) $dllPath = Join-Path $payloadDir "endpointdlp.dll" New-Item -ItemType File -Path $dllPath -Force | Out-Null # Крок 2: Створення запису стійкості в реєстрі $regPath = 'HKCU:Environment' $regName = 'UserInitMprLogonScript' $regValue = "`"$dstExe`" `"$dllPath`"" Set-ItemProperty -Path $regPath -Name $regName -Value $regValue -Force Write-Host "Створено запис стійкості: $regName = $regValue" # ------------------------------------------------- -
Команди очищення:
# Видалення запису стійкості в реєстрі Remove-ItemProperty -Path 'HKCU:Environment' -Name 'UserInitMprLogonScript' -ErrorAction SilentlyContinue # Видалення скинутих файлів $payloadDir = "$env:APPDATAMalicious" Remove-Item -Path $payloadDir -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Очищення завершено."