ShinyHunters, Oracle PeopleSoft 취약점으로 교육 부문 공격
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
UCN6240 위협 행위자는 ShinyHunters로도 알려져 있으며, Oracle PeopleSoft 환경에 대한 적극적인 침투 및 협박 캠페인을 진행 중입니다. 공격자는 초기 접근을 확보하기 위해 환경 관리 구성 요소의 제로데이 원격 코드 실행 결함을 악용합니다. 그 후 MeshCentral을 통해 명령 및 제어를 수행하고, 맞춤형 스크립트를 사용하여 횡적 이동과 데이터 절도를 지원합니다.
조사
Mandiant와 Google 위협 정보 그룹은 노출된 공격자 준비 디렉토리 분석을 통해 이 캠페인을 발견했습니다. 조사 결과, 공격자의 무대에 Python SimpleHTTP 서버가 악성 MeshCentral 에이전트 및 명령 기록 아티팩트를 호스팅하고 있음을 밝혀냈습니다. 연구원들은 CVE-2026-35273 취약점의 악용에서부터 마지막 데이터 노출까지 침투 체인을 추적했습니다.
완화
조직은 EMHub 서비스(Environment Management Hub) 또는 PSEMHUB 애플리케이션을 즉시 비활성화하거나 제거해야 합니다. 경계 방어는 외부 액세스를 차단해야 합니다 /PSEMHUB/* and /PSIGW/HttpListeningConnector 엔드포인트. 추가적 강화를 위해 무단 .jsp 파일을 감시하고, 의심스러운 새 디렉터리를 주시하며, 예상치 못한 아웃바운드 SMB 트래픽을 모니터링해야 합니다.
대응
침해가 의심되는 경우, 조직은 취약한 PeopleSoft 엔드포인트에 대한 액세스를 제한하고, WebLogic 접근 로그에서 의심스러운 POST 활동을 검토해야 합니다. 포렌식 팀은 PSEMHUB 디렉터리의 무단 파일을 검색하고 XMLDecoder 기반 지속성을 검사해야 합니다. 아웃바운드 모니터링도 445번 포트에서 활성화하여 잠재적인 NTLM 해시 캡처 시도를 식별해야 합니다.
공격 흐름
탐지
Mesh Agent RMM 소프트웨어 설치 시도 가능 (registry_event 통해)
보기
MeshAgent 유틸리티 사용 시도 가능 (process_creation 통해)
보기
임시 폴더에 Linux 스크립트 생성됨 (file_event 통해)
보기
탐지할 IOC (HashSha256): Oracle PeopleSoft Exploit을 사용한 ShinyHunters의 교육 부문 대상
보기
탐지할 IOC (SourceIP): Oracle PeopleSoft Exploit을 사용한 ShinyHunters의 교육 부문 대상
보기
탐지할 IOC (DestinationIP): Oracle PeopleSoft Exploit을 사용한 ShinyHunters의 교육 부문 대상
보기
ShinyHunters 전파 스크립트 및 변조 마커 탐지 [Linux 파일 이벤트]
보기
Oracle PeopleSoft PSEMHUB Exploitation 탐지 by ShinyHunters [웹 서버]
보기
시뮬레이션 실행
전제 조건: 계측 및 기준점 선행 점검에 통과해야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 공격자 기술(TTP)의 정밀한 실행을 상세하게 설명합니다. 명령어와 설명은 식별된 TTP와 직접적으로 반영되어야 하며, 탐지 논리에 의해 기대되는 정확한 계측 데이터를 생성하도록 목표로 해야 합니다. 추상적이거나 관련 없는 예시를 들면 오진을 초래할 수 있습니다.
-
공격 서술 및 명령어: 공격자는 Oracle PeopleSoft의 취약점을 악용하여 미승인 접근을 확보하거나 권한을 상승시키려 합니다. 첫째로,
PSEMHUB/hub에 POST 요청을 보내 서비스를 확인합니다. 둘째로, 악성.jsp파일을PSEMHUB.war애플리케이션 디렉터리에 작성해 웹 셸을 준비하고, 특히envmetadata/transactions/경로를 표적으로 삼아 합법적으로 보이는 애플리케이션 메타데이터 구조 안에 그들의 활동을 숨깁니다. -
회귀 테스트 스크립트:
#!/bin/bash # Oracle PeopleSoft PSEMHUB 악용 시뮬레이션 스크립트 echo "[+] 시뮬레이션 시작..." # 1. selection_webservice_requests 트리거 (HTTP POST) echo "[+] 1단계: 악성 POST 요청 보내기..." curl -X POST "http://localhost/PSEMHUB/hub" -d "cmd=exploit" curl -X POST "http://localhost/PSIGW/HttpListeningConnector" -d "cmd=exploit" # 2. selection_fs_operations 트리거 (파일 생성) echo "[+] 2단계: 대상 디렉터리에 악성 .jsp 파일 생성..." # 시뮬레이션을 위한 디렉토리 존재 확인 (실제 테스트에서는 타겟) mkdir -p /webserv/applications/peoplesoft/PSEMHUB.war/envmetadata/transactions/ # 악성 JSP 파일 생성 echo "<% out.println("Exploited"); %>" > /webserv/applications/peoplesoft/PSEMHUB.war/envmetadata/transactions/shell.jsp # 와일드카드 매치 테스트를 위한 war 디렉토리 아래에 또 다른 .jsp 파일 생성 echo "<% out.println("Malicious"); %>" > /webserv/applications/peoplesoft/PSEMHUB.war/malicious.jsp echo "[+] 시뮬레이션 완료. SIEM에서 경고를 확인하세요." -
정리 명령어:
#!/bin/bash # 정리 스크립트 echo "[+] 시뮬레이션 아티팩트 정리 중..." rm -f /webserv/applications/peoplesoft/PSEMHUB.war/envmetadata/transactions/shell.jsp rm -f /webserv/applications/peoplesoft/PSEMHUB.war/malicious.jsp # 실제 운영에서는 디렉토리를 삭제하지 말고, 테스트에 생성한 파일만 삭제하세요. echo "[+] 정리 완료."