SOC Prime Bias: Alto

01 Jul 2026 06:50 UTC

LokiBot Dopo un Decennio: Analisi di una Campagna Recente

Author Photo
SOC Prime Team linkedin icon Segui
LokiBot Dopo un Decennio: Analisi di una Campagna Recente
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

LokiBot è un infostealer di lunga durata progettato per raccogliere credenziali da browser, portafogli di criptovalute e altre applicazioni sensibili. Questa campagna recente si basa su una catena di esecuzione multi-fase che inizia con un allegato JScript offuscato consegnato tramite malspam. Il malware utilizza l’iniezione di processi e il hashing delle API per ridurre la visibilità mentre invia i dati rubati alla sua infrastruttura di comando e controllo.

Indagine

L’indagine ha esaminato un campione multi-fase di LokiBot e ha tracciato la sua progressione da un allegato JScript a un caricatore PowerShell, poi a un iniettore .NET, e infine al payload LokiBot. Gli analisti hanno identificato l’uso di protezione ConfuserEx, decriptazione basata su XOR e tecniche di caricamento riflettente in tutta la catena. Lo studio ha anche descritto l’approccio personalizzato del malware al hashing delle API e un metodo di persistenza basato su registro difettoso.

Mitigazione

Le organizzazioni dovrebbero implementare un robusto filtro email per bloccare gli allegati JScript malevoli e il malspam prima della consegna. Monitorare processi figlio sospetti generati da wscript.exe and powershell.exe è altrettanto essenziale. Inoltre, limitare l’esecuzione di assembly .NET non attendibili e osservare cambiamenti insoliti nelle chiavi di Windows Run può aiutare a ridurre l’esposizione.

Risposta

Se LokiBot viene rilevato, isolare immediatamente l’endpoint colpito per fermare ulteriori furti di dati e comunicazioni di comando e controllo. Gli investigatori dovrebbero eseguire un’analisi forense per determinare il punto di ingresso originale e valutare l’entità del compromesso delle credenziali. Tutti gli account accessibili dall’host infetto dovrebbero subire un reset completo della password, e l’ambiente dovrebbe essere scansionato per artefatti JScript e PowerShell correlati.

Flusso dell’Attacco

Esecuzione della Simulazione

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

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 le TTPs identificate e mirano a generare l’esatta telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrativa & Comandi di Attacco: L’avversario ha ottenuto con successo l’accesso iniziale tramite un file JScript. Per evitare di lasciare un .dll rilevabile sul disco, eseguono un comando PowerShell che contiene una stringa codificata in Base64. Questo script, una volta decodificato, utilizza la .NET Reflection capacità di richiamare [System.Reflection.Assembly]::Load per estrarre un payload malevolo direttamente nella memoria del processo corrente. Questo approccio “senza file” è un tratto distintivo di LokiBot.

  • Script di Test di Regressione:

    # Script di Simulazione LokiBot
    # Questo script è progettato per corrispondere esattamente alle stringhe definite nella regola di rilevamento.
    
    # 1. Simulare il componente Base64
    $encodedCommand = "Script PowerShell codificato in Base64"
    $dummyPayload = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("DummyPayload"))
    
    # 2. Simulare il componente di Caricamento dell'Assembly usando la stringa esatta dalla regola di rilevamento
    # Usiamo un try/catch perché questa è una simulazione e il "payload" non è un assembly reale.
    try {
        Write-Host "Esecuzione della fase codificata..."
        Write-Output $encodedCommand
    
        # Questa linea è il trigger principale per la regola di rilevamento
        $trigger = "[System.Reflection.Assembly]::Load"
        Write-Host "Tentativo di caricamento dell'assembly via: $trigger"
    
        # Lo chiamiamo tramite Invoke-Expression per assicurarci che appaia nel TextBlockScrittura
        Invoke-Expression "Write-Host 'Innescando: $trigger'"
    }
    catch {
        Write-Error "La simulazione non è riuscita ad eseguire la stringa del trigger."
    }
  • Comandi di Pulizia:

    # Nessuna modifica permanente viene apportata dallo script di simulazione.
    # Semplicemente sgombrando la console e assicurandosi che non esistano processi residui.
    Clear-Host
    Write-Host "Pulizia della simulazione completata. Nessun file è stato lasciato."