How BlueMoon Exploits Chrome CVE-2026-85046 and CVE-2026-87491
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
BlueMoon 익스플로잇 키트는 두 개의 V8 JavaScript 엔진 취약점을 Windows 커널 익스플로잇과 결합하여 브라우저 샌드박스를 우회하는 고급 악성코드 전달 프레임워크입니다. 이는 GemStone, ShadowPad 및 맞춤형 Rust 기반 로더를 포함한 다중 페이로드 배포를 가능하게 하며, 스피어피싱 캠페인을 통해 배포됩니다. 이 익스플로잇 키트는 미국과 동남아시아 전역의 조직을 목표로 하는 여러 첩보 중심의 위협 클러스터에서 사용되고 있습니다.
조사
분석은 V8 타입 혼동(CVE-2026-85046)과 샌드박스 탈출(CVE-2026-87491)로 시작하여 커널 권한 상승(CVE-2026-85880)으로 이어지는 완전한 익스플로잇 체인을 설명합니다. 연구원들은 실행이 렌더러 프로세스에서 브라우저의 상위 브로커 프로세스로 진행되어 임의의 명령을 실행하는 방식을 추적했습니다. 조사는 또한 GemStone 브라우저 확장 프로그램의 지속성과 ShadowPad 데이터 도난 기능을 포함한 페이로드 동작을 문서화했습니다.
완화
방어자는 특히 커널 익스플로잇이 오래된 Windows 빌드를 대상으로 하므로, 식별된 CVE를 수정하기 위해 Chrome 및 Windows 패치를 우선시해야 합니다. 보안 팀은 msgbox.exe가 %TEMP% 디렉토리에 나타나는 것과 같은 의심스러운 브라우저 확장 설치 및 예기치 않은 실행 파일 다운로드를 모니터링해야 합니다. 조직은 또한 스피어피싱 링크에 대한 이메일 필터링을 강화하고 EdgeCore_AutoUpdate와 같은 승인되지 않은 예약 작업을 모니터링해야 합니다.
대응
BlueMoon 활동이 감지되면, 사건 대응자는 추가 페이로드 실행과 측면 이동을 방지하기 위해 영향을 받는 호스트를 격리해야 합니다. %TEMP% 디렉토리 및 브라우저 프로필에 대한 포렌식 분석을 수행하여 드롭된 파일과 악성 확장 프로그램을 식별해야 합니다. 알려진 C2 인프라로의 연결에 대한 네트워크 로그를 검토하고, 새로 생성된 레지스트리 키나 예약 작업을 포함한 승인되지 않은 지속성 메커니즘을 조사해야 합니다.
공격 흐름
이 부분을 계속 업데이트하고 있습니다.
탐지
의심스러운 CURL 사용(명령줄을 통해)
공용 사용자 프로필의 의심스러운 파일(file_event을 통해)
BlueMoon 익스플로잇 키트 활동 탐지 – 권한 상승 및 코드 인젝션 [Windows 프로세스 생성]
스피어피싱을 통한 BlueMoon 익스플로잇 키트 맬웨어 실행 [웹서버]
시뮬레이션 실행
-
공격 서사 및 명령: 적은 브라우저 취약점을 이용하여 권한 상승을 목표로 합니다. 실제 시나리오에서는 메모리에서 발생하지만, 이 특정 탐지 규칙을 검증하기 위해 설명된 BlueMoon 연구의 행동을 모방하는 명령줄 명령을 실행합니다. 규칙에서 찾고 있는 인공물 을 시뮬레이션합니다. 공격자는 “렌더러의 권한을 상승시킵니다” 및 “Base64” 문자열을 포함한 명령줄 지시를 실행하여 논리를 트리거합니다.
-
회귀 테스트 스크립트:
# BlueMoon 탐지 규칙을 트리거하기 위한 시뮬레이션 스크립트 # 이 스크립트는 규칙이 찾고 있는 명령줄 문자열을 모방합니다. $ExploitCommand = "cmd.exe /c echo 'Executing payload: Base64 JavaScript exploit code' && echo 'This process raises the renderer's privileges and injects code into the browser's parent broker process'" Write-Host "[!] 탐지 트리거 명령 실행: 시뮬레이션 시작..." Start-Process cmd.exe -ArgumentList "/c $ExploitCommand" -Wait Write-Host "[+] 시뮬레이션 완료." -
정리 명령:
# 시뮬레이션 스크립트에 의해 영구적 인공물이 생성되지 않습니다. # 단순히 이상한 프로세스가 실행되고 있지 않은지 확인합니다. Get-Process | Where-Object {$_.CommandLine -like "*BlueMoon*"} | Stop-Process -Force -ErrorAction SilentlyContinue