Всередині TAG-150: Еволюція торгівлі з DinDoor, DenoRAT та NightshadeC2
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
TAG-150 використовує складний багатоступеневий ланцюг проникнення, заснований на шкідливому програмному забезпеченні на основі Deno. Кампанія покладається на соціальну інженерію в стилі ClickFix для ініціювання виконання MSI інсталятора, який потім розгортає DinDoor, DenoRAT, і врешті-решт NightshadeC2. Використовуючи середовище виконання Deno, нападники отримують розширений віддалений доступ і можливості крадіжки інформації.
Розслідування
Підрозділ швидкого реагування на загрози eSentire порушив командування в стилі ClickFix всередині середовища одного з фінансових клієнтів. Розслідування виявило послідовність зараження, яка почалася з команди вікна запуску Windows, після чого була AI-згенерована стадія PowerShell, Griffin20.ps1, яка використовувалася для встановлення середовища виконання Deno. Наступні стадії включали DinDoor, DenoRAT, і завантажувач на основі Python, що в пам’яті доставляв NightshadeC2 RAT.
Заходи пом’якшення
Організації повинні розглянути можливість відключення вікна запуску Windows через об’єкти політики групи, де це можливо з операційної точки зору. Також рекомендується впровадження сильної програми тренувань з питань фішингу і безпеки, щоб зменшити успішність спроб ClickFix-стильних уловок. Розгортання антивірусів наступного покоління або рішень для виявлення та реагування на кінцеві точки є важливим для видимості, виявлення і стримування.
Відповідь
Якщо ця активність виявлена, слід негайно ізолювати постраждалий хост для стримання ланцюга зараження. Організації повинні залучити провайдера управління виявленням і реагуванням 24/7 або еквівалентну команду реагування на інциденти для підтримки швидкого стримування та повного виправлення. Рекомендується також постійний моніторинг виявлених компонентів шкідливого програмного забезпечення на основі Deno.
Потік атаки
Виявлення
Можливі точки стійкості [ASEPs – Software/NTUSER Hive] (через registry_event)
Переглянути
Виконання Python з підозрілих папок (через cmdline)
Переглянути
Завантаження або вивантаження через Powershell (через cmdline)
Переглянути
Можлива спроба зловживання середовищем виконання Deno (через process_creation)
Переглянути
LOLBAS Conhost (через cmdline)
Переглянути
Виклик підозрілих методів .NET з Powershell (через powershell)
Переглянути
Завантаження підозрілого виконуваного файлу (через proxy)
Переглянути
IOC (HashSha256) для виявлення: DinDoor, DenoRAT і NightshadeC2: Аналіз еволюційних методів TAG-150
Переглянути
Виявлення запитів GET до користувача та кінцевих точок подій-повідомлень, пов’язаних з DenoRAT [Windows Network Connection]
Переглянути
Виконання симуляції
Попередня умова: Перевірка попередньої телеметрії та базових умов повинна бути пройдена.
Обґрунтування: Цей розділ детально описує точне виконання техніки противника (TTP), створеної для активації правила виявлення. Команди і розповідь МАЮТЬ точно відображати виявлені TTP і прагнути генерувати саме ту телеметрію, яку очікує логіка виявлення. Абстрактні або нерелевантні приклади призведуть до неправильного діагнозу.
-
Історія атаки та команди: Противник успішно закріпив свою позицію на хості Windows і намагається активувати своє маяк DenoRAT. Щоб уникнути традиційних підписних EDR, зловмисне ПЗ використовує мережеві патерни “Жити від землі”, комунікуючи через стандартний HTTP/S. Шкідливе ПЗ спробує перевірити на C2 сервер, відправивши запити GET до конкретних кінцевих точок
/userand/message-event. Ця імітація моделює поведінку маяка, щоб перевірити, що логіка виявлення SOC спрацьовує, коли ці специфічні рядки з’являються у журналах доступу в Інтернет. -
Скрипт для регресійного тестування:
# Скрипт симуляції маяка DenoRAT C2 # Цей скрипт моделює специфічні HTTP GET запити, що використовуються DenoRAT для спрацьовування правила виявлення. $C2_URL = "http://localhost" # Змініть на адресу вашого локального веб-сервера для тестування $Endpoints = @("/user", "/message-event") Write-Host "[+] Запуск симуляції DenoRAT C2..." -ForegroundColor Cyan foreach ($Endpoint in $Endpoints) { $Target = $C2_URL + $Endpoint Write-Host "[*] Моделюється перевірка C2: $Target" -ForegroundColor Yellow try { # Виконання GET запиту $Response = Invoke-WebRequest -Uri $Target -Method Get -ErrorAction SilentlyContinue Write-Host "[+] Запит відправлено. Код статусу: $($Response.StatusCode)" -ForegroundColor Green } catch { # Ми очікуємо на 404, якщо кінцеві точки насправді не існують, що прийнятно для тестування телеметрії Write-Host "[!] Запит відправлено (Очікуваний 404/Помилка з'єднання): $_" -ForegroundColor Gray } Start-Sleep -Seconds 2 } Write-Host "[+] Симуляція завершена." -ForegroundColor Cyan -
Команди очищення:
# Ніякі постійні зміни не вносяться симуляційним скриптом. # Щоб очистити журнали веб-сервера, якщо необхідно (Обережно: Це видаляє журнали!): # Remove-Item -Path "C:inetpublogsLogFilesW3SVC1*.log" -Force Write-Host "[+] Очищення: Постійні артефакти не були створені." -ForegroundColor Green