Volpe Argentata Prende di Mira l’India con Esca di Phishing a Tema Fiscale
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
Rilevamenti
Possibili Punti di Persistenza [ASEP – Software/NTUSER Hive] (tramite evento del registro)
Visualizza
Comando e Controllo Sospetto tramite Richiesta DNS di Dominio di Primo Livello Insolito (TLD) (tramite dns)
Visualizza
Processo Sospetto senza Argomenti (tramite cmdline)
Visualizza
IOC (SourceIP) per rilevare: Silver Fox che prende di mira l’India usando esche di phishing a tema fiscale
Visualizza
IOC (HashSha256) per rilevare: Silver Fox che prende di mira l’India usando esche di phishing a tema fiscale
Visualizza
IOC (DestinationIP) per rilevare: Silver Fox che prende di mira l’India usando esche di phishing a tema fiscale
Visualizza
Rilevazione dell’Hijacking delle DLL tramite Thunder.exe e Iniezione di Processi in Explorer.exe [Creazione Processo Windows]
Visualizza
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.exeprocesso giĂ in esecuzione utilizzando l’ShellExecuteAPI di Windows, che si traduce in un evento di creazione di processo doveexplorer.exeappare come genitore. Il malevoloThunder.exesuccessivamente carica la DLL malevola (hijacking delle DLL) e inietta shellcode nelexplorer.exeprocesso (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