SOC Prime Bias: クリティカル

26 11月 2025 17:14

CVE-2025-61757: 9月に観測されたOracle Identity Managerエクスプロイト活動

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
CVE-2025-61757: 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月上旬にかけて、Oracle Identity Managerのエンドポイントに対し、「;.wadl」で終了する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経由で2つの既知の脆弱なURIに送信されます。トリビアルな検出ヒューリスティックを回避するために、攻撃者は一般的なブラウザーのユーザーエージェント文字列を模倣します。成功した配信により、サーバー側の逆シリアル化がトリガーされ、リモートコード実行が可能になります。

  • リグレッションテストスクリプト:

    #!/usr/bin/env bash
    set -euo pipefail
    
    # ターゲットホスト(実際のサーバーアドレスに置き換え)
    TARGET="http://localhost"
    
    # ルールで使用する一般的なブラウザーユーザーエージェント
    UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
    
    # 正確に556バイトの悪意あるペイロード(繰り返された“A”文字でシミュレート)
    PAYLOAD=$(printf 'A%.0s' {1..556})
    
    # 脆弱なエンドポイント
    ENDPOINTS=(
      "/iam/governance/applicationmanagement/templates;.wadl"
      "/iam/governance/applicationmanagement/api/v1/applications/groovyscriptstatus;.wadl"
    )
    
    for EP in "${ENDPOINTS[@]}"; do
      echo "[*] $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 "[+] エクスプロイト試行完了。"
  • クリーンアップコマンド:

    # このPoCにはWebサーバー上の永続的な変更はありません。
    # ローカルに作成された一時ファイルを削除します。
    rm -f /tmp/exploit_payload.tmp 2>/dev/null || true
    echo "[*] クリーンアップ完了。"