SOC Prime Bias: 심각

16 Jun 2026 13:03 UTC

ShinyHunters, Oracle PeopleSoft 취약점으로 교육 부문 공격

Author Photo
SOC Prime Team linkedin icon 팔로우
ShinyHunters, Oracle PeopleSoft 취약점으로 교육 부문 공격
shield icon

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 해시 캡처 시도를 식별해야 합니다.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#cccccc classDef vulnerability fill:#ff9999 classDef file fill:#ccffcc %% 초기 접근 단계 vuln_psemhub[“<b>취약점</b><br/>CVE-2026-35273<br/>Oracle PeopleSoft<br/>Environment Management 구성 요소(PSEMHUB) 악용”] class vuln_psemhub vulnerability action_initial_access[“<b>행위</b> – T1210: 원격 서비스 악용<br/><b>설명</b>: PSEMHUB의 제로데이 RCE 취약점을 악용하여<br/>초기 접근 권한을 획득.”] class action_initial_access action %% 명령 및 제어 단계 tool_meshcentral[“<b>도구</b> – MeshCentral<br/><b>설명</b>: C2 구축을 위한<br/>원격 관리 서버.<br/><b>유형</b>: 원격 접근 도구”] class tool_meshcentral tool tool_acme_client[“<b>도구</b> – acme-client (npm 패키지)<br/><b>설명</b>: 위장 도메인 azurenetfiles.net을 위한<br/>SSL 인증서 발급 자동화.”] class tool_acme_client tool file_meshagent[“<b>파일</b> – meshagent64-azure-ops.exe<br/><b>설명</b>: 원격 관리를 지원하기 위한<br/>사용자 지정 Windows MeshCentral 에이전트.”] class file_meshagent file %% 정찰 단계 action_recon[“<b>행위</b> – T1082: 시스템 정보 탐색<br/><b>설명</b>: Oracle PeopleSoft 설정 정보를 매핑하고<br/>네트워크 마운트를 점검.”] class action_recon action tool_meshctrl[“<b>도구</b> – meshctrl.js<br/><b>설명</b>: 탐색 작업에 사용되는<br/>MeshCentral 명령줄 유틸리티.”] class tool_meshctrl tool file_config_files[“<b>대상 파일</b><br/>psappsrv.cfg 및 WebLogic config.xml<br/>구성 정보 매핑에 사용.”] class file_config_files file %% 측면 이동 단계 action_lateral[“<b>행위</b> – T1110.003: 무차별 대입: 패스워드 스프레이<br/><b>설명</b>: 내부 호스트를 대상으로<br/>SSH 자격 증명 스프레이 공격 수행.”] class action_lateral action script_fanout[“<b>파일/스크립트</b> – [victim_abbreviation]_fanout.sh<br/><b>설명</b>: 자격 증명 스프레이 및<br/>갈취 파일 확산을 위한 사용자 지정 Bash 스크립트.”] class script_fanout file file_extort[“<b>파일</b> – README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT<br/><b>설명</b>: 변조 및 협박을 나타내는<br/>표시 파일.”] class file_extort file %% 데이터 유출 단계 action_exfil[“<b>행위</b> – T1560: 수집 데이터 아카이빙<br/><b>설명</b>: 유출 전에 탈취한 데이터를<br/>압축 처리.”] class action_exfil action tool_zstd[“<b>도구</b> – zstd<br/><b>설명</b>: 유출 대상 디렉터리를<br/>압축하는 데 사용되는 유틸리티.”] class tool_zstd tool %% 연결 vuln_psemhub –>|악용됨| action_initial_access action_initial_access –>|C2구축| tool_meshcentral tool_meshcentral –>|사용| tool_acme_client tool_meshcentral –>|배포| file_meshagent tool_meshcentral –>|지원| action_recon action_recon –>|사용| tool_meshctrl action_recon –>|확인| file_config_files action_recon –>|연결| action_lateral action_lateral –>|실행| script_fanout script_fanout –>|확산| file_extort script_fanout –>|연결| action_exfil action_exfil –>|사용| tool_zstd

공격 흐름

시뮬레이션 실행

전제 조건: 계측 및 기준점 선행 점검에 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 공격자 기술(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 "[+] 정리 완료."