Next.js/React を侵害する PCPcat:C2 インフラへのアクセスで判明したサーバ 59,000 台への侵害

Operation PCPcat Exploits Next.js and React, Impacting 59,000+ Servers

2025/12/24 gbhackers — 世界中の 59,000 台以上の Next.js サーバが、Operation PCPcat と呼ばれる高度な認証情報窃取キャンペーンにより侵害されている。このインシデントでは、Next.js フレームワーク (React ベース) に存在する深刻な脆弱性が悪用され、機密性の高い認証データが大規模に収集された。Beelzebub のセキュリティ研究者たちは、ハニーポット監視を通じて、このキャンペーンを発見した。さらに、攻撃者の C2 インフラに直接アクセスすることで、憂慮すべき被害規模や運用の実態を特定している。

このキャンペーンにおけるエクスプロイトの成功率は 64.6% に達している。侵害されたサーバは 59,128 台に及び、約 30 万~59 万件の認証情報が窃取されている。脅威アクターたちは、深刻な2件の脆弱性 CVE-2025-29927/CVE-2025-66478 を悪用し、Next.js デプロイメントでリモートコード実行を実現する。

この攻撃チェーンは、パブリックなインターネット空間での Next.js 大量スキャンに始まり、JSON ペイロード操作を通じて悪意コマンドを注入 (インジェクション) する、プロトタイプ汚染攻撃へと続く。侵入に成功した脅威アクターは、マルウェアを介して .env ファイル/SSH 秘密鍵/クラウド認証情報/システム環境変数を優先的に抽出するための、体系的なデータ抽出ルーチンを実行する。

シンガポールの “67.217.57.240” にホストされる C2 インフラは、スキャン割り当て/窃取データ受信/運用統計提供を担う4つの主要 API エンドポイントで動作する。注目すべき点は、この C2 サーバが認証不要の GET /stats エンドポイントを通じて、キャンペーンの完全メトリクスを公開していたことである。それにより判明したのは、攻撃者が無差別に 91,505 個の IP アドレスをスキャンしていた事実である。

このマルウェアは永続性の確保のため、GOST プロキシソフトウェアと Fast Reverse Proxy (FRP) コンポーネントをインストールし、再起動後も持続する systemd サービスを作成する。

この攻撃インフラにより継続的なスキャンが可能になるため、侵害済みマシンは 45 分ごとに 2,000 個の新規ターゲットを C2 に照会する。それにより、1日で 41,000 台が追加侵害される可能性がある。

このキャンペーンは、大規模インテリジェンス活動の特徴を持ち、攻撃者は Next.js の内部構造とクラウド・インフラを高度に理解している。Beelzebub によると、マルウェアが標的とするのは、AWS 認証情報/Docker コンフィグ/GitHub トークンなどの、一般的な開発環境に保存されるクラウド・ネイティブ認証メカニズムである。

Next.js を使用する組織にとって必要なことは、不正アクセスの有無の監査/.env 内容の確認/公開済み認証情報のローテーション/ネットワーク・セグメンテーションの速やかな実施である。

セキュリティ・チームは、プロトタイプ汚染試行を監視する Suricata ルール/pcpcat マルウェア検知用 YARA シグネチャ/child_process 実行パターンの行動分析により侵害を検出できる。

このキャンペーンで公開された C2 メトリクスは、防御側がインフラを調査/特定しているという事実に、攻撃者が気付いていない可能性を示唆する。そのため、脅威アクターが戦術変更する前に残される、プロアクティブ防御を実施するための期間は短いと捉えるべきだ。

侵害の兆候(IOC)

C2 インフラストラクチャ

67.217.57.240:666    - Distribution server (payload hosting)
67.217.57.240:888    - FRP C2 (reverse tunneling)
67.217.57.240:5656   - Main C2 API (task assignment, data exfiltration)

API エンドポイント

http://67.217.57.240:5656/domains    - Target assignment (fetches 2000 IPs)
http://67.217.57.240:5656/result     - Data exfiltration (accepts credential POST)
http://67.217.57.240:5656/health     - Health check
http://67.217.57.240:5656/stats      - Operational metrics (EXPOSES CAMPAIGN DATA)

http://67.217.57.240:666/files/proxy.sh         - Persistence installer
http://67.217.57.240:666/files/react.py         - Scanner/exploit module

この問題の原因は、Next.js フレームワークに存在したプロトタイプ汚染などの深刻な脆弱性が放置され、そこからリモート・コードが実行されてしまったことにあります。この隙を突いた攻撃者は、設定ファイルである “.env” やクラウドの認証情報を自動的に盗み出す仕組みを構築していました。