SOC Prime Bias: Medium

14 Apr 2026 15:43 UTC

Fantasma nella cassaforte: Obsidian sfruttato per consegnare PhantomPulse RAT

Author Photo
SOC Prime Team linkedin icon Segui
Fantasma nella cassaforte: Obsidian sfruttato per consegnare PhantomPulse RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Elastic Security Labs ha scoperto una nuova campagna di ingegneria sociale che sfrutta la piattaforma di gestione delle note Obsidian e il suo ecosistema di plugin della comunità per distribuire PhantomPulse, un RAT precedentemente non documentato che prende di mira sia i sistemi Windows che macOS. L’operazione sembra mirare a individui nel settore finanziario e delle criptovalute, con gli attaccanti che utilizzano LinkedIn e Telegram per distribuire un vault Obsidian compromesso come esca iniziale. Su Windows, la catena di infezione si basa su PowerShell, un loader personalizzato in memoria noto come PhantomPull, e tecniche di caricamento riflessivo. Su macOS, gli attaccanti utilizzano AppleScript insieme a un meccanismo di comando e controllo tramite dead-drop su Telegram. La campagna incorpora inoltre la scoperta C2 basata su blockchain attraverso i dati delle transazioni su Ethereum.

Indagine

I ricercatori hanno riprodotto l’attacco costruendo un vault Obsidian armato che utilizzava i plugin Shell Commands e Hider per attivare l’esecuzione malevola. Durante l’analisi, hanno osservato script PowerShell scaricare un loader chiamato syncobs.exe da 195.3.222.251, che quindi recuperava un payload criptato e lo caricava in memoria riflessivamente. Il loader creava un mutex, comunicava con un pannello di controllo ospitato su panel.fefea22134.net, e supportava infrastrutture di fallback derivate dai dati blockchain. Su macOS, il malware stabiliva la persistenza attraverso un plist LaunchAgent e scaricava un payload AppleScript secondario da un dominio hard-coded e da un canale Telegram. Gli investigatori hanno recuperato artefatti chiave da file di configurazione JSON e risorse in memoria legate a entrambi i percorsi di infezione.

Mitigazione

Le organizzazioni dovrebbero impedire a Obsidian di generare processi figli non autorizzati, applicare controlli rigorosi sull’uso dei plugin della comunità e monitorare l’attività di PowerShell quando Obsidian appare come processo genitore. Le difese di rete dovrebbero bloccare il traffico in uscita verso 195.3.222.251 e i domini panel.fefea22134.net, 0x666.info, e le posizioni note di dead-drop su Telegram associate alla campagna. I team di sicurezza dovrebbero anche cercare segni di caricamento riflessivo, abuso di callback della coda dei timer e il valore specifico del mutex utilizzato dal malware loader.

Risposta

Se vengono rilevati processi figli sospetti da Obsidian, isolare immediatamente l’host interessato e raccogliere la directory .obsidian per una revisione forense dei file plugin malevoli e del contenuto del vault. Cercare il mutex hVNBUORXNiFLhYYh, quindi eseguire la scansione degli endpoint per tracce dei binari loader PHANTOMPULL e RAT PHANTOMPULSE. Bloccare l’infrastruttura di comando e controllo identificata, revocare eventuali credenziali compromesse relative a Obsidian e eseguire una revisione più ampia per l’esposizione al furto di credenziali coinvolgendo conti finanziari e di criptovalute.

Flusso di Attacco

Rilevamenti

Download o Upload via PowerShell (tramite cmdline)

Team SOC Prime
14 Apr 2026

Stringhe sospette di PowerShell (tramite cmdline)

Team SOC Prime
14 Apr 2026

Uso sospetto di Invoke-RestMethod (tramite PowerShell)

Team SOC Prime
14 Apr 2026

Stringhe sospette di PowerShell (tramite PowerShell)

Team SOC Prime
14 Apr 2026

Attività possibile di Bits Transfer (tramite PowerShell)

Team SOC Prime
14 Apr 2026

Comunicazione sospetta con dominio Trycloudflare (tramite proxy)

Team SOC Prime
14 Apr 2026

Download di file sospetti con IP diretto (tramite proxy)

Team SOC Prime
14 Apr 2026

Comunicazione sospetta con dominio Trycloudflare (tramite dns)

Team SOC Prime
14 Apr 2026

Obsidian sfruttato per esecuzione di codice e persistenza [Creazione processo Windows]

Regole AI di SOC Prime
14 Apr 2026

Esecuzione sospetta di PowerShell con Obsidian come processo genitore [PowerShell Windows]

Regole AI di SOC Prime
14 Apr 2026

Esecuzione di Simulazione

Prerequisito: Il Controllo Prevolo di Telemetria e Baseline deve essere passato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrazione & Comandi dell’Attacco:

    1. Compromissione Iniziale: L’attaccante inserisce un plugin malevolo di Obsidian (evil-plugin.js) nella directory dei plugin di Obsidian dell’utente.
    2. Attivazione Esecuzione: Quando Obsidian si avvia, il plugin esegue un one-liner di PowerShell che lancia notepad.exe via Start-Process. Questo crea esattamente la catena di processo Obsidian.exe → notepad.exe che la regola monitora.
    3. Persistenza: Il plugin è impostato per caricarsi automaticamente ad ogni avvio di Obsidian, garantendo che il processo figlio malevolo si ripeta.
    4. Evasione: Il plugin invoca brevemente anche rundll32.exe (T1216.002) per caricare una DLL benigna, mascherando il vero intento mentre mantiene intatta la catena che innesca il rilevamento.
  • Script di Test di Regressione:

    # -------------------------------------------------
    # Simulazione plugin malevolo Obsidian (PowerShell)
    # -------------------------------------------------
    # 1. Assicurarsi che Obsidian sia installato nella posizione prevista
    $obsidianPath = "C:Program FilesObsidianObsidian.exe"
    if (-Not (Test-Path $obsidianPath)) {
        Write-Error "Obsidian not found at $obsidianPath"
        exit 1
    }
    
    # 2. Avviare Obsidian *come genitore* e immediatamente avviare 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. Opzionale: invocare un binario firmato (rundll32) per simulare T1216.002
    Start-Process -FilePath "C:WindowsSystem32rundll32.exe" -ArgumentList "shell32.dll,Control_RunDLL" -WindowStyle Hidden
    
    # 4. Mantenere lo script attivo brevemente per permettere la generazione di log
    Start-Sleep -Seconds 5
    # -------------------------------------------------
  • Comandi di Pulizia:

    # Terminare eventuali istanze di Obsidian o Notepad lasciate dal test 
    Get-Process -Name "Obsidian","notepad","rundll32" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Rimuovere il file del plugin malevolo simulato (se esisteva)
    $pluginPath = "$env:APPDATAObsidianpluginsevil-plugin.js"
    if (Test-Path $pluginPath) { Remove-Item $pluginPath -Force }
    
    Write-Host "Pulizia completata."