日本時間の10月16日5時2分から16時12分まで。この約11時間に配布されたSEOプラグイン「Rank Math PRO」のバージョン3.0.123に、不正なコードが入っていました。
開発元のRank Mathが公式のサポートページで発表しています。対象は有料版のRank Math PROだけで、WordPress.orgで配布されている無料版「Rank Math SEO」は対象外です。
Rank Math PROを使っている人に向けて、自分のサイトが当てはまるかの確かめ方と、当てはまったときにやることを、公式の案内に沿ってまとめました。
何が起きたのか
Rank Mathの発表によると、決められた時間にRank Math PRO 3.0.123をダウンロードした一部の利用者に、不正なコード(マルウェア)入りのファイルが配布されました(①)。有効化すると、サイトが乗っ取られるおそれのあるコードです。Rank Mathはすでにファイルを取り除き、修正版の3.0.124を公開しています。

無料版のRank Math SEOを使っているサイトは影響を受けておらず、何もする必要はないとされています(②)。
参考:Rank Math PRO 3.0.123 Security Incident: How to Secure Your Website(Rank Math)
発表の時刻は世界標準時(UTC)で書かれています。日本時間に直すと、次の時間です。

このように、開発元の配布の仕組みに不正なコードが入り込み、正規の更新として利用者に届いてしまう攻撃を「サプライチェーン攻撃」と呼びます。利用者が正しい手順で更新していても防げないのが厄介な点です。
自分のサイトが当てはまるか確かめる
1. Rank Math PROを使っているか
管理画面の「プラグイン」を開き、「Rank Math SEO PRO」があるかを見ます。無料版の「Rank Math SEO」だけなら、当てはまりません。
2. いつ、どのバージョンを入れたか
「プラグイン」の一覧で、Rank Math PROのバージョンを確かめます。今3.0.123になっている場合や、10月16日5時2分から16時12分(日本時間)の間に更新した覚えがある場合は、次の表で当てはまるものを確かめます。
| 状況 | 公式が案内している対応 |
| 3.0.123を入れて、有効化した | サイトが乗っ取られたものとして扱う。次の章の手順で対応する |
| 3.0.123を入れたが、有効化していない | 3.0.123のファイルを削除し、3.0.124を入れ、念のためセキュリティスキャンをする |
| ダウンロードしただけで、サイトには入れていない | それだけでは乗っ取られた兆候にはならない。分からないときはRank Mathのサポートに問い合わせる |
有効化していた場合にやること
公式の案内では、方法が2つ示されています。確実なのは、問題の時間より前のバックアップに戻す方法です。
方法1:問題の前のバックアップに戻す(おすすめ)
- 10月16日5時2分(日本時間)より前に取ったバックアップで、サイトのファイルとデータベースを元に戻す
- WordfenceやSucuriなどのセキュリティツールでスキャンする
- WordPress、サーバー、データベースのパスワードと、APIキーをすべて変える
- Rank Mathのアカウントから3.0.124をダウンロードして入れる
バックアップの取り方と戻し方は、こちらの記事で紹介しています。
テストサイトの記事を、102本すべて削除しました。ついでにサイト名も「壊れたサイト」に書き換えました。 そのうえで、直前に取っておいたバックアップから戻すと、1分もかからずに記事は102本に、サイト名も元どおりになりました。使ったのは、無料のバックアッププラグイン「UpdraftPlus」です。 ...
方法2:手作業で取り除く
戻せるバックアップがないときは、手作業で取り除きます。公式の案内は、順番を守るように書かれています。この不正なコードは、誰かがサイトを開くたびに、隠れた入り口(バックドア)を作り直す仕組みになっているためです。作り直す仕組みを止める前にファイルだけ消しても、また元に戻ってしまいます。
- 作り直す仕組みを止める:rank-math-pro のフォルダを丸ごと削除する(無効化だけでは足りない)。データベースの wp_options から、下の表の3つの項目を削除する。サーバーやファイアウォールで rank1cdn.com への通信を止められるなら止める
- 残った変更を取り除く:下の表の場所を1つずつ確かめる
- 鍵を変える:WordPress、サーバー、FTP・SFTP、SSH、データベースのパスワードを変える。wp-config.php の認証用キー(ソルト)を作り直す。外部サービスのAPIキー、メール送信(SMTP)や決済のキーも作り直す
- 確かめる:もう一度スキャンし、WordPress本体とプラグインのファイルが改ざんされていないかを確かめる。消したファイルがまた現れないかを見る
- 3.0.124を入れる
消したファイルがまた現れる場合は、サーバー会社やセキュリティの専門家に相談するよう案内されています。手作業は見落としが出やすいので、迷ったら早めに専門家に頼みます。
公式が挙げている痕跡
| 確かめる場所 | 痕跡 |
| データベース(wp_options) | _uf6qdn2hmm、t8krdk990phb、_np5pvf754c という名前の項目 |
| 通信先 | rank1cdn.com |
| WordPress本体 | 本来ないファイル wp-includes/class-wp-cache-util.php |
| ユーザー | wpsupport_ で始まるユーザー名、または wp-mail[.]net で終わるメールアドレスの管理者 |
| PHPファイル | wp-content/mu-plugins/、ほかのプラグインのフォルダ、テーマの inc・includes・lib フォルダ、Rank Mathの includes フォルダ、uploads フォルダの中の見覚えのないPHPファイル |
| .htaccess | .cache ファイルをPHPとして動かす設定 |
| 定期実行(cron) | サーバーのcronにある #ms6v46 という印の付いた設定、身に覚えのないWordPressの予約処理 |
※ wp-mail[.]net は、誤ってリンクにならないよう [.] と書いています。
WP-CLIが使えるサーバーなら、管理者の一覧(wp user list –role=administrator)、本体ファイルの改ざんチェック(wp core verify-checksums)、予約処理の一覧(wp cron event list)で確かめられます。
wp user list --role=administrator
wp core verify-checksums
wp cron event list
修正版3.0.124の入れ方
rankmath.com を自分で開いてログインし、ダウンロードのページから3.0.124を取得します。Rank Mathは、ログイン用やダウンロード用のリンクをメールで送ることはないと書いています。今回の件に便乗した偽のメールのリンクは開かないようにします。
まとめ
Rank Math PROを使っているなら、今日のうちにバージョンを確かめます。3.0.123で、10月16日5時2分から16時12分(日本時間)の間に更新していたら、まずはその前のバックアップに戻せるかを確かめます。
今回のように、正規の更新そのものに不正なコードが入っていると、こまめに更新しているサイトほど早く巻き込まれます。防ぐのは難しくても、毎日のバックアップを数日分残しておけば、問題の前に戻せます。日ごとのバックアップが残っているか、この機会に確かめておくと安心です。
乗っ取られたときの症状や、ほかの対処法はこちらの記事で紹介しています。
WordPressサイトの乗っ取りは、いつ起こるかわからない脅威です。知らないうちに改ざんされ、ユーザーに不利益を与えているかもしれません。WordPressは世界中で広く利用されているCMSですが、その人気ゆえに悪意のある攻撃者から狙われやすい側面があります。 サイトが乗っ取られてしまうと、...
WordPressテーマ集











コメント