SOC Prime Bias: Medio

22 May 2026 06:34 UTC

Segreti della Steganografia: Malware Nascosti in Bella Vista

Author Photo
SOC Prime Team linkedin icon Segui
Segreti della Steganografia: Malware Nascosti in Bella Vista
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sintesi

Gli attori delle minacce stanno sempre più abusando di servizi di hosting di immagini e condivisione file per distribuire payload dannosi nascosti all’interno di file PNG e JPEG apparentemente innocui. Queste immagini contengono DLL codificate in Base64 che vengono estratte da un droppper JavaScript e caricate direttamente in memoria per avviare malware di accesso remoto come Remcos RAT. Evitando evidenti artefatti su disco e facendo affidamento su esecuzioni senza file, la tecnica può sfuggire a molte difese tradizionali degli endpoint. Le campagne spesso utilizzano temi legati alla finanza e prendono di mira vittime attraverso email di phishing personalizzate.

Indagine

Cofense ha analizzato un gruppo di email di phishing costruite attorno a falsi documenti di ordine d’acquisto che consegnavano un droppper basato su JavaScript. Quel droppper recuperava un’immagine steganografica da domini abusati, decodificava una DLL loader .NET codificata in Base64, e iniettava Remcos RAT in un processo legittimo. Le statistiche delle campagne mostravano che il 27% degli attacchi osservati distribuiva Remcos RAT, mentre il 21% distribuiva Agent Tesla e il 18% distribuiva XWorm RAT. Il rapporto identificava inoltre piattaforme di hosting pesantemente abusate, tra cui uploaddeimagens.com.br and archive.org.

Mitigazione

Le organizzazioni dovrebbero rafforzare la scansione degli allegati email e bloccare l’esecuzione di file JavaScript non attendibili. Monitorare il traffico in uscita verso piattaforme di hosting di immagini note può aiutare a individuare la fase di consegna del payload. Analitiche comportamentali dovrebbero essere utilizzate anche per rilevare iniezioni di processo e caricamenti in memoria unicamente di DLL non firmate. I difensori dovrebbero inoltre monitorare le ubicazioni autorun del registro e i compiti pianificati per identificare i tentativi di persistenza senza file.

Risposta

Se si sospetta un’immagine steganografica dannosa, isolare immediatamente l’endpoint interessato e raccogliere memoria per l’analisi forense. Gli investigatori dovrebbero cercare la DLL loader .NET e qualsiasi processo legittimo che possa ospitare componenti Remcos iniettati. Le voci di autorun non autorizzate nel registro e i compiti pianificati creati dal loader dovrebbero essere rimossi. Qualsiasi account potenzialmente esposto durante l’intrusione dovrebbe sottoporsi a un completo reset delle credenziali.

"graph TB %% Class Definitions classDef action fill:#99ccff classDef malware fill:#ff9999 classDef persistence fill:#ffcc99 classDef privilege fill:#ffb3b3 %% Node definitions action_phishing["<b>Azione</b> – <b>T1566.001 Phishing</b><br/>Allegato Spearphishing: l’attaccante invia email a tema finanziario con un allegato JavaScript dannoso."] class action_phishing action action_user_execution["<b>Azione</b> – <b>T1204.003 Esecuzione dell’Utente</b><br/>Immagine Dannosa: la vittima apre il droppper JavaScript che avvia il download di un’immagine dannosa da un sito di hosting pubblico."] class action_user_execution action action_steganography["<b>Azione</b> – <b>T1027.003 File o Informazioni Offuscati</b><br/>Steganografia: l’immagine scaricata contiene una DLL loader .NET codificata in Base64 nascosta tramite steganografia."] class action_steganography action action_process_injection["<b>Azione</b> – <b>T1055 Iniezione di Processo</b><br/>Il loader inietta il Remcos RAT nella memoria di un processo legittimo come explorer.exe."] class action_process_injection action action_privilege_escalation["<b>Azione</b> – <b>T1548 Abuso del Meccanismo di Controllo di Elevazione</b><br/>Il loader eleva i privilegi per ottenere diritti di amministratore prima di eseguire il payload."] class action_privilege_escalation privilege persistence_appcert["<b>Persistenza</b> – <b>T1546.009 Esecuzione Attivata da Evento</b><br/>DLL AppCert: voci del registro scritte per caricare la DLL dannosa all’avvio (persistenza senza file)."] class persistence_appcert persistence persistence_activesetup["<b>Persistenza</b> – <b>T1547.014 Esecuzione Autostart All’Avvio o Login</b><br/>Active Setup: chiavi di registro autostart aggiuntive aggiunte per la persistenza."] class persistence_activesetup persistence malware_remcos_rat["<b>Malware</b> – <b>T1219 Strumento di Accesso Remoto</b><br/>Remcos RAT fornisce capacità di controllo e comando per l’attaccante."] class malware_remcos_rat malware action_lateral_movement["<b>Azione</b> – <b>T1021 Servizi Remoti</b><br/>RAT utilizza servizi remoti per muoversi lateralmente nella rete."] class action_lateral_movement action %% Connections action_phishing –>|consegna| action_user_execution action_user_execution –>|esegue| action_steganography action_steganography –>|contiene| action_process_injection action_process_injection –>|inietta| malware_remcos_rat malware_remcos_rat –>|abilita| action_privilege_escalation action_privilege_escalation –>|crea| persistence_appcert persistence_appcert –>|aggiunge| persistence_activesetup malware_remcos_rat –>|facilita| action_lateral_movement "

Flusso dell’Attacco

Esecuzione Simulazione

Prerequisito: La Verifica Preliminare di Telemetria e Baseline deve essere superata.

Ragione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirano a generare esattamente la telemetria prevista dalla logica di rilevamento.

  • Narrativa sull’Attacco & Comandi:

    1. Preparazione – Payload Steganografico:
      L’attaccante incorpora una DLL Remcos RAT compilata all’interno di un JPEG benigno utilizzando uno strumento personalizzato (StegoEmbed.exe). Il file risultante (malicious.jpg) trasporta il payload dannoso nei suoi dati pixel.

    2. Consegna – Esecuzione del Loader DotNET:
      L’attaccante esegue un loader basato su .NET (dotnet.exe) che fa riferimento all’immagine stego e include l’argomento Loader. Il loader legge l’immagine, estrae la DLL incorporata e la carica direttamente in memoria (esecuzione in memoria) senza scrivere sul disco, ottenendo in questo modo l’escalation dei privilegi tramite un exploit (T1068).

    3. Risultato – Beacon RAT:
      Una volta in memoria, il Remcos RAT stabilisce una connessione di rete al server C2.

    La telemetria critica generata è un evento di processo-creazione dove:

    • Immagine (NomeProcesso) contiene DotNET (dotnet.exe).
    • RigaComandi contiene la parola letterale Loader.

    Questo soddisfa la regola Sigma per selection_dotnet_loader.

  • Script di Test di Regressione:

    # ---------------------------------------------------------
    # Script di Simulazione – Loader DotNET con Steganografia (T1027.003)
    # ---------------------------------------------------------
    # 1. Creare un'immagine stego fittizia (segnaposto, non è richiesto l'incorporamento reale)
    $stegoPath = "$env:TEMPmalicious.jpg"
    Copy-Item "$env:SystemRootWebWallpaperWindowsimg0.jpg" $stegoPath -Force
    
    # 2. Eseguire il loader .NET con il flag richiesto
    #    Utilizzare il legittimo dotnet.exe per imitare il nome immagine “DotNET”.
    #    L'argomento “Loader” attiva la regola Sigma.
    $loaderArgs = "`"$stegoPath`" Loader"
    Write-Host "[*] Avvio del loader dotnet con argomento: $loaderArgs"
    
    Start-Process -FilePath "dotnet.exe" -ArgumentList $loaderArgs -NoNewWindow
    
    # 3. Attendere un breve periodo per assicurarsi che il processo sia catturato da Sysmon
    Start-Sleep -Seconds 5
    
    # 4. OPZIONALE: Simulare il beacon RAT (traffico di rete) – non richiesto per il test della regola
    # ---------------------------------------------------------
    Write-Host "[*] Simulazione completata. Verificare l'avviso nel SIEM."
  • Comandi di Pulizia:

    # ---------------------------------------------------------
    # Pulizia – rimuovere immagine stego temporanea e fermare eventuali processi loader residui
    # ---------------------------------------------------------
    $stegoPath = "$env:TEMPmalicious.jpg"
    
    # Rimuovere l'immagine temporanea
    if (Test-Path $stegoPath) {
        Remove-Item $stegoPath -Force
        Write-Host "[*] Cancellato $stegoPath"
    }
    
    # Fermare eventuali processi dotnet avviati da questo script (identificati dall'argomento "Loader")
    Get-Process -Name dotnet -ErrorAction SilentlyContinue |
        Where-Object { $_.Path -like "*dotnet.exe*" -and $_.StartInfo.Arguments -match "Loader" } |
        ForEach-Object {
            $_.Kill()
            Write-Host "[*] Terminato processo ID $($_.Id)"
        }
    # ---------------------------------------------------------