SOC Prime Bias: Critico

23 Dic 2025 13:26

Furtività a Strati: Smascherare il Loader usato nelle Campagne Email Mirate

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Furtività a Strati: Smascherare il Loader usato nelle Campagne Email Mirate
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Un loader ampiamente disponibile viene riutilizzato da più attori malevoli per distribuire diversi RAT e ladri di informazioni tramite email di phishing contenenti allegati JavaScript, PowerShell, LNK e ZIP armati. Il loader combina steganografia, caricamento riflessivo, svuotamento di processi e un nuovo metodo di disattivazione dell’UAC per consentire l’esecuzione senza file e elevare i privilegi. Sono state osservate attività mirate a enti manifatturieri e governativi in Europa e Medio Oriente, con l’apparente obiettivo di rubare dati industriali e credenziali.

Indagine

Cyble Research and Intelligence Labs ha analizzato la catena di distribuzione e delineato un flusso di evasione in quattro fasi. Inizia con un stager JavaScript offuscato, passa a un loader steganografico PowerShell, sfrutta una libreria TaskScheduler trojanizzata e culmina nell’iniezione di payload in RegAsm.exe. Il malware alla fine è PureLog Stealer, che raccoglie credenziali del browser, dati del portafoglio di criptovalute e informazioni del sistema/host per l’esfiltrazione.

Mitigazione

Utilizzare protezioni email avanzate con detonazione in sandbox, bloccare l’esecuzione di script da contenuti consegnati via email, applicare la modalità di linguaggio limitato di PowerShell e monitorare il svuotamento dei binari Windows legittimi. Aggiungere il rilevamento della steganografia nei file immagine e regolare le regole EDR per mettere in evidenza il caricamento riflessivo di assembly .NET e i pattern di aggiramento UAC associati a questa catena di loader.

Risposta

Se compaiono indicatori, isolare l’endpoint, interrompere le attività sospette di PowerShell e WMI, catturare immagini di memoria e cercare artefatti .NET riflettenti e processi RegAsm.exe iniettati. Reimpostare le credenziali potenzialmente esposte e bloccare i domini dannosi e gli indirizzi IP associati per prevenire la reinfezione e l’attività laterale.

graph TB %% Definizioni delle classi classDef action fill:#99ccff %% Definizioni dei nodi act_phishing[“<b>Azione</b> – <b>T1566.001 Allegato di phishing</b><br /><b>Descrizione</b>: Inviare un allegato e-mail malevolo che sfrutta una vulnerabilità di Office.”] class act_phishing action act_exploit[“<b>Azione</b> – <b>T1203 Sfruttamento per l’esecuzione lato client</b> (CVEu20112017u201111882)<br /><b>Descrizione</b>: Attivare una vulnerabilità in Microsoft Office per eseguire codice.”] class act_exploit action act_obfuscate[“<b>Azione</b> – <b>T1027 File o informazioni offuscati</b><br /><b>Descrizione</b>: Caricare JavaScript o PowerShell offuscati per nascondere l’intento malevolo.”] class act_obfuscate action act_stego[“<b>Azione</b> – <b>T1027.003 Steganografia</b><br /><b>Descrizione</b>: Incorporare il payload all’interno di un’immagine PNG per eludere il rilevamento.”] class act_stego action act_reflective_load[“<b>Azione</b> – <b>T1620 Caricamento di codice riflessivo</b><br /><b>Descrizione</b>: Caricare un assembly .NET in memoria senza scrivere su disco.”] class act_reflective_load action act_regasm[“<b>Azione</b> – <b>T1218.009 Esecuzione proxy tramite RegAsm</b><br /><b>Descrizione</b>: Abusare di RegAsm per eseguire codice .NET arbitrario.”] class act_regasm action act_process_hollow[“<b>Azione</b> – <b>T1055.012 Process Hollowing</b><br /><b>Descrizione</b>: Sostituire la memoria di un processo legittimo con codice malevolo.”] class act_process_hollow action act_uac_bypass[“<b>Azione</b> – <b>T1548.002 Bypass del Controllo dell’Account Utente</b><br /><b>Descrizione</b>: Elevare i privilegi senza richiedere il consenso dell’utente.”] class act_uac_bypass action act_cred_steal[“<b>Azione</b> – <b>T1555.003 Credenziali dai browser web</b><br /><b>Descrizione</b>: Estrarre le credenziali salvate nei browser.”] class act_cred_steal action act_data_collect[“<b>Azione</b> – <b>T1119 Raccolta automatizzata</b><br /><b>Descrizione</b>: Raccogliere file e informazioni di sistema.”] class act_data_collect action act_exfil[“<b>Azione</b> – <b>T1102 Esfiltrazione tramite servizio web</b> / <b>T1041 Esfiltrazione tramite canale C2</b><br /><b>Descrizione</b>: Inviare i dati raccolti a un server remoto tramite un servizio web.”] class act_exfil action %% Connessioni act_phishing u002du002d>|porta_a| act_exploit act_exploit u002du002d>|porta_a| act_obfuscate act_obfuscate u002du002d>|porta_a| act_stego act_stego u002du002d>|porta_a| act_reflective_load act_reflective_load u002du002d>|porta_a| act_regasm act_regasm u002du002d>|porta_a| act_process_hollow act_process_hollow u002du002d>|porta_a| act_uac_bypass act_uac_bypass u002du002d>|porta_a| act_cred_steal act_cred_steal u002du002d>|porta_a| act_data_collect act_data_collect u002du002d>|porta_a| act_exfil

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere stato completato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento.

  • Narrativa & Comandi dell’Attacco:
    Un avversario invia un’email di spear-phishing contenente un allegato JPEG con un payload PowerShell nascosto incorporato steganograficamente. Dopo che la vittima apre l’allegato, lo script di primo stadio dell’attaccante estrae i dati nascosti, li decodifica da Base64 e avvia un loader PowerShell di secondo stadio in una finestra nascosta. Il loader successivamente contatta un server C2 per scaricare strumenti aggiuntivi. La linea di comando esatta generata sull’host vittima è:

    powershell -WindowStyle Hidden -EncodedCommand <Base64String>

    Poiché l’attaccante include esplicitamente la parola “Base64” nello script (e.g., utilizzando il -EncodedCommand wrapper che stampa “Base64” nei commenti), la regola di rilevamento selection_base64_decoded_script la condizione si verifica, e la bandiera della finestra nascosta soddisfa selection_hidden_powershell.

  • Script di Test di Regressione:

    # Simulazione di Loader PowerShell Base64 Nascosto
    # -------------------------------------------------
    # Step 1: Crea uno script PowerShell di esempio
    $script = 'Write-Host "Host compromesso: $env:COMPUTERNAME"; Start-Sleep -Seconds 30'
    # Step 2: Codifica in Base64 (Unicode)
    $bytes = [System.Text.Encoding]::Unicode.GetBytes($script)
    $b64   = [Convert]::ToBase64String($bytes)
    # Step 3: Avvia PowerShell nascosto con il payload codificato
    Start-Process -FilePath "powershell.exe" `
        -ArgumentList "-WindowStyle Hidden -EncodedCommand $b64" `
        -WindowStyle Hidden `
        -NoNewWindow
    # La presenza della stringa "Base64" nel commento soddisfa la regola.
  • Comandi di Pulizia:

    # Termina tutte le istanze di PowerShell nascoste lasciate in esecuzione dal test
    Get-Process -Name "powershell" | Where-Object {
        $_.StartInfo.Arguments -match "-WindowStyle Hidden"
    } | Stop-Process -Force
    
    # Opzionale: Rimuovi eventuali file temporanei (nessuno creato in questo script)