SOC Prime Bias: Високий

29 Jul 2026 06:34 UTC

MedusaHVNC краде активні сесії Windows через прихований робочий стіл

Author Photo
SOC Prime Team linkedin icon Стежити
MedusaHVNC краде активні сесії Windows через прихований робочий стіл
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Короткий огляд

MedusaHVNC – це нещодавно виявлений троян для віддаленого доступу (RAT), що поширюється через модель Malware-as-a-Service (MaaS). Він використовує прихований модуль віртуальних мережних обчислень (HVNC) для створення окремої і невидимої настільної сесії Windows. Це дозволяє зловмисникам викрадати активні сесії браузера, включаючи файли cookie та аутентифіковані стани сесій, не повідомляючи жертву.

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

Дослідники проаналізували зразок MedusaHVNC і виявили п’ятиступеневий ланцюг зараження, який починається з заплутаного JScript-лаунчера. Розслідування показало, що для розшифрування та ін’єкції процесу в легітимну утиліту Character Map Windows використовується AutoIt (charmap.exe). Остаточний шкідливий код покладається на шифрування ChaCha20 і взаємодіє з вбудованим сервером C2 через спеціальний протокол TCP.

Захист

Ефективний захист включає блокування відомої інфраструктури C2 та моніторинг кінцевих точок на нетипові вихідні мережеві підключення. Організації повинні розгорнути засоби захисту від ексфільтрації даних, здатні перевіряти вихідний трафік незалежно від початкового процесу. Моніторинг підозрілих дочірніх процесів або активності ін’єкції у використанні легітимних системних бінарів, таких як charmap.exe також може покращити виявлення.

Відповідь

Якщо виявлено активність MedusaHVNC, команди безпеки повинні негайно ізолювати постраждалу кінцеву точку, щоб припинити зв’язок з сервером C2. Слідчі повинні визначити початковий шлях доставки JScript-лаунчера та перевірити наявність механізмів стійкості у папці автозапуску. Журнали сесій і аутентифікації також повинні бути перевірені на несанкціоновану активність, що відбувається під час вікна компрометації.

Потік атаки

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

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

Обґрунтування: у цьому розділі детально описано точне виконання техніки нападника (TTP), призначеної для запуску правила виявлення. Команди та наративи МАЮТЬ безпосередньо відображати ідентифіковані TTPs і мають на меті генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні або нерелевантні приклади призведуть до помилкової діагностики.

  • Наратив атаки та команди: Зловмисник успішно розгорнув MedusaHVNC на робочій станції жертви. Щоб встановити управління та контроль (C2) та розпочати взаємодію з віддаленим робочим столом, зловмисне програмне забезпечення намагається підключитися до свого вбудованого вуха. У цій симуляції ми імітуємо цю поведінку, змушуючи підключення до локального вуха на порту 4444. Це діяння призначене для імітації фази “Phone Home” життєвого циклу MedusaHVNC, генеруючи журнал Sysmon Event ID 3 з DestinationPort: 4444.

  • Скрипт регресійного тесту:

    # Скрипт симуляції: емуляція зв'язку MedusaHVNC C2
    # Мета: Генерація події мережевого підключення на порту 4444 для запуску правила Sigma.
    
    $TargetIP = "127.0.0.1"
    $TargetPort = 4444
    
    Write-Host "[+] Початок симуляції MedusaHVNC C2..." -ForegroundColor Cyan
    
    # Крок 1: Створити локальне вухо для приймання підключення (імітує сервер C2)
    $Listener = New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Loopback, $TargetPort)
    $Listener.Start()
    Write-Host "[+] Локальний слухач C2 запущено на $TargetIP:$TargetPort" -ForegroundColor Green
    
    try {
        # Крок 2: Імітувати вихідне підключення зловмисного ПЗ до C2
        Write-Host "[+] Імітація вихідного підключення до C2..." -ForegroundColor Yellow
        $Client = New-Object System.Net.Sockets.TcpClient
        $Client.Connect($TargetIP, $TargetPort)
        Write-Host "[!] Підключення встановлено: перевірте SIEM на повідомлення про тривоги." -ForegroundColor Red
    }
    catch {
        Write-Host "[-] Не вдалося підключитися: $($_.Exception.Message)" -ForegroundColor Red
    }
    finally {
        # Очистка підключення
        if ($Client) { $Client.Close() }
        $Listener.Stop()
        Write-Host "[+] По завершення симуляції очистка завершена." -ForegroundColor Cyan
    }
  • Команди очищення:

    # Переконайтеся, що не залишилося залишкових процесів або слухачів
    Stop-Process -Name "powershell" -Force -ErrorAction SilentlyContinue
    # (Примітка: У реальному середовищі вручну переконайтеся, що порт 4444 закритий)
    Test-NetConnection -ComputerName 127.0.0.1 -Port 4444