React2Shellを悪用する複数の攻撃アクターによる侵害事例

2025年12月3日(現地時間)、React Server Components(RSC)における認証不要のリモートコード実行の脆弱性(CVE-2025-55182)が公開されました。JPCERT/CCでは、この攻撃の被害報告を複数受けています。その中で、本脆弱性を短期間のうちに複数の攻撃アクターに悪用され、Webサイト改ざんなど複数の被害が同時に発生した事案がありました。今回は容易に悪用可能な脆弱性が公表された場合に、攻撃者がいかに迅速かつ無差別に攻撃を行っているかを攻撃のタイムラインや使用されたマルウェアの紹介とあわせて解説します。このような深刻な脆弱性が公開された場合に、どのくらいのスピード感で対策を進めなければならないかという参考になればと思います。

攻撃のタイムライン

表1は今回紹介する事案で判明した攻撃のタイムラインです。(被害組織の特定につながる恐れがあるため、以降の一部のURLパスや識別子などはマスクしています)

表1:攻撃のタイムライン
日時(JST)
内容
2025-12-05 15:52 コインマイナー(sex.sh、xmrig)の設置
2025-12-06 07:28 コインマイナー(sex.sh.1)の設置
2025-12-06 09:53、10:09、11:00 HISONIC(javax)バックドアの設置
2025-12-06 15:00 Global Socket(npm-cli)をcron経由で毎時実行
2025-12-06 19:31 SNOWLIGHTのダウンローダー(javas)、CrossC2(rsyslo)の設置
2025-12-07 12:24 コインマイナー(xmrig)の設置
2025-12-07 16:51 /tmp/kernal(kernelに偽装)を毎分実行するようにcron設定を書き替え
2025-12-07 19:46 サイト改ざん(警告メッセージの表示)
2025-12-07 22:15 サービス利用者からの報告によって発覚

React2Shellの脆弱性が2025年12月3日に公開されてからわずか2日後にはコインマイナーの設置を狙った攻撃が行われており、それを皮切りに複数の攻撃者によってRATやバックドアなどのさまざまなマルウェアが設置・実行され、一つのサーバー上に複数の攻撃者が侵入している状況が見られました。
また、上記のタイムライン以外にも、2025年12月5日~7日の期間でWebサーバーのアクセスログ上に100を超えるIPアドレスからReact2Shellの脆弱性を狙ったと思われる不審なHTTP POST通信(アクセスログにはリクエストヘッダーやPOSTデータは記録されていなかったため、UserAgentやリクエストパス、レスポンスサイズなどをもとに推定)が観測されており、実際にはさらに多くの攻撃者から侵害を受けていた可能性もあります。

発端となったWebサイト改ざん

今回の事案は、攻撃者によってWebサイトが改ざんされていることに気づいたWebサイト利用者からの報告によって侵害が発覚しました。改ざんされたWebサイトでは、4カ国語で「CVE-2025-55182の脆弱性があるため、早急にパッチの適用が必要」といった警告が表示されていました。図1は改ざんされたWebページの例です。

図1:改ざんされたWebページ

上記の改ざんは国内外問わず複数のWebサイトで確認されており、いずれも早急な脆弱性対処を促す文面が記載されていました。図2は検索エンジンで表示された改ざんサイトの例です。

図2:Google検索結果

設置されたマルウェア

今回の事案ではさまざまなマルウェアやオープンソースツールが悪用されていました。表2は設置されていたマルウェアの一覧です。(設定ファイルなどは除く)

表2:設置されたマルウェア
項番
ファイル名
内容
1 sex.sh xmrigのダウンロード用bashスクリプト
2 sex.sh.1 xmrigのダウンロード用bashスクリプト
3 miner.sh xmrigの起動用bashスクリプト
4 xmrig xmrigコインマイナー
5 javax HISONICバックドア
6 javas SNOWLIGHTのダウンロード用bashスクリプト
7 rsyslo CrossC2 RAT
8 npm-cli Global Socket ツール
9 kernal 削除されていたため詳細不明

興味深い点として、一般的な金銭目的のコインマイナーの他に、UNC5174が利用すると言われているSNOWLIGHT[1]のダウンローダーや、UNC6603が利用すると言われているGolangで作成されたHISONICバックドア[2]、またSNOWLIGHTと同時刻に設置されていたLinux版のCobalt Strike実装であるCrossC2 RAT[3]などが確認されており、攻撃者の明確な目的は不明ですが、将来の攻撃基盤として悪用しようとしていた可能性も考えられます。
また、他のセキュリティベンダーの事例ではあまり見られないものとして、オープンソースツールであるGlobal Socket(gsocket)[4]の悪用も確認されました。 本ツールは、NAT配下やファイアウォールなど直接到達できない2台の端末同士でも、中継ネットワークであるGSRN(Global Socket Relay Network)を介して接続を行えるようにするためのツールです。特徴として、同一の事前共有鍵を持っている端末間で通信できる仕組みになっており、通信はエンドツーエンドで暗号化され、GSRNは暗号化されたトラフィックだけを中継します。
今回、攻撃者は実行時に以下のような環境変数とオプションを指定しており、npm-cli.datを秘密ファイルとして使用し、主にDNS通信で利用される53番ポートで外部からbash経由で操作できるようにバックドアとして悪用していました。

GS_PORT='53' SHELL=/bin/bash TERM=xterm-256color GS_ARGS="-k /home/***/.config/dbus/npm-cli.dat -liqD"

おわりに

今回のReact2Shellの脆弱性は公表されてから攻撃ツールの中に迅速に組み込まれ、わずか数日で多くのアクターによって悪用されている状況が観測されました。攻撃者によって脆弱性を悪用される速度は非常に早く、重大な脆弱性が公表された場合には早急な影響範囲の確認とパッチ適用などの対処が重要です。
また、悪用が確認されている脆弱性の対応を行う際にはパッチ適用とあわせて侵害有無の確認が必要です。 今回の事案のように目に見えるサイト改ざん以外により深刻な侵害を受けている可能性も考えられるため、他に影響を受けている箇所がないかを慎重に調査いただくことを推奨します。
なお、今回紹介したマルウェアの通信先などについては、Appendixに記載していますのでご確認ください。

インシデントレスポンスグループ 喜野孝太、矢野雄紀

参考情報

[1] UNC5174のWindows版マルウェアSNOWLIGHT
https://sect.iij.ad.jp/blog/2025/11/unc5174-windows-snowlight-in-2025/

[2] Multiple Threat Actors Exploit React2Shell (CVE-2025-55182)
https://cloud.google.com/blog/topics/threat-intelligence/threat-actors-exploit-react2shell-cve-2025-55182

[3] Cobalt Strike Beaconの機能をクロスプラットフォームへと拡張するツール「CrossC2」を使った攻撃
https://blogs.jpcert.or.jp/ja/2025/08/crossc2.html

[4] Global Socket
https://github.com/hackerschoice/gsocket

Appendix A:通信先

項番
通信先
用途
1 45.143.131[.]123:59999 SNOWLIGHTのダウンロード元/C2サーバー
2 154.89.152[.]240:443 CrossC2のC2サーバー

Appendix B:マルウェアのハッシュ値

項番
ハッシュ値(SHA-256)
ファイル名
1 5bae25736a09de5f4a0f9761d2b7bfa81ca8dba39de2a724473c9d021a65daa9 sex.sh
2 ba43e447e63611d365300bf2e8e43ccb02ea112778d0d555ef9a9ccf6169808b sex.sh
3 ac3e12fa0aa4d6e4eed322e81ecf708a8c9bea29247ae6b26cc39d3b3a6c2fb8 miner.sh
4 a536d755313ce550a510137211eca6171f636fb316026e9df8523c496c8fcd12 xmrig
5 0c748b9e8bc6b5b4fe989df67655f3301d28ef81617b9cbe8e0f6a19d4f9b657 xmrig
6 1a1edbea47162b1aa844252fcd4fb97f2a67faec1993e7819efc6a04b7c15552 javax
7 0d07a974993221305ca7af139b73d9de1dcd992f553215e4f041e830a2d82729 javas
8 5baa52387daedea5e3e00adf96ecacb4a2cdc98100664f29ac86e8e4a423baaf 54ad0ee3tcp
9 c1a9cfc62626118bd9f54e401fd52ecd2d766a5e8a69dbc7db909ea5c987fcc0 54ad0ee3tcp
10 4a74676bd00250d9b905b95c75c067369e3911cdf3141f947de517f58fc9f85c rsyslo
11 cb5f62bf7b591e69bd38e6bf8e40e8d307d154b2935703422d44f02e403d2e78 npm-cli
≪ 前へ
トップに戻る