SOC Prime Bias: 심각

26 11월 2025 17:14

CVE-2025-61757: 2025년 9월에 관찰된 Oracle Identity Manager 익스플로잇 활동

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
CVE-2025-61757: 2025년 9월에 관찰된 Oracle Identity Manager 익스플로잇 활동
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 보고서는 Oracle Identity Manager에서 인증되지 않은 사용자가 “;.wadl” 접미사를 추가하여 임의의 URL에 도달할 수 있게 해주는 인증 우회 결함에 대해 설명합니다. 이는 궁극적으로 원격 코드 실행을 가능하게 합니다. 이 취약점(CVE-2025-61757)은 Oracle이 수정 사항을 배포하기 전에 이미 실제로 탐사되고 악용되는 것이 관찰되었습니다. 분석가는 독특한 사용자 에이전트 문자열을 사용하여 POST 요청을 발행하는 여러 스캐닝 IP를 기록했습니다. 후속 활동에는 추가 Oracle 버그(CVE-2025-4581)를 위한 탐사와 Log4j 악용을 유발하려는 시도도 포함되었습니다.

조사

로그 분석 결과 2025년 8월 말에서 9월 초까지 “;.wadl”로 끝나는 Oracle Identity Manager 엔드포인트에 대한 반복적인 POST 요청이 드러났습니다. 이 모든 요청은 동일한 사용자 에이전트 값을 공유하여 공통 스캐너 또는 툴킷을 가리켰습니다. 각 요청은 556바이트의 일관된 길이를 가진 페이로드를 포함하고 있었지만 본문 자체는 저장되지 않았습니다. 동일한 소스가 다른 알려진 취약점과 관련한 URL을 조사하여 의심되는 악용 표면을 확장했습니다.

CVE-2025-61757 완화

Oracle은 2025-10-21에 발표된 10월 크리티컬 패치 업데이트에서 CVE-2025-61757을 해결했습니다. 보안 팀은 최신 Oracle 패치를 신속히 배포하고, 모든 Oracle Identity Manager 엔드포인트에 강력한 인증을 시행하며, 비정상적인 “;.wadl” 요청 패턴을 적극적으로 모니터링해야 합니다. 추가적인 보안 강화 조치로는 식별된 사용자 에이전트 문자열을 엣지에서 차단하고, POST 요청 크기를 제한하며, WADL 및 관련 설정 노출을 가능한 한 제한하는 것이 포함됩니다.

대응

“.wadl” 접미사가 포함된 모든 HTTP 트래픽을 플래그하도록 탐지를 구성하며, 약 556바이트의 페이로드를 가진 POST 요청에 주목합니다. 이러한 이벤트를 알려진 사용자 에이전트 지문 및 원본 IP 주소와 연관시킵니다. 환경 내의 모든 Oracle Identity Manager 인스턴스가 패치된 릴리스로 업데이트되었는지 확인하고, “.wadl” 리소스가 신뢰할 수 없는 네트워크에서 직접 액세스할 수 없는지 확인합니다.

공격 흐름

이 부분은 여전히 업데이트 중입니다. 알림을 받기 위해 가입하세요.

알림 받기

시뮬레이션 실행

전제 조건: 원격 측정 및 기준선 사전 비행 검사가 통과해야 합니다.

이유: 이 부분은 탐지 규칙을 트리거하도록 설계된 적의 기술 및 전술 (TTP)의 정확한 실행을 자세히 설명합니다. 명령 및 설명은 식별된 TTP를 직접적으로 반영하여 탐지 논리에 의해 예상되는 정확한 원격 측정을 생성해야 합니다. 추상적이거나 관련 없는 예시는 오진을 초래할 것입니다.

  • 공격 서사 및 명령:

    공격자는 패치되지 않은 Oracle Identity Manager 인스턴스를 식별하고 CVE-2025-61757을 악용하는 악성 WADL 페이로드를 작성합니다. 이 페이로드는 556바이트 길이로 (개념 증명에 따라 요구됨) 작성되며, HTTP POST를 통해 두 개의 알려진 취약한 URI로 전송됩니다. 간단한 탐지 휴리스틱을 피하기 위해 공격자는 일반 브라우저의 사용자 에이전트 문자열을 흉내냅니다. 성공적인 전송은 서버 측 직렬화를 유발하여 원격 코드 실행에 이르게 됩니다.

  • 회귀 테스트 스크립트:

    #!/usr/bin/env bash
    set -euo pipefail
    
    # Target host (replace with actual server address)
    TARGET="http://localhost"
    
    # Common browser user‑agent used by the rule
    UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
    
    # Exact 556‑byte malicious payload (simulated with repeated “A” characters)
    PAYLOAD=$(printf 'A%.0s' {1..556})
    
    # Vulnerable endpoints
    ENDPOINTS=(
      "/iam/governance/applicationmanagement/templates;.wadl"
      "/iam/governance/applicationmanagement/api/v1/applications/groovyscriptstatus;.wadl"
    )
    
    for EP in "${ENDPOINTS[@]}"; do
      echo "[*] Sending exploit to $TARGET$EP"
      curl -s -o /dev/null -w "%{http_code}n" 
           -X POST "$TARGET$EP" 
           -H "User-Agent: $UA" 
           -H "Content-Type: application/xml" 
           -d "$PAYLOAD"
    done
    
    echo "[+] Exploit attempts completed."
  • 정리 명령:

    # 이 PoC에 대한 웹 서버의 지속적인 변경사항 없음.
    # 로컬에서 생성된 임시 파일을 제거합니다.
    rm -f /tmp/exploit_payload.tmp 2>/dev/null || true
    echo "[*] 정리 완료."