SOC Prime Bias: Критичний

12 Jan 2026 14:55 UTC

MuddyWater’s Rust Pivot: Inside the RustyWater Implant

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
MuddyWater’s Rust Pivot: Inside the RustyWater Implant
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

MuddyWater запустила кампанію з фішингу, спрямовану на дипломатичні, морські, фінансові та телекомунікаційні організації на Близькому Сході. Атакуючі використовували шкідливі документи Word із вбудованими макросами для розгортання RustyWater, імпланта на базі Rust. Після встановлення шкідливе програмне забезпечення здійснює персистенцію через ключ реєстру Run, спілкується з командним центром через HTTP та впорскує код у explorer.exe, щоб зливатися з нормальною діяльністю користувачів. Імплант включає засоби захисту від аналізу та підтримує модульну функціональність після компрометації для розширення контролю атакуючого.

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

Команда TRIAD компанії CloudSEK проаналізувала шкідливий документ, відновила закодований у шістнадцятковій формі завантажувальний файл та ідентифікувала виконуваний файл Rust reddit.exe. Статична перевірка показала використання бібліотеки reqwest для C2 через HTTP, механізму векторизованого обробника виключень для боротьби з налагодженням і персистенцію через шлях реєстру CurrentUser Run. Динамічні випробування підтвердили процеси ін’єкції в explorer.exe та асинхронне поводження C2 з рандомізуванням часу виклику. Розслідування зібрало ключові індикатори, такі як хеші, артефакти реєстру та шкідливі домени, які використовуються для зв’язку.

Пом’якшення

Слідкуйте за підозрілими змінами в HKCUSoftwareMicrosoftWindowsCurrentVersionRun, особливо за записами, що вказують на виконувані файли, розміщені в ProgramData. Виявляйте ланцюги виконання, що управляються макросами, де Office породжує cmd.exe через WScript.Shell. Додайте моніторинг мережі для HTTP-трафіку з шаблонами, що відповідають JSON → Base64 → XOR кодуванню, і для маячення з рандомізованим jitter. Посильте контроль електронної пошти для блокування або карантинування вкладень Word з макросами від невідомих або неперевірених відправників.

Відповідь

Якщо виявлено діяльність RustyWater, ізолюйте кінцеву точку і отримайте образ пам’яті, щоб підтримати аналіз ін’єкцій. Видаліть шкідливі ключі персистенції Run і знищіть будь-які файли, що впали в ProgramData. Блокуйте ідентифіковані C2 домени та IP-адреси на периметрових засобах. Розширте пошуки, щоб ідентифікувати пов’язану макроактивність та артефакти ін’єкції explorer.exe в інфраструктурі для забезпечення повного стримування.

Потік атаки

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

Передумова: Телеметрія та первісна перевірка повинні бути пройдені.

Пояснення: Цей розділ детально описує точне виконання техніки атакуючого (TTP), призначене для виклику правила виявлення. Команди та описи безпосередньо відображають визначені TTP з ціллю генерування точної телеметрії, очікуваної логікою виявлення.

  • Опис атаки та команди:
    Оператор APT отримує електронний лист із фішингом з шкідливою програмою, яка має вкладення Office з макросом. Після відкриття, макрос скидає два файли з вантажем —Cybersecurity.doc and CertificationKit.ini— у директорію ProgramData щоб приховати їх у розташуванні, довіреному багатьма додатками. Макрос використовує PowerShell для запису файлів, що створює події створення файлів Sysmon, які відстежує правило виявлення.

  • Тестовий скрипт для регресії:

    # -------------------------------------------------
    # Симуляція скидання файлів MuddyWater APT (Windows)
    # -------------------------------------------------
    $progData = $Env:ProgramData
    
    # Визначити вміст завантажувального файлу (дані для тестування)
    $docContent = "Це муляжний документ з кібербезпеки, використаний для тестового виявлення."
    $iniContent = "[Settings]`nKey=Value`n"
    
    # Створити Cybersecurity.doc
    $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc"
    $docContent | Out-File -FilePath $docPath -Encoding UTF8
    
    # Створити CertificationKit.ini
    $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini"
    $iniContent | Out-File -FilePath $iniPath -Encoding UTF8
    
    Write-Host "Створені файли симуляції MuddyWater:"
    Write-Host "`t$docPath"
    Write-Host "`t$iniPath"
    # -------------------------------------------------
  • Команди очищення:

    # Видалити артефакти симуляції
    Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue
    Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue
    Write-Host "Файли симуляції видалено."