SOC Prime Bias: Середній

02 Jun 2026 15:23 UTC

DonutLoader знову в дії у сучасній кампанії Remcos RAT

Author Photo
SOC Prime Team linkedin icon Стежити
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

G DATA виявила нову кампанію Remcos RAT, яка починається з шкідливого batch-файлу і проходить через кілька скриптових рівнів, включаючи PowerShell, VBScript і AutoIt, щоб отримати та запустити завантажувальний код DonutLoader. Завантажувач в кінцевому підсумку вводить фінальний Remcos RAT у легітимний бінарний файл Windows colorcpl.exe. Протягом ланцюга зловмисники використовують довірені інструменти, такі як 7-Zip, сховище pCloud та кілька LOLBins, щоб зробити активність виглядом рутинною. Використання shellcode створеного Donut для інжекції процесу відзначає помітну еволюцію у сучасній доставці Remcos.

Розслідування

Дослідники прослідкували повний шлях інфекції від фішинг-вкладення під назвою Bestellung.CMD, який запускав cscript.exe для виконання проксі VBScript, який декодував команду PowerShell, закодовану в Base64. Ця PowerShell стадія завантажувала утиліти 7-Zip і архів із паролем з pCloud, потім розпаковувала файл JScript, який викидав інтерпретатор AutoIt і фальшивий PNG, що містив додатковий вміст корисного навантаження. Компонент AutoIt декодував зашифровані XOR дані, відновлював shellcode DonutLoader та інжектував його у colorcpl.exe, де Remcos RAT версії 7.2.1 Pro був виконаний.

Пом’якшення

Захисники повинні спостерігати за підозрілою використанням cscript.exe, SyncAppvPublishingServer.vbs, та команд PowerShell IEX з контентом, закодованим в Base64, особливо коли ці процеси походять з batch-файлів. Виявлення також повинно покривати несподівані появи 7z.exe and 7z.dll в користувацьких директоріях, разом з неавторизованими бінарними AutoIt. Протекції на основі поведінки мають бути налаштовані для виявлення інжекції процесу у colorcpl.exe та активності, що відповідає shellcode, створеному Donut.

Відповідь

Якщо ця активність буде виявлена, негайно ізолюйте уражену систему, прекратіть підозрілі процеси і захопіть пам’ять для аналізу shellcode. Слідчі повинні розглянути викинуті файли та будь-які видалені артефакти для відтворення повного ланцюга виконання, блокуючи при цьому зв’язок з ідентифікованою командно-контрольною інфраструктурою. Відновлення має включати видалення Remcos RAT та очищення будь-яких легітимних утиліт, зловживаних під час атаки.

graph TB %% Визначення класів classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ff9999 classDef misc fill:#dddddd %% Вузли phish_spear[“<b>Дія</b> – <b>T1566.001 Фішинг: вкладення spearphishing</b><br/><b>Файл</b>: Bestellung.CMD”]:::technique cmd_shell[“<b>Техніка</b> – <b>T1059.003 Інтерпретатор команд і скриптів</b><br/>Windows Command Shell”]:::technique vbscript[“<b>Техніка</b> – <b>T1059.005 Інтерпретатор команд і скриптів</b><br/>Visual Basic (cscript.exe + .vbs)”]:::technique syncappv_proxy[“<b>Техніка</b> – <b>T1216.002 Виконання через проксі системного скрипта</b><br/>SyncAppvPublishingServer”]:::technique powershell_hidden[“<b>Техніка</b> – <b>T1059.001 Інтерпретатор команд і скриптів</b><br/>PowerShell (прихований, декодування Base64)<br/><b>Підтехніки</b>: T1027.009 вбудовані корисні дані, T1564.003 приховане вікно”]:::technique ingress_transfer[“<b>Техніка</b> – <b>T1105 Вхідний інструментальний трансфер</b><br/>Завантаження утиліт 7z та ZIP, захищеного паролем<br/><b>Підтехніка</b>: T1027.015 стиснення”]:::technique javascript_masq[“<b>Техніка</b> – <b>T1059.007 Інтерпретатор команд і скриптів</b><br/>JavaScript (iphdcrtj.js)<br/><b>Маскування</b>: T1036.008 підроблений PNG із AutoIt-скриптом”]:::technique process_injection[“<b>Техніка</b> – <b>T1055 Інжекція процесів</b><br/>Ін’єкція в colorcpl.exe”]:::technique reflective_loader[“<b>Техніка</b> – <b>T1620 Рефлективне завантаження коду</b><br/>DonutLoader shellcode → програмне забезпечення віддаленого доступу (Remcos RAT)”]:::technique c2_comm[“<b>Техніка</b> – <b>T1071 Протокол прикладного рівня</b><br/>C2-комунікація”]:::technique %% Зв’язки phish_spear –>|веде_до| cmd_shell cmd_shell –>|веде_до| vbscript vbscript –>|веде_до| syncappv_proxy syncappv_proxy –>|веде_до| powershell_hidden powershell_hidden –>|веде_до| ingress_transfer ingress_transfer –>|веде_до| javascript_masq javascript_masq –>|веде_до| process_injection process_injection –>|веде_до| reflective_loader reflective_loader –>|веде_до| c2_comm

Потік атаки

Виконання Симуляції

Передумова: Перевірка телеметрії та базових показників повинна була бути пройдена.

Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), призначене для тригера правила виявлення. Команди та наратив МУСЯТЬ безпосередньо відображати ідентифіковані TTP та прагнути генерувати точну телеметрію, очікувану детекційною логікою.

  • Атакова історія та команди:
    Супротивник отримав шкідливий PowerShell корисне навантаження (наприклад, завантажувач), яке було закодовано Base64 для уникнення статичного виявлення. Щоб залишитися непомітним, зловмисник вибирає підписаний вбудований модуль—AppvClient—який, як правило, присутній на системах Windows. Вони імпортують модуль, потім використовують Invoke-Expression (IEX) для декодування та виконання навантаження повністю в пам’яті, не залишаючи артефактів файлів. Ця конкретна командаImport-Module AppvClient; IEX відповідає умовам Sigma правила.

  • Сценарій регресійного тестування:

    <#
    Сценарій симуляції для тригера правила "PowerShell IEX з AppvClient".
    #>
    # 1. Імпортуйте легітимний модуль (виконання проксі підписаного бінарного файлу)
    Import-Module AppvClient -ErrorAction Stop
    # 2. Підготовте просте безневинне PowerShell навантаження і кодуйте його в Base64
    $payload = "Write-Host 'Компрометація симульована – навантаження виконано.'"
    $bytes   = [System.Text.Encoding]::Unicode.GetBytes($payload)
    $b64     = [System.Convert]::ToBase64String($bytes)
    # 3. Виконайте навантаження в пам'яті, використовуючи IEX (тригер детекції)
    IEX ([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($b64)))
    # 4. Необов'язково: тримайте сеанс відкритим коротко, щоб впевнитися, що логи присутні
    Start-Sleep -Seconds 5
  • Команди очищення:

    # Видаліть імпортовані модулі для зменшення слідів
    if (Get-Module -Name AppvClient) {
        Remove-Module -Name AppvClient -Force
    }
    # Очистіть історію PowerShell для поточного сеансу
    Clear-History