ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

サイト運営者にとって最悪の出来事の一つが、自分のWordPressサイトがハッキングされたことに気づく瞬間です。事前にセキュリティ対策を講じていなければ、攻撃者はWordPress管理画面(wp-admin)への侵入を足がかりに、ファーマハック(医薬品スパム)、フィッシングページ、日本語SEOスパム、リダイレクト型マルウェアなどを仕掛ける可能性があります。

近年は、不正な管理者ユーザーを追加し、サイトにファーマハックを感染させる新しいタイプのwp-adminハッキングも確認されています。この種の被害では、サイトの完全乗っ取り、データ窃取、データベースの改ざん、SEO hijacking(SEO乗っ取り)などが起こり得ます。WordPress管理画面はサイトの中核であり、ここから締め出されるとサイト自体にアクセスできなくなってしまうのです。

wp-adminハッキングの主な症状

WordPress管理画面がハッキングされている場合、以下のような兆候が見られることがあります。

  1. 心当たりのない管理者ユーザーが追加されている、または大量のスパムユーザーが作成されている。
  2. Googleにファーマ系スパムページとしてインデックスされている。
  3. サイトの表示速度が極端に遅くなった。
  4. 日本語テキストのページが勝手に追加されている(日本語SEOスパム)。
  5. 導入していたセキュリティプラグインが勝手に無効化されている。
  6. /public_html フォルダや /public_html/wp-admin フォルダ内に admin.php や adminer.php などの見覚えのないファイルがある。
  7. wp-adminのログイン画面が別のUIに差し替えられている、真っ白になる、あるいは「B Ge Team File Manager」というファイルマネージャーがアップロードされ、ログイン画面の代わりにサーバー上のファイル一覧が表示される黒/グレーの画面が出る。
WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説
  • wp-adminへアクセスした際やログイン後にPHP 500内部サーバーエラーが発生する。
  • 管理画面の「設定 » 一般」で「誰でも登録できる」オプションが勝手に有効化されている。
  • プラグインの追加・削除ができない。
  • ホスティング業者からアカウントを停止される。
  • Webシェルがアップロードされている。
  • テーマやコアファイルに不審なbase64エンコードコードが含まれている。
  • WordPress本体のコアファイルが改ざんされている。

関連記事:ハッキングされたWordPressサイトの復旧完全ガイド

wp-adminのマルウェアコードを削除する方法

1. index.phpファイルを確認する:まず、サイトの index.phpwp-admin/index.php が改ざんされていないかチェックしましょう。wp-adminハッキングを受けている場合、多くは index.php の先頭に次のようなコード行が追記されています。

WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

ここで読み込まれているファイルには悪意のあるコードが含まれており、WordPressが起動するたびに実行されます。このコードによって、偽のファーマページや日本語SEOスパムページなどが生成されることがあります。GitHub上のWordPress公式コアファイルと内容を見比べたうえで、不正な@require行を削除すればOKです。

2. マルウェアが作成したファイルを探す:サーバーのルートディレクトリや /wp-admin フォルダに、自分が作成していない新規ファイルがないかも確認してください。典型的な悪意あるファイルの例は以下の通りです。

  • Marvins.php
  • db_.php
  • 8c18ee
  • 83965
  • admin.php
  • buddy.zip
  • dm.php

こうした不審なファイルを見つけたら、必ずサイトのバックアップを取ってから削除しましょう。標準的なWordPressインストールでは、ルート直下には決まったファイル群しか存在しません。それ以外で自分が作成していないファイルはマルウェアの可能性があります。

WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

3. SEOスパムを調査する:Google検索で自ドメインにインデックスされたページ一覧を確認できます。検索演算子「site:example.com」などを使って調べてみましょう。

WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

検索結果がスクリーンショットのようにスパムページだらけの場合は、日本語SEOスパム除去ガイドを参考に対処してください。

4. 不明な管理者アカウントを追跡・削除する:複数の管理者が存在する場合は、「ユーザー」ページから身に覚えのないWordPressアカウントを削除し、さらに管理者ユーザーを勝手に追加するバックドアスクリプトを突き止めましょう。

WordPressの「ユーザー」ページ(wp-admin/users.php?role=administrator)を開き、新しく追加された管理者ユーザーがないか確認して、不明なアカウントを削除します。

その後、実行されるとAdministrator権限の新規ユーザーを挿入できるWordPressバックドアスクリプトを探します。このバックドアは、攻撃者がいつでも好きなタイミングでWordPressに再侵入できる仕組みでもあるため、さらなる被害を防ぐためにも必ず除去しておきましょう。

WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

5. uploadsディレクトリを点検する:uploads」ディレクトリ内にあるPHPファイルはすべて削除すべきです。

プラグインやWordPress本体の脆弱性を突かれると、攻撃者がWebサーバー上に悪意あるPHPファイルをアップロードできる場合があります。/uploads ディレクトリ内に .php / .php3 / .php4 / .php5 / .py / .asp / .aspx などの拡張子を持つ実行可能ファイルを見つけたら、削除してください。

また、以下のコードを記述した .htaccess/uploads のルートに設置することで、このディレクトリ内でのPHP実行を防ぐこともできます。

# PHP実行の無効化
<Files ~ "\.ph(?:p[345]?|t|tml)$">
   deny from all
</Files>

6. マルウェアスキャンは必須:サーバー上の全ファイルに対してマルウェアスキャンを実行しましょう。

ホスティングの管理画面やcPanelには「Virus Scanner(ウイルススキャナー)」という機能があるはずです。これを使ってサーバー内の悪意あるファイルを検出し、検出されたファイルを確認・削除します。Astra Securityが提供しているような、サイト全体を対象とした本格的なマルウェアスキャンを利用するのも有効です。

再感染を防ぎ、wp-adminハッキングの原因を特定するための対策

1. Webアプリケーションファイアウォール(WAF)の導入を検討する。

WAFはセキュリティ脅威を検知してブロックしてくれます。WordPress自体はセキュリティを考慮して作られていますが、プラグインはさまざまな脅威に晒されがちです。日々生まれる数百もの新たな脅威からWordPressサイトを守るには、Astraのようなセキュリティスイートによる先回りの防御が重要です。

2. WordPress本体・プラグイン・テーマを常に最新に保つ。

ハッカーやサイバー犯罪者は、プラグインやテーマの既知の脆弱性を悪用するツールを作ることがよくあります。脆弱性の悪用を防ぐために、WordPress本体・プラグイン・テーマには更新プログラムが提供されています。ハッキングを防ぐ最も簡単な方法は、ソフトウェアを最新の状態に保つことです。

3. サイトで作成される管理者アカウントを監視する。

典型的なサイト侵害では、攻撃者は後で管理画面やバックエンドにアクセスできるよう、自分用の管理者ユーザーを作成します。「最小権限の原則」に従い、この点にも積極的に注意を払いましょう。

4. WordPressのファイルとデータベースを定期的にバックアップする。

サーバー上の全ファイルとデータベースをアーカイブする自動バックアップを設定しましょう。バックアップは外部サーバーに保存するのがおすすめです。そうすれば、万が一ハッキングされてもバックアップを取り出せます。

5. サーバー上のファイル・フォルダのパーミッションを見直す。

ファイルパーミッションは、誰が読み・書き・実行できるかを定める重要な設定です。WordPress Codexが推奨する一般的なガイドラインは以下の通りです。

  • フォルダ:755
  • ファイル:644
WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

必要であれば、コマンドラインから再帰的にパーミッションを変更することもできます。

ディレクトリの場合:

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

ファイルの場合:

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

6. ダッシュボードからのファイル編集を無効化する。

WordPressダッシュボード内でのファイル編集は無効にしておくのが安全です。wp-config.php の末尾に以下の1行を追記すると、ダッシュボード経由のファイル編集を無効化できます。

## ダッシュボードでの編集を無効化
define('DISALLOW_FILE_EDIT', true);
WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

この手のハッキングは非常に多発しているため、WordPressサイトを安全に保つための詳しいステップバイステップ動画もぜひご活用ください。また、本記事はインフォグラフィックとしてダウンロードすることもできます。

Astra Security Suiteについて

Astraは、ハッカー・インターネット上の脅威・ボットからサイトを守るために開発された、必携のWebセキュリティスイートです。WordPress、OpenCart、Magentoなどの主要CMSで動くウェブサイトに、プロアクティブなセキュリティを提供します。

  1. WordPressプラグインに潜むPHP実行型マルウェアの駆除・対策ガイド

    最近、WP Super Cache、Akismet、Elementorといった人気WordPressプラグインが生成するファイルと酷似したファイル名・内容を持つ悪意あるファイルを、ハッカーが密かに仕込んでいるサイトが複数確認されました。これらのファイルに含まれるコードは、リダイレクトハック、サーバー上への不正ファイルの作成、お問い合わせフォームやメールマガジンへのスパム送信を引き起こし、最悪の場合はホスティング会社によるアカウント停止につながることもあります。本記事では、プラグインに潜むこの隠蔽マルウェアの実態と、その除去方法について詳しく解説します。 WP Super Cacheプラグイン

  2. Windows 10でキャッシュマネージャーエラー(BSOD)を解決する方法

    PCの起動時にブルースクリーンエラーが表示されて困っていませんか?実はこのトラブルは非常によくあるものです。ブルースクリーン・オブ・デス(BSOD)は、システムドライバーの破損、ハードウェアの不具合、メモリの故障、パーツの過熱など、さまざまな原因によって発生します。その中でも「キャッシュマネージャー」エラーは、起動時のブルースクリーンに表示される代表的なエラーの一つです。 本記事では、Windowsの設定を少し調整するだけで、キャッシュマネージャーエラーを解決できる複数の方法をご紹介します。 それでは早速見ていきましょう。 Windows 10でキャッシュマネージャーエラーが発生する主な原因