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

14 Apr 2026 18:43

Привид у сховищі: Obsidian використовується для доставки PhantomPulse RAT

Author Photo
SOC Prime Team linkedin icon Стежити
Привид у сховищі: Obsidian використовується для доставки PhantomPulse RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Короткий зміст

Elastic Security Labs виявили нову кампанію соціальної інженерії, яка зловживає платформою Obsidian для ведення нотаток та екосистемою плагінів спільноти для доставки PhantomPulse, раніше не задокументованого RAT, що націлюється на системи Windows та macOS. Операція, здається, спрямована на осіб у фінансовій та криптовалютній сферах, з використанням LinkedIn і Telegram для розповсюдження скомпрометованого сховища Obsidian як початкової приманки. На Windows ланцюг інфекції спирається на PowerShell, спеціальний завантажувач у пам’яті під назвою PhantomPull і техніки відбивного завантаження. На macOS зловмисники використовують AppleScript разом з механізмом команд та контролю на основі Telegram. Кампанія також включає виявлення C2 на базі блокчейну через дані транзакцій Ethereum.

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

Дослідники відтворили атаку, створивши бойове сховище Obsidian, яке використовувало плагіни Shell Commands та Hider для запуску зловмисного виконання. Під час аналізу вони спостерігали скрипти PowerShell, які завантажували завантажувач під назвою syncobs.exe з 195.3.222.251, який потім отримував зашифрований корисний вантаж і завантажував його відбивно у пам’ять. Завантажувач створював мютекс, спілкувався з панеллю управління, розміщеною на panel.fefea22134.net, і підтримував резервну інфраструктуру, отриману з даних блокчейну. На macOS зловмисне програмне забезпечення встановлювало стійкість через plist агентів запуску та завантажувало вторинний корисний вантаж AppleScript з жорсткокодовного домену та каналу Telegram. Слідчі відновили ключові артефакти з файлів конфігурації JSON та ресурсів у пам’яті, пов’язаних з обома шляхами інфекції.

Пом’якшення

Організації повинні заборонити Obsidian створювати несанкціоновані дочірні процеси, застосовувати суворий контроль за використанням плагінів спільноти та моніторити активність PowerShell, де Obsidian з’являється як головний процес. Засоби захисту мережі повинні блокувати вихідний трафік на 195.3.222.251 та домени panel.fefea22134.net, 0x666.info, і відомі Telegram місця для збереження, пов’язані з кампанією. Команди безпеки також повинні шукати ознаки відбивного завантаження, зловживання таймерним чергою зворотного виклику та специфічне значення мютекса, що використовується завантажувачем зловмисного програмного забезпечення.

Відповідь

Якщо виявлено підозрілі дочірні процеси з Obsidian, негайно ізолюйте уражений вузол і зберіть .obsidian каталог для судової перевірки наявних плагінів і вмісту сховища. Полюйте на мютекс hVNBUORXNiFLhYYh, потім скануйте кінцеві точки на наявність слідів завантажувача PHANTOMPULL та двійкових файлів PHANTOMPULSE RAT. Блокуйте виявлену командну та контрольну інфраструктуру, відкликайте будь-які скомпрометовані облікові дані, пов’язані з Obsidian, і проведіть більш широкий огляд на наявність викрадення облікових даних, які впливають на фінансові та криптовалютні рахунки.

graph TB %% Class definitions classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc %% Technique nodes tech_valid_accounts[“<b>Техніка</b> – <b>T1078 Дійсні облікові записи</b><br/><b>Опис</b>: Зловмисники використовують скомпрометовані облікові дані.<br/><b>Деталі</b>: облікові дані Obsidian передані жертві”] class tech_valid_accounts technique tech_user_execution[“<b>Техніка</b> – <b>T1204 Виконання користувачем</b><br/><b>Опис</b>: користувача змушують виконати шкідливий код.<br/><b>Деталі</b>: відкриття shared vault та синхронізація плагінів”] class tech_user_execution technique tech_powershell_initial[“<b>Техніка</b> – <b>T1059.001 PowerShell</b><br/><b>Опис</b>: виконання команд PowerShell.<br/><b>Деталі</b>: Base64 завантажує script1.ps1”] class tech_powershell_initial technique tech_bits_transfer[“<b>Техніка</b> – <b>T1105 Передача інструментів</b><br/><b>Опис</b>: передача payload на заражену систему.<br/><b>Деталі</b>: завантаження syncobs.exe”] class tech_bits_transfer technique tech_reflective_loading[“<b>Техніка</b> – <b>T1620 Рефлективне завантаження</b><br/><b>Опис</b>: завантаження в пам’ять без диска.<br/><b>Деталі</b>: AES-256-CBC дешифрування”] class tech_reflective_loading technique tech_process_injection[“<b>Техніка</b> – <b>T1055.002 Ін’єкція PE</b><br/><b>Опис</b>: ін’єкція коду в процес.<br/><b>Деталі</b>: module stomping”] class tech_process_injection technique tech_dynamic_resolution[“<b>Техніка</b> – <b>T1568 Динамічне визначення</b><br/><b>Опис</b>: визначення C2 через blockchain.<br/><b>Деталі</b>: транзакція blockchain”] class tech_dynamic_resolution technique tech_powershell_c2[“<b>Техніка</b> – <b>T1059.001 PowerShell</b><br/><b>Опис</b>: C2 комунікація та beacon”] class tech_powershell_c2 technique tech_applescript[“<b>Техніка</b> – <b>T1059.007 AppleScript</b><br/><b>Опис</b>: виконання на macOS<br/><b>Деталі</b>: через osascript”] class tech_applescript technique tech_launch_agent[“<b>Техніка</b> – <b>T1543.001 Launch Agent</b><br/><b>Опис</b>: persistence через LaunchAgent<br/><b>Деталі</b>: plist встановлено”] class tech_launch_agent technique tech_dead_drop_resolver[“<b>Техніка</b> – <b>T1102.001 Dead Drop Resolver</b><br/><b>Опис</b>: C2 через web сервіс<br/><b>Деталі</b>: Telegram як резервний C2”] class tech_dead_drop_resolver technique %% Tool / Malware nodes tool_syncobs_exe[“<b>Інструмент</b> – <b>Назва</b>: syncobs.exe<br/><b>Опис</b>: бінарний файл 2-ї стадії”] class tool_syncobs_exe tool malware_phantompull[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: PHANTOMPULL<br/><b>Опис</b>: loader для AES-256-CBC payload”] class malware_phantompull malware %% Flow connections tech_valid_accounts –>|leads_to| tech_user_execution tech_user_execution –>|leads_to| tech_powershell_initial tech_powershell_initial –>|executes| tech_bits_transfer tech_bits_transfer –>|downloads| tool_syncobs_exe tool_syncobs_exe –>|enables| tech_reflective_loading tech_reflective_loading –>|loads| malware_phantompull malware_phantompull –>|facilitates| tech_process_injection tech_process_injection –>|injects| tool_syncobs_exe tech_process_injection –>|enables| tech_dynamic_resolution tech_dynamic_resolution –>|resolves| tech_powershell_c2 tech_dynamic_resolution –>|resolves| tech_applescript tech_powershell_c2 –>|beacons| tech_dead_drop_resolver tech_applescript –>|creates| tech_launch_agent tech_launch_agent –>|persists| tech_dead_drop_resolver

Потік атаки

Виявлення

Завантаження або вивантаження через PowerShell (через cmdline)

Команда SOC Prime
14 квітня 2026

Підозрілі рядки PowerShell (через cmdline)

Команда SOC Prime
14 квітня 2026

Підозріле використання Invoke-RestMethod (через PowerShell)

Команда SOC Prime
14 квітня 2026

Підозрілі рядки PowerShell (через PowerShell)

Команда SOC Prime
14 квітня 2026

Можлива активність передачі Bits (через PowerShell)

Команда SOC Prime
14 квітня 2026

Підозріла комунікація домену Trycloudflare (через проксі)

Команда SOC Prime
14 квітня 2026

Підозріле завантаження файлу через прямий IP (через проксі)

Команда SOC Prime
14 квітня 2026

Підозріла комунікація домену Trycloudflare (через dns)

Команда SOC Prime
14 квітня 2026

Obsidian зловживається для виконання коду та стійкості [створення процесу Windows]

Правила SOC Prime AI
14 квітня 2026

Підозріле виконання PowerShell з Obsidian як батьківським процесом [Windows PowerShell]

Правила SOC Prime AI
14 квітня 2026

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

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

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

  • Опис атаки та команди:

    1. Початкова компрометація: Зловмисник заносить зловмисний плагін Obsidian (evil-plugin.js) у директорію плагінів користувача Obsidian.
    2. Тригер виконання: Коли Obsidian запускається, плагін виконує один PowerShell‑рядок, який запускає notepad.exe via Start-Process. Це створює точний ланцюг процесів Obsidian.exe → notepad.exe , який відслідковує правило.
    3. Стійкість: Плагін налаштований на автоматичне завантаження при кожному запуску Obsidian, забезпечуючи повторне виникнення зловмисного дочірнього процесу.
    4. Ухилення: Плагін також короткочасно виконує rundll32.exe (T1216.002) для завантаження безпечної DLL, приховуючи істинний намір, водночас зберігаючи ланцюг процесів, що тригерить виявлення.
  • Скрипт регресійного тесту:

    # -------------------------------------------------
    # Симуляція зловмисного плагіна Obsidian (PowerShell)
    # -------------------------------------------------
    # 1. Переконайтеся, що Obsidian встановлено в очікуваний шлях
    $obsidianPath = "C:Program FilesObsidianObsidian.exe"
    if (-Not (Test-Path $obsidianPath)) {
        Write-Error "Obsidian не знайдено за $obsidianPath"
        exit 1
    }
    
    # 2. Запускайте Obsidian *як батьківський* і негайно запускайте Notepad
    $startInfo = New-Object System.Diagnostics.ProcessStartInfo
    $startInfo.FileName = $obsidianPath
    $startInfo.Arguments = "-c `"Start-Process notepad.exe`""
    $startInfo.UseShellExecute = $false
    $startInfo.CreateNoWindow = $true
    
    $proc = [System.Diagnostics.Process]::Start($startInfo)
    
    # 3. Необов'язково: викликати підписаний двійковий файл (rundll32), щоб симулювати T1216.002
    Start-Process -FilePath "C:WindowsSystem32rundll32.exe" -ArgumentList "shell32.dll,Control_RunDLL" -WindowStyle Hidden
    
    # 4. Залишайте скрипт активним ненадовго, щоб дозволити виведення логів
    Start-Sleep -Seconds 5
    # -------------------------------------------------
  • Команди очищення:

    # Завершити всі безхазяйні інстанції Obsidian або Notepad, створені під час тесту
    Get-Process -Name "Obsidian","notepad","rundll32" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Видалити файл симульованого зловмисного плагіна (якщо він існував)
    $pluginPath = "$env:APPDATAObsidianpluginsevil-plugin.js"
    if (Test-Path $pluginPath) { Remove-Item $pluginPath -Force }
    
    Write-Host "Очищення завершено."