SOC Prime Bias: Critico

18 Feb 2026 16:42

Tracciare Campagne di Malware con Materiale Riutilizzato

Author Photo
Ruslan Mikhalov Capo della Ricerca sulle Minacce presso SOC Prime linkedin icon Segui
Tracciare Campagne di Malware con Materiale Riutilizzato
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Questa campagna riutilizza un’immagine “carrier” JPEG che nasconde un payload dannoso tra i tag BaseStart- e -BaseEnd. L’accesso iniziale avviene tramite l’esploit di Microsoft Equation Editor (CVE-2017-11882) in un allegato appositamente creato, che scarica un HTA. L’HTA esegue PowerShell per recuperare un .NET stage binario. Il riutilizzo della stessa immagine su molti campioni suggerisce che l’operatore si affidi a componenti ripetibili.

Investigazione

Il ricercatore ha osservato TELERADIO_IB_OBYEKTLRIN_BURAXILIS_FORMASI.xIs contenente l’exploit di Equation Editor. La catena recupera un HTA da un IP malevolo, che esegue PowerShell per scaricare un secondo payload ospitato su un altro IP. Lo stadio finale è un binario .NET incorporato nel carrier JPEG e recuperato tramite i delimitatori BaseStart/-BaseEnd. Immagini carrier simili sono state trovate in dozzine di submission su VirusTotal.

Mitigazione

Applica la patch CVE-2017-11882 e mantieni Office aggiornato. Blocca o limita l’esecuzione degli HTA, imponi la firma degli script PowerShell e utilizza il filtraggio URL/IP per negare l’accesso all’infrastruttura di hosting.

Risposta

Rileva e metti in quarantena l’allegato e lo stadio HTA, e allerta sull’attivitĂ  di download di PowerShell verso gli IP identificati. Isola gli host interessati ed esegui la verifica della memoria per individuare e rimuovere il payload .NET in memoria.

graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef process fill:#ffcc99 %% Nodes node_phishing[“<b>Azione</b> – <b>T1566.001 Phishing: Allegato Spearphishing</b><br/><b>Descrizione</b>: File .xls dannoso che sfrutta CVEu20112017u201111882 inviato via e-mail.”] class node_phishing action node_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione Utente</b><br/><b>Descrizione</b>: La vittima apre l’allegato dannoso.”] class node_user_exec action node_exploit_client[“<b>Azione</b> – <b>T1203 Sfruttamento per Esecuzione Client</b><br/><b>Descrizione</b>: La vulnerabilitĂ  dell’Editor Equazioni innesca il download di contenuti dannosi.”] class node_exploit_client action node_mshta[“<b>Azione</b> – <b>T1218.005 Esecuzione Proxy di Binario di Sistema: Mshta</b><br/><b>Descrizione</b>: File HTA scaricato ed eseguito tramite mshta.”] class node_mshta action node_powershell[“<b>Azione</b> – <b>T1059.001 Interprete di Comando e Script: PowerShell</b><br/><b>Descrizione</b>: Script PowerShell recuperato da server remoto ed eseguito.”] class node_powershell action node_web_comm[“<b>Azione</b> – <b>T1102.003 Servizio Web: Comunicazione Unidirezionale</b><br/><b>Descrizione</b>: Lo script recupera un’immagine PNG da un server remoto.”] class node_web_comm action node_stego[“<b>Azione</b> – <b>T1027.003 File o Informazioni Offuscati: Steganografia</b><br/><b>Descrizione</b>: PNG contiene payload Base64 delimitato dai marcatori BaseStart e BaseEnd.”] class node_stego action node_dotnet[“<b>Azione</b> – <b>Esecuzione</b><br/><b>Descrizione</b>: Payload binario .NET incorporato viene eseguito sull’host.”] class node_dotnet process %% Connections node_phishing –>|porta a| node_user_exec node_user_exec –>|porta a| node_exploit_client node_exploit_client –>|porta a| node_mshta node_mshta –>|esegue| node_powershell node_powershell –>|scarica| node_web_comm node_web_comm –>|recupera| node_stego node_stego –>|contiene| node_dotnet

Flusso di Attacco

Esecuzione della Simulazione

Prerequisito: Il Controllo Preliminare Telemetria & Baseline deve essere superato.

Motivo: Questa sezione descrive 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 puntare a generare l’esatta telemetria prevista dalla logica di rilevamento.

  • Narrativa & Comandi di Attacco:
    Un avversario ha sfruttato una vulnerabilitĂ  lato client che serve un file HTA dannoso. L’HTA lancia PowerShell con una riga di comando che incorpora un payload dannoso (ad es. Invoke‑Expression per lanciare calc.exe) codificato in Base64. Il payload è racchiuso tra le stringhe BaseStart- and -BaseEnd in modo che l’attaccante possa estrarlo in modo affidabile al volo. Il comando eseguito sull’host compromesso è:

    powershell.exe -NoProfile -Command "$b='BaseStart-$( [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process calc.exe')) )-BaseEnd'; $payload=$b -replace '.*BaseStart-','' -replace '-BaseEnd.*',''; IEX ([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($payload)))"

    Questa riga di comando soddisfa entrambe le selezione_base_start and selezione_base_end condizioni, causando l’attivazione della regola.

  • Script di Test di Regressione: Il seguente script PowerShell auto‑contenuto riproduce il comportamento dannoso e può essere eseguito su qualsiasi host Windows con la telemetria abilitata sopra.

    # Script di Test di Regressione – attiva la regola di rilevamento
    # 1. Costruisci il payload codificato in Base64 (avvia calc.exe)
    $payload = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process calc.exe'))
    
    # 2. Assembla la linea di comando completa con i delimitatori
    $cmd = "BaseStart-$payload-BaseEnd"
    
    # 3. Esegui PowerShell con la riga di comando creata
    $fullCommand = "powershell.exe -NoProfile -Command `"& {`$b='$cmd'; `$payload=`$b -replace '.*BaseStart-','' -replace '-BaseEnd.*',''; IEX ([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String(`$payload)))`""
    
    # 4. Esegui il comando (questo lancerĂ  calc.exe)
    Invoke-Expression $fullCommand
  • Comandi di Pulizia: Rimuovi eventuali tracce e termina il processo generato se necessario.

    # Pulizia – chiudi Calculator se ancora in esecuzione e cancella la cronologia dei comandi
    Get-Process calc -ErrorAction SilentlyContinue | Stop-Process -Force
    # Opzionalmente cancella la cronologia di PowerShell (solo per la sessione corrente)
    Remove-Item (Get-PSReadlineOption).HistorySavePath -ErrorAction SilentlyContinue