SOC Prime Bias: Critico

30 Dic 2025 16:52

Volpe Argentata Prende di Mira l’India con Esca di Phishing a Tema Fiscale

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Volpe Argentata Prende di Mira l’India con Esca di Phishing a Tema Fiscale
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Un gruppo APT cinese chiamato Silver Fox conduce una campagna di phishing a tema fiscale contro entitĂ  indiane. L’email iniziale contiene un PDF che indirizza le vittime a un dominio malevolo e attiva il download di un file ZIP. Lo ZIP contiene un installer NSIS che rilascia Thunder.exe e una libexpat.dll malevola che esegue l’hijacking delle DLL, controlli anti-analisi e carica shellcode criptato. Il payload finale è un Valley RAT che riceve configurazioni da un’infrastruttura C2 a piĂą livelli.

Indagine

Il report dettaglia quattro fasi: (1) consegna di un ZIP tramite un’esca PDF, (2) esecuzione di un installer NSIS che rilascia Thunder.exe e libexpat.dll, (3) un loader di shellcode generato da Donut che inietta in explorer.exe, e (4) distribuzione di Valley RAT con persistenza basata sul registro e plugin modulari. L’analisi include un esame statico e dinamico dei binari, enumerazione di domini C2 e mappatura alle tecniche ATT&CK.

Mitigazione

I difensori dovrebbero monitorare per binari firmati che caricano DLL non firmate da posizioni temporanee, scritture nel registro sotto HKCUConsole, e creazione anomala di memoria PAGE_EXECUTE_READWRITE in explorer.exe. Bloccare domini e IP C2 noti e rilevare comportamenti di fallback multi-livello ridurranno l’esposizione. Implementare un controllo rigoroso delle applicazioni e il rilevamento dell’evasione della sandbox per fermare l’installer NSIS iniziale.

Risposta

Quando viene osservato un indicatore, isolare l’host interessato, raccogliere la memoria volatile per l’analisi dell’iniezione di processi, e cercare chiavi di registro e plugin di Valley RAT. Bloccare tutta l’infrastruttura C2 identificata e resettare le credenziali compromesse. Condurre una revisione forense completa per identificare eventuali plugin aggiuntivi o strumenti di movimento laterale.

graph TB %% Definizioni classi classDef technique fill:#ddeeff classDef file fill:#ffddaa classDef process fill:#ffccbb classDef action fill:#cce5ff %% Nodi – Tecniche initial_phishing[“<b>Accesso Iniziale – T1566.001</b><br/>Allegato Spearphishing<br/>La vittima apre un PDF fiscale malevolo che reindirizza a ggwk.cc e avvia il download di un file ZIP”] class initial_phishing technique user_execution[“<b>Esecuzione dell’Utente – T1204.002</b><br/>File Malevolo<br/>L’utente esegue il file ZIP scaricato contenente un installer NSIS”] class user_execution technique cmd_scripting[“<b>Esecuzione – T1059</b><br/>Interprete di Comandi e Script<br/>Lo script NSIS gestisce il flusso di installazione”] class cmd_scripting technique native_api_1[“<b>Esecuzione – T1106</b><br/>API Native<br/>L’installer chiama GetTempPathA, crea una directory temporanea e scrive i file”] class native_api_1 technique shared_modules[“<b>Esecuzione – T1129</b><br/>Moduli Condivisi<br/>L’installer rilascia Thunder.exe (firmato) e la DLL malevola libexpat.dll”] class shared_modules technique dll_hijack[“<b>Evasione Difensiva – T1574.001</b><br/>DLL Search Order Hijacking<br/>libexpat.dll viene posizionata accanto a Thunder.exe per essere caricata per prima”] class dll_hijack technique proxy_execution[“<b>Evasione Difensiva – T1218</b><br/>Esecuzione tramite Proxy di Binari di Sistema<br/>Thunder.exe viene utilizzato come proxy per eseguire la DLL malevola”] class proxy_execution technique trusted_proxy[“<b>Evasione Difensiva – T1127</b><br/>Proxy tramite Utility di Sviluppo Attendibili<br/>Thunder.exe firmato maschera l’attivitĂ  malevola”] class trusted_proxy technique dll_injection[“<b>Esecuzione – T1055.001</b><br/>Iniezione di DLL<br/>libexpat.dll esegue controlli anti-analisi e disabilita il servizio Windows Update”] class dll_injection technique service_execution[“<b>Esecuzione – T1569.002</b><br/>Esecuzione di Servizi<br/>Il servizio wuauserv viene arrestato per ridurre la visibilitĂ ”] class service_execution technique sandbox_evasion[“<b>Evasione Difensiva – T1497</b><br/>Evasione da Virtualizzazione/Sandbox<br/>La logica anti-debug e anti-sandbox termina l’esecuzione in ambienti di analisi”] class sandbox_evasion technique native_api_2[“<b>Esecuzione – T1106</b><br/>API Native<br/>Utilizza VirtualAllocEx e WriteProcessMemory per iniettare shellcode in explorer.exe”] class native_api_2 technique process_hollowing[“<b>Evasione Difensiva – T1055.012</b><br/>Process Hollowing<br/>Explorer.exe viene avviato in stato sospeso e il payload viene iniettato”] class process_hollowing technique reflective_loading[“<b>Esecuzione – T1620</b><br/>Caricamento di Codice Riflessivo<br/>Il loader generato con Donut esegue il payload interamente in memoria”] class reflective_loading technique registry_persistence[“<b>Persistenza – T1547.001</b><br/>Chiavi Run del Registro / Cartella di Avvio<br/>Valley RAT memorizza i moduli plugin in HKCU\\Console\\* come valori REG_BINARY”] class registry_persistence technique modify_registry[“<b>Persistenza – T1112</b><br/>Modifica del Registro<br/>Parametri di configurazione (indirizzi C2, flag funzionali) scritti nel registro”] class modify_registry technique c2_web[“<b>Comando e Controllo – T1071.001</b><br/>Protocolli Web<br/>Comunicazione C2 primaria tramite HTTP/HTTPS”] class c2_web technique c2_raw_tcp[“<b>Comando e Controllo – T1095</b><br/>Protocollo non di Livello Applicativo<br/>Supporto a TCP raw come fallback quando HTTP fallisce”] class c2_raw_tcp technique encrypted_channel[“<b>Comando e Controllo – T1573</b><br/>Canale Cifrato<br/>Tutto il traffico C2 e i payload di configurazione sono cifrati”] class encrypted_channel technique fallback_channels[“<b>Comando e Controllo – T1008</b><br/>Canali di Fallback<br/>Gerarchia C2 a tre livelli con failover automatico”] class fallback_channels technique keylogging[“<b>Raccolta – T1056.001</b><br/>Cattura Input: Keylogging<br/>La funzionalitĂ  di keylogging è abilitata tramite flag di configurazione”] class keylogging technique obfuscation[“<b>Evasione Difensiva – T1027</b><br/>File o Informazioni Offuscate<br/>Il payload è memorizzato cifrato in box.ini e decifrato a runtime”] class obfuscation technique code_signing[“<b>Evasione Difensiva – T1553.002</b><br/>Sovversione dei Controlli di Fiducia: Firma del Codice<br/>Thunder.exe firmato maschera l’attivitĂ  malevola”] class code_signing technique appcert_dll[“<b>Evasione Difensiva – T1546.009</b><br/>Esecuzione Attivata da Evento: AppCert DLL<br/>La DLL malevola libexpat.dll sfrutta il DLL hijacking per l’esecuzione”] class appcert_dll technique %% Nodi – File / Processi file_zip[“<b>File</b><br/>ZIP malevolo contenente l’installer NSIS”] class file_zip file nsis_installer[“<b>File</b><br/>Installer NSIS eseguito dall’utente”] class nsis_installer file thunder_exe[“<b>File</b><br/>Thunder.exe firmato utilizzato come proxy”] class thunder_exe file libexpat_dll[“<b>File</b><br/>DLL malevola libexpat.dll”] class libexpat_dll file box_ini[“<b>File</b><br/>Payload di configurazione cifrato (box.ini)”] class box_ini file explorer_exe[“<b>Processo</b><br/>explorer.exe (bersaglio dell’iniezione)”] class explorer_exe process donut_loader[“<b>File</b><br/>Loader riflessivo generato con Donut”] class donut_loader file %% Connessioni – Flusso di Attacco initial_phishing –>|scarica| file_zip file_zip –>|contiene| nsis_installer nsis_installer –>|esegue| user_execution user_execution –>|attiva| cmd_scripting cmd_scripting –>|usa| native_api_1 native_api_1 –>|scrive| shared_modules shared_modules –>|rilascia| thunder_exe shared_modules –>|rilascia| libexpat_dll thunder_exe –>|abilita| dll_hijack dll_hijack –>|facilita| proxy_execution proxy_execution –>|sfrutta| trusted_proxy trusted_proxy –>|carica| dll_injection dll_injection –>|disabilita| service_execution service_execution –>|riduce visibilitĂ | sandbox_evasion sandbox_evasion –>|prosegue| native_api_2 native_api_2 –>|inietta in| explorer_exe explorer_exe –>|svuotato da| process_hollowing process_hollowing –>|esegue| reflective_loading reflective_loading –>|usa| donut_loader donut_loader –>|stabilisce| registry_persistence registry_persistence –>|memorizza| modify_registry modify_registry –>|configura| c2_web c2_web –>|fallback a| c2_raw_tcp c2_raw_tcp –>|protetto da| encrypted_channel encrypted_channel –>|supporta| fallback_channels fallback_channels –>|fornisce| keylogging keylogging –>|registra input| obfuscation obfuscation –>|protegge| code_signing code_signing –>|maschera| appcert_dll appcert_dll –>|esegue tramite| dll_hijack %% Stili class initial_phishing,user_execution,cmd_scripting,native_api_1,shared_modules,dll_hijack,proxy_execution,trusted_proxy,dll_injection,service_execution,sandbox_evasion,native_api_2,process_hollowing,reflective_loading,registry_persistence,modify_registry,c2_web,c2_raw_tcp,encrypted_channel,fallback_channels,keylogging,obfuscation,code_signing,appcert_dll technique class file_zip,nsis_installer,thunder_exe,libexpat_dll,box_ini,donut_loader file class explorer_exe process

Flusso di attacco

Esecuzione della Simulazione

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

Motivo: Questa sezione dettaglia 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 mirare a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.

  • Narrazione dell’Attacco & Comandi:
    Un avversario consegna una DLL malevola insieme a un “Thunder.exe” rilasciato alla %TEMP% direttorio della vittima. Per evitare sospetti da parte dell’utente, il payload è lanciato tramite l’ explorer.exe processo giĂ  in esecuzione utilizzando l’ ShellExecute API di Windows, che si traduce in un evento di creazione di processo dove explorer.exe appare come genitore. Il malevolo Thunder.exe successivamente carica la DLL malevola (hijacking delle DLL) e inietta shellcode nel explorer.exe processo (iniezione di processo), ottenendo l’esecuzione di codice con il token dell’utente.

  • Script di Test di Regressione:

    # -------------------------------------------------
    # Script di regressione per attivare il rilevamento Sigma
    # -------------------------------------------------
    # 1. Preparare un falso Thunder.exe (copia di notepad.exe)
    $tempDir   = "$env:TEMP"
    $thunderPath = Join-Path -Path $tempDir -ChildPath "Thunder.exe"
    Copy-Item -Path "$env:SystemRootsystem32notepad.exe" -Destination $thunderPath -Force
    
    # 2. (Opzionale) Rilasciare una DLL malevola accanto per imitare l'hijacking
    $malDll = Join-Path -Path $tempDir -ChildPath "malicious.dll"
    # Per dimostrazione creiamo solo un file vuoto; in un test reale questa sarebbe una DLL appositamente creata.
    New-Item -Path $malDll -ItemType File -Force | Out-Null
    
    # 3. Lanciare Thunder.exe tramite explorer.exe usando ShellExecute (simulato con Start-Process -Verb RunAs)
    $explorer = (Get-Process -Name explorer).Id
    # Usa PowerShell per avviare il processo con explorer come genitore (richiede API a basso livello; qui approssimiamo)
    Start-Process -FilePath $thunderPath -ArgumentList "" -PassThru | Out-Null
    
    # 4. Attendiamo un breve periodo per consentire la generazione di log
    Start-Sleep -Seconds 5
    
    # 5. Clean-up (gestito nella sezione successiva)
  • Comandi di Pulizia:

    # -------------------------------------------------
    # Pulizia dopo la simulazione
    # -------------------------------------------------
    # Rimuovere il falso Thunder.exe e la DLL fittizia da %TEMP%
    Remove-Item -Path "$env:TEMPThunder.exe" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPmalicious.dll" -Force -ErrorAction SilentlyContinue
    
    # Termina eventuali processi Thunder.exe residui
    Get-Process -Name "Thunder" -ErrorAction SilentlyContinue | Stop-Process -Force