Attenzione al SparroWock: Il backdoor che morde, i comandi che catturano
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Il gruppo APT allineato alla Cina FamousSparrow ha distribuito un nuovo backdoor modulare C++ chiamato SparroWocky, sostituendo il precedente impianto SparrowDoor. Il malware include capacità avanzate di anti-analisi come lo stack spoofing e il caricamento riflettente della memoria. L’attività attuale è fortemente concentrata su organizzazioni governative in tutta l’America Latina.
Indagine
I ricercatori di ESET hanno identificato SparroWocky esaminando la sua architettura modulare e i suoi tratti di codice distintivi, inclusi riferimenti al poema Jabberwocky. L’indagine ha scoperto uno schema di caricamento a tridente che si basa su side-loading DLL e un formato di payload personalizzato decrittato con RC4. Gli analisti hanno anche osservato librerie open-source come Mbed TLS e MinHook usate per migliorare furtività e funzionalità.
Mitigazione
Le organizzazioni dovrebbero applicare controlli rigorosi intorno al side-loading DLL e monitorare la creazione di servizi sospetti o le modifiche alle chiavi Run del registro. È anche importante avere un rilevamento avanzato degli endpoint capace di identificare l’esecuzione di PE solo in memoria e la manipolazione dello stack. Le applicazioni pubbliche, inclusi i server Exchange, dovrebbero essere immediatamente aggiornate per ridurre le opportunità di accesso iniziale.
Risposta
Se viene rilevata un’attività SparroWocky, i sistemi colpiti dovrebbero essere isolati immediatamente per prevenire il movimento laterale e la comunicazione di comando e controllo. I soccorritori dovrebbero eseguire analisi forensi della memoria per identificare i moduli caricati riflettivamente e indagare sui flussi di esecuzione dirottati. I registri di audit dovrebbero essere esaminati anche per l’installazione di servizi non autorizzati o le modifiche ai meccanismi di persistenza come il SnapCart valore del registro.
Flusso di Attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (via registry_event)
Possibile Comportamento di Esecuzione Ritardata (via cmdline)
IOC (HashSha1) per rilevare: Attenzione al SparroWock: Il backdoor che morde, i comandi che catturano
IOC (SourceIP) per rilevare: Attenzione al SparroWock: Il backdoor che morde, i comandi che catturano
IOC (DestinationIP) per rilevare: Attenzione al SparroWock: Il backdoor che morde, i comandi che catturano
Rilevamento di SparroWocky Backdoor Reflective Code Loading [Windows Sysmon]
Comunicazione e Rilevamento del Proxy di SparroWocky Backdoor C&C [Connessione di rete Windows]
Rilevamento dell’Esecuzione di SparroWocky in Memoria [Creazione Processi Windows]
Esecuzione Simulata
-
Narrativa dell’Attacco & Comandi: L’avversario mira a stabilire un canale di comunicazione nascosto con un server di Comando e Controllo (C2). Per aggirare le semplici difese perimetrali, l’attaccante utilizza un proxy SOCKS5 per incanalare il traffico, facendo sembrare che il traffico provenga da un server proxy legittimo anziché dall’endpoint infetto. Questa azione è intesa per attivare il
selection_http_proxylogica nella regola di rilevamento generando log che identificano il protocollo come SOCKS5 e l’azione come ‘consenti’. -
Script di Test di Regression:
# Simulazione di SparroWocky C2 tramite Proxy SOCKS5 # Nota: Questo richiede un proxy raggiungibile o un ascoltatore simulato per attivare il log 'consenti'. $ProxyServer = "127.0.0.1:1080" # Si presume un ascoltatore/proxy locale per scopi di simulazione $TargetUrl = "http://example.com" Write-Host "[+] Tentativo di stabilire una connessione proxy SOCKS5 per simulare C2..." # Usando PowerShell per forzare una connessione attraverso un proxy $proxy = New-Object System.Net.WebProxy("http://$ProxyServer") $wc = New-Object System.Net.WebClient $wc.Proxy = $proxy try { $wc.DownloadString($TargetUrl) Write-Host "[+] Connessione tentata. Controlla i log del firewall per l'attività proxy SOCKS5/HTTP." } catch { Write-Host "[-] Connessione fallita (prevista se nessun ascoltatore è presente), ma la telemetria dovrebbe ancora essere generata dallo stack di rete." } -
Comandi di Pulizia:
# Interrompi eventuali ascoltatori proxy locali se sono stati avviati come parte della configurazione del laboratorio Stop-Process -Name "nc" -ErrorAction SilentlyContinue Stop-Process -Name "python" -ErrorAction SilentlyContinue Write-Host "[+] Pulizia completata."