Непомітність у шарах: розкриття завантажувача, використаного в цільових електронних кампаніях
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Широко доступний завантажувач використовується декількома зловмисниками для доставки різних RATs та крадіїв інформації через фішингові електронні листи з небезпечними вкладеннями JavaScript, PowerShell, LNK та ZIP. Завантажувач поєднує стеганографію, відбивальне завантаження, процесне порожнисте, і новий метод обходу UAC для виконання без файлів та підвищення привілеїв. Діяльність спостерігалася, що націлюється на виробництво та урядові установи в Європі та на Близькому Сході, з очевидною метою крадіжки промислових даних та облікових даних.
Розслідування
Cyble Research and Intelligence Labs проаналізували ланцюг доставки та окреслили чотиристадійний процес обходу. Він починається з обфусцированного завантажувача на JavaScript, переходить до стеганографічного завантажувача PowerShell, зловживає троянізованою бібліотекою TaskScheduler і завершується ін’єкцією корисного навантаження в RegAsm.exe. Конечне шкідливе програмне забезпечення – PureLog Stealer, яке збирає облікові дані браузера, дані криптогаманця та інформацію про хост/систему для ексфільтрації.
Пом’якшення
Використовуйте розширений захист електронної пошти з детонацією в пісочниці, блокуйте виконання скриптів з вмісту, доставленого електронною поштою, забезпечте Режим обмеженої мови PowerShell і монітор для порожняння легітимних бінарних файлів Windows. Додайте спрацювання для стеганографії у графічних файлах і налаштуйте правила EDR, щоб відобразити відбивальне завантаження .NET збірок і моделі обходу UAC, асоційовані з цим ланцюгом завантажувачів.
Відповідь
Якщо виявлено індикатори, ізолюйте кінцеву точку, зупиніть підозрілу діяльність PowerShell і WMI, захопіть образи пам’яті і шукайте артефакти відбивального .NET і процеси, ін’єковані у RegAsm.exe. Скиньте можливі викриті облікові дані та блокуйте відповідні шкідливі домени й IP-адреси, щоб запобігти повторному зараженню і подальшій активності.
“graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions act_phishing[“<b>Action</b> – <b>T1566.001 Фішингове вкладення</b><br /><b>Опис</b>: Надіслати шкідливе вкладення електронної пошти, що експлуатує уразливість Office.”] class act_phishing action act_exploit[“<b>Action</b> – <b>T1203 Експлуатація для виконання клієнта</b> (CVEu20112017u201111882)<br /><b>Опис</b>: Триггер уразливості в Microsoft Office для виконання коду.”] class act_exploit action act_obfuscate[“<b>Action</b> – <b>T1027 Обфусцировані файли або інформація</b><br /><b>Опис</b>: Завантажити обфусцирований JavaScript або PowerShell, щоб приховати зловмисний намір.”] class act_obfuscate action act_stego[“<b>Action</b> – <b>T1027.003 Стеганографія</b><br /><b>Опис</b>: Вбудувати корисне навантаження всередину PNG-зображення для уникнення виявлення.”] class act_stego action act_reflective_load[“<b>Action</b> – <b>T1620 Відбивальне завантаження коду</b><br /><b>Опис</b>: Завантажити .NET збірку в пам’ять без запису на диск.”] class act_reflective_load action act_regasm[“<b>Action</b> – <b>T1218.009 Проксі-використання RegAsm</b><br /><b>Опис</b>: Зловживання RegAsm для виконання довільного коду .NET.”] class act_regasm action act_process_hollow[“<b>Action</b> – <b>T1055.012 Процесне порожнє</b><br /><b>Опис</b>: Замінити пам’ять легітимного процесу зловмисним кодом.”] class act_process_hollow action act_uac_bypass[“<b>Action</b> – <b>T1548.002 Обхід контролю облікових записів користувачів</b><br /><b>Опис</b>: Підвищити привілеї без запиту до користувача.”] class act_uac_bypass action act_cred_steal[“<b>Action</b> – <b>T1555.003 Облікові дані з веб-браузерів</b><br /><b>Опис</b>: Витягти збережені облікові дані браузера.”] class act_cred_steal action act_data_collect[“<b>Action</b> – <b>T1119 Автоматизоване збирання</b><br /><b>Опис</b>: Збирати файли та інформацію про систему.”] class act_data_collect action act_exfil[“<b>Action</b> – <b>T1102 Ексфільтрація через веб-службу</b> / <b>T1041 Ексфільтрація через C2-канал</b><br /><b>Опис</b>: Надіслати зібрані дані на віддалений сервер через веб-службу.”] class act_exfil action %% Connections act_phishing u002du002d>|веде до| act_exploit act_exploit u002du002d>|веде до| act_obfuscate act_obfuscate u002du002d>|веде до| act_stego act_stego u002du002d>|веде до| act_reflective_load act_reflective_load u002du002d>|веде до| act_regasm act_regasm u002du002d>|веде до| act_process_hollow act_process_hollow u002du002d>|веде до| act_uac_bypass act_uac_bypass u002du002d>|веде до| act_cred_steal act_cred_steal u002du002d>|веде до| act_data_collect act_data_collect u002du002d>|веде до| act_exfil “
Потік атаки
Виявлення
LOLBAS WScript / CScript (через process_creation)
Перегляд
Файл зображення був створений підозрілим процесом (через file_event)
Перегляд
Підозрілі рядки Powershell (через powershell)
Перегляд
Можливий Інтернет-архів, вирішений незвичайним процесом (через dns_query)
Перегляд
Виклик підозрілих методів .NET з Powershell (через powershell)
Перегляд
Підозріле завантаження файлу з прямої IP адреси (через proxy)
Перегляд
IOC (SourceIP) для виявлення: Прихованість у шарах: Розкриття завантажувача, використаного в цільових імейл-кампаніях
Перегляд
IOC (DestinationIP) для виявлення: Прихованість у шарах: Розкриття завантажувача, використаного в цільових імейл-кампаніях
Перегляд
IOC (HashSha256) для виявлення: Прихованість у шарах: Розкриття завантажувача, використаного в цільових імейл-кампаніях
Перегляд
Виявлення прихованого PowerShell і розкодовування рядка із Base64 [Windows Powershell]
Перегляд
Створення об’єкта WMI та виявлення процесного пустіння [Створення процесу Windows]
Перегляд
Випробування симуляції
Необхідна умова: Телеметрія та перевірка базової лінії Pre‑flight повинні бути пройдені.
Обґрунтування: У цьому розділі детально описується точне виконання техніки противника (TTP), призначеної для триггеру правила виявлення. Команди та опис винні безпосередньо відповідати визначеним TTPs і мати на меті згенерувати саме ту телеметрію, яку очікує логіка виявлення.
-
Атаковий наратив і команди:
Противник відправляє фішинговий імейл, що містить вкладення JPEG з прихованим корисним навантаженням PowerShell, стеганографічно вбудованим. Після відкриття вкладення, скрипт першої стадії атакуючого витягує приховані дані, декодує їх з Base64 і запускає завантажувач PowerShell другої стадії в прихованому вікні. Завантажувач потім контактує з сервером C2 для завантаження додаткових інструментів. Точна командна лінія, сгенерована на хості жертви, виглядає так:powershell -WindowStyle Hidden -EncodedCommand <Base64String>Оскільки атакуючий явно включає слово “Base64” в скрипт (наприклад, використовуючи
-EncodedCommandобгортку, що друкує “Base64” у коментарях), правило виявленняselection_base64_decoded_scriptумова збігається, і прапор прихованого вікна задовольняєselection_hidden_powershell. -
Скрипт регресійного тестування:
# емулювання завантажувача PowerShell з прихованим Base64 # ------------------------------------------------- # Крок 1: Створіть фіктивний скрипт PowerShell $script = 'Write-Host "Заражений хост: $env:COMPUTERNAME"; Start-Sleep -Seconds 30' # Крок 2: Закодуйте у Base64 (Unicode) $bytes = [System.Text.Encoding]::Unicode.GetBytes($script) $b64 = [Convert]::ToBase64String($bytes) # Крок 3: Запустіть прихований PowerShell з закодованим корисним навантаженням Start-Process -FilePath "powershell.exe" ` -ArgumentList "-WindowStyle Hidden -EncodedCommand $b64" ` -WindowStyle Hidden ` -NoNewWindow # Присутність рядка "Base64" в коментарі задовольняє правило. -
Команди очищення:
# Завершити всі приховані процеси PowerShell, запущені тестом Get-Process -Name "powershell" | Where-Object { $_.StartInfo.Arguments -match "-WindowStyle Hidden" } | Stop-Process -Force # Опціонально: Видаліть усі тимчасові файли (жодного не створено в цьому скрипті)