How to Clean a Hacked WordPress Site using Wordfence

If your site has been hacked, Don’t Panic.

This article will describe how to clean your site if it has hacked and infected with malicious code, backdoors, spam, malware or other nastiness.あなたのサイトは、ハッキングされたとき、悪意のあるコード、バックドア、スパム、マルウェア、または他の悪意に感染している。 この記事は2019年8月27日に更新され、特定の感染タイプをクリーニングするのに役立つリソースが追加されました。 この記事は、Wordfenceの創設者であるMark Maunderが執筆しています。 私は公認のセキュリティ研究者、WordPress開発者でもあり、このサイトを含む多くのWordPress搭載のウェブサイトを自分で所有し運営しています。 WordPress を使用していない場合でも、この記事には、感染からサイトを保護するために使用できるツールがいくつか含まれています。

WordPressを使用していてハッキングされた場合、Wordfenceを使用してサイトから悪質なコードの多くを除去することができます。 Wordfence では、ハッキングされたファイルを、オリジナルの WordPress コア ファイル、およびリポジトリ内の WordPress テーマとプラグインのオリジナル コピーと比較することができます。 Wordfence では、何が変更されたかを確認し、ワンクリックでファイルを修復するオプションやその他のアクションを実行できます。

Wordfence サイトクリーンアップ広告

ハッキングされたと疑ったら、まず実際にハッキングされているかどうかを確認しましょう。 サイトの動作がおかしい、アップデートがうまくいかない、その他の問題が起こっているだけなのに、ハッキングされたと思ってパニックになったサイト管理者が連絡してくることがあります。

Your site has been hacked if:

  • You see spam appearing in your site header or footer that contains adverts for things like pornography, drugs, illegal services, etc….
  • Google で site:example.com (example.com を自分のサイトに置き換えてください) で検索すると、見覚えのない、悪意のあるページやコンテンツが表示されることがよくあります。 多くのハッカーは、あなたがサイト管理者であることを検出し、あなたにスパムを表示することはありませんが、あなたの訪問者や検索エンジンのクローラーにのみスパムを表示します。
  • あなたのウェブサイトが悪意またはスパムの何かを行っているという報告をホスティングプロバイダから受け取った場合、これには特に注意してください。 たとえば、あなたのホストから、あなたのWebサイトへのリンクを含むスパムメールの報告を受けていると言われた場合、これは、あなたがハッキングされたことを意味する可能性があります。 この場合、ハッカーがやっていることは、どこからかスパムを送り、自分の所有するウェブサイトに人々をリダイレクトするためのリンクとして、あなたのウェブサイトを使用していることです。
  • Wordfence は、これらの問題の多くと、ここで触れていない他の問題を検出しています。

    ハッキングされたことを確認したら、すぐにサイトをバックアップしてください。 FTP、ホスティング プロバイダーのバックアップ システム、またはバックアップ プラグインを使用して、Web サイト全体のコピーをダウンロードします。 この作業を行う必要があるのは、多くのホスティングプロバイダーが、ハッキングされたことを報告したり、悪意のあるコンテンツを検出したりすると、サイト全体を直ちに削除してしまうからです。 おかしな話ですが、これはネットワーク上の他のシステムが感染するのを防ぐための標準的な手順なのです。 このような場合、「ディアボロス」は、「ディアボロス」を「ディアボロス」と呼びます。 これは、少なくともあなたのハッキングされたサイトのコピーを持っていると、あなたはすべてを失うことはありませんという知識を持って快適にあなたのサイトをきれいにする次のステップに安全に移動することができますを完了します。

    ハッキングされた WordPress サイトをクリーニングする前に知っておくべきこと:

    ここで、サイトをクリーニングする際のルールを説明します:

    • wp-content/plugins/ ディレクトリのすべてを削除しても、通常はデータを失ったりサイトを壊したりすることはありません。 なぜなら、これらは再インストール可能なプラグインファイルであり、WordPressはあなたがプラグインを削除したかどうかを自動的に検出し、それを無効化するためです。 ただ、個別のファイルだけでなく、wp-content/pluginsのディレクトリごと削除するようにしてください。 たとえば、Wordfenceのプラグインを削除したい場合, あなたは、ディレクトリ自体を含む、wp-content/plugins/wordfenceとそのディレクトリ内のすべてのものを削除する必要があります.
    • WP-CONTENT/TEMES ディレクトリには、通常、サイトに使用するテーマ ディレクトリが 1 つだけ存在します。 これがどれかわかっていれば、他のテーマ ディレクトリをすべて削除することができます。 子テーマ」を持っている場合、wp-content/themes に 2 つのディレクトリを使用していることがあるので注意してください。
    • wp-admin および wp-includes ディレクトリには、新しいファイルはほとんど追加されていません。 そのため、これらのディレクトリに何か新しいものを見つけたら、それは高い確率で悪意のあるものです。
    • 古いWordPressのインストールとバックアップに注意してください。 しかし、私は私のサイトを最新に保ち、セキュリティプラグインをインストールしていたので、なぜ私はハッキングされたのですか?”と言う誰かが感染したサイトをよく見かけます。 時々起こるのは、あなたや開発者が、あなたのサイトの全ファイルのコピーを、ウェブからアクセス可能な/old/のようなサブディレクトリにバックアップしてしまうことです。 このバックアップは維持されず、たとえメインサイトが安全であっても、ハッカーはそこに侵入し、感染させ、彼らが仕掛けたバックドアからメインサイトにアクセスすることができるのです。

    いくつかの便利なツール:

    サーバーにSSHアクセスできる場合、サインインして次のコマンドを実行すると、過去2日間に変更されたすべてのファイルが表示されます。 ドットはカレントディレクトリを示すことに注意してください。 これにより、以下のコマンドは、カレントディレクトリとすべてのサブディレクトリで最近更新されたファイルを検索します。 (SSH で現在のディレクトリを調べるには、’pwd’ を引用符なしで入力します)。

    find . -mtime -2 -ls

    または、特定のディレクトリを指定できます:

    find /home/yourdirectory/yoursite/ -mtime -2 -ls

    または、検索結果を過去10日間に変更されたファイルを表示するように変更できます:

    find /home/yourdirectory/yoursite/ -mtime -10 -ls

    上の検索を行って、変更したファイルが見え始めるまで徐々に日数を増やすことを提案します。 ハッキングされてから自分で何も変更していなければ、ハッカーが変更したファイルを見ることができる可能性が非常に高いです。 その後、自分で編集して、ハッキングを一掃することができます。 これは、どのファイルが感染したかを知るための最も効果的で簡単な方法であり、すべてのプロのサイトクリーニングサービスによって使用されています。

    SSHにおけるもうひとつの便利なツールは、「grep」です。 たとえば、base64 (ハッカーがよく使う) を含むファイルを検索するには、次のコマンドを実行します:

    grep -ril base64 *

    これは単にファイル名をリストアップするだけです。 l’ オプションを省略すると、base64 文字列が出現するファイルの実際の内容を見ることができます:

    grep -ri base64 *

    「base64」は正規のコードにも出現することを念頭に置いておいてください。 何かを削除する前に、あなたのサイトのテーマやプラグインで使用されているファイルを削除していないかどうかを確認する必要があります。 より洗練された検索は次のようになります。

    grep --include=*.php -rn . -e "base64_decode"

    このコマンドは、.php で終わるすべてのファイルで “base64_decode” という文字列を再帰的に検索して行番号を表示するので、この文字列が出現するコンテキストをより容易に見つけることができます。 最近変更されたファイルを見つけ、ファイル内で何が変更されたかを確認し、「bad hacker was here」のような共通のテキスト文字列を見つけたら、次のようにそのテキストを含むすべてのファイルを grep してください。 そのような場所の1つが、WordPressのインストールにおけるuploadsディレクトリです。 以下のコマンドは、uploadsディレクトリ内の画像ファイルでないすべてのファイルを検索する方法を示しています。 出力は、カレントディレクトリの “uploads-non-binary.log” というログファイルに保存されます。

    find public_html/wp-content/uploads/ -type f -not -name "*.jpg" -not -name "*.png" -not -name "*.gif" -not -name "*.jpeg" >uploads-non-binary.log

    2 つのシンプルなコマンドライン ツール “grep” と “find” を使用すると、感染したウェブサイト全体を掃除することができます。 なんて簡単なんでしょう!

    WordfenceでハッキングされたWordPressサイトをクリーニングする方法:

    さて、あなたの武器にいくつかの強力なツールを持ち、すでに基本的なクリーニングを行ったので、Wordfenceを起動してサイトをクリーニングするためにフルスキャンを実行しましょう。 このステップは、Wordfenceが非常に高度な感染検索を行うため、重要です。 例えば、

    • 私たちは、すべての WordPress コア ファイル、オープン ソース テーマ、およびオープン ソース プラグインがどのように見えるべきかを知っているので、Wordfence は、それが誰も見たことがない新しい感染であっても、ソース ファイルのいずれかが感染しているかどうかを判断することができます。
    • 私たちは複雑な正規表現を使って感染シグネチャを検索し、既知の感染のデータベースは継続的に更新されています。 単純な unix コマンド ライン ツールや cPanel ではできません。
    • Google セーフ ブラウジング リストを使用してマルウェア URL を検索します。
    • SpamHaus など他の多くのデータ ソースを使用して、システム上のマルウェアや感染を見つけます。

      Wordfence で侵入されたサイトを浄化する方法:

      1. あなたのサイトを最新バージョンの WordPress にアップグレードすることです。
      2. すべてのテーマとプラグインを最新バージョンにアップグレードします。
      3. サイト上のすべてのパスワード、特に管理者パスワードを変更します。
      4. 上記の推奨バックアップとは別に、別のバックアップを取って保存します。 今、あなたは感染したサイトを持っていますが、そのサイトはすべての最新バージョンを実行しています。 Wordfence を使用してサイトをきれいにしている間に何か壊れた場合、このバックアップに戻ることができ、上記のすべてのステップをたどる必要はありません。 スキャンオプションとスケジューリング」リンクをクリックします。 高感度」スキャンオプションを有効にします。 スキャンに時間がかかりすぎる、または完了しない場合は、「一般的なオプション」セクションを展開します。 WordPressインストール外のファイルをスキャンする」と「画像、バイナリ、およびその他のファイルを実行可能であるかのようにスキャンする」オプションの選択を解除する。
      5. 結果が表示されると、感染したファイルの非常に長いリストが表示される場合があります。
      6. 疑わしいファイルを調べ、それらのファイルを手動で編集して削除するか、またはファイルを削除してください。 削除を元に戻すことはできないことを覚えておいてください。 しかし、上で推奨したバックアップを取っている限り、間違ったものを削除してしまっても、いつでもファイルを復元することができます。 Wordfence が提供するオプションを使って、元のファイルとあなたのファイルとの間で何が変更されたかを確認します。
      7. リストが空になるまで、ゆっくりと作業します。
      8. 再度スキャンを実行し、サイトがクリーンであることを確認します。 詳細は、[email protected] に件名「Paid site cleaning service」でメールしてください。

      疑わしいと思われるファイルがあります。 どうすればわかりますか?

      メール([email protected])にてお知らせください。 WordPress の wp-config.php 設定ファイルが感染している場合、データベースへのアクセス資格情報および認証の固有キーとソルトを削除してから、そのファイルのコピーを私たちに送信しないでください。

      特定の種類の感染を取り除く手助けはどこにありますか?

      Wordfence ラーニングセンターには、あなたを手助けするさまざまな記事があります。 ここでは、特定の種類の感染症に役立つ記事のリストを紹介します。

      • Removing Malicious Redirects From Your Site
      • Finding and Removing Backdoors
      • Removing Spam Pages From WordPress Sites
      • Finding and Removing Spam Links

    • Removing Phishing Pages From WordPress Sites
    • Removing Malicious Mailer

    • Milicious Roller
    • Removating Malicious Mailer サイトからのコード
    • 悪意のあるファイル アップローダーの検出と削除
    • WordPress 改ざんページの削除
    • WordPressサイトから不審なコードを削除する方法

      Hacked WordPressサイトをクリーニングしましたが、Google Chromeはまだマルウェア警告を出しています。 どうしたらよいでしょうか。

      Google セーフ ブラウジング リストからサイトを削除する必要があります。 サイトをクリーンアップする方法については、この Google ドキュメントをお読みください。

      1. まず、Google ウェブマスター ツールにログインします。
      2. まだサイトを追加していない場合は追加します。
      3. Googleの指示に従ってサイトを検証します。
      4. ウェブマスター ツールのホームページで、サイトを選択します。
      5. 「サイトの状態」をクリックし、「マルウェア」をクリックします。

      私のサイトの訪問者は、他のセキュリティ製品やアンチウイルスシステムから警告を受けています。 どうしたらよいでしょうか。

      Google セーフ ブラウジング リストから抜け出すことは大きな一歩ですが、その前にやるべきことがあるかもしれません。 あなたのサイトが感染していると言っているすべてのアンチウイルス製品のリストを作成する必要があります。 ESETアンチウィルス、McAfeeのSite Advisorなどの製品がこれにあたります。 それぞれのアンチウィルス・メーカーのウェブサイトにアクセスし、危険なサイトのリストからあなたのサイトを削除するための手順を確認します。 アンチウィルス・メーカーはこれを「ホワイトリスト」と呼んでいます。「ホワイトリスト」、「サイト削除」、「偽陽性」、製品名などでググれば、通常、あなたのサイトを削除するための場所を見つけることができます。

      自分のサイトが Google のセーフ ブラウジング リストに掲載されているかどうかを手動で確認する方法はありますか。

      次の URL にアクセスし、example.com を自分のサイトのアドレスに置き換えます。

      http://www.google.com/safebrowsing/diagnostic?site=http://example.com/

      自分のサイトにサブディレクトリがあれば、それを含めることができます。 表示されるページは非常にシンプルですが、サイトの現在の状態、Google のマルウェアまたはフィッシング リスト (Google のセーフ ブラウジング リストは実際には 2 つのリストです) に掲載された理由、次に何をすべきかという詳細な情報が記載されています。 今すぐ、二度とハッキングされないようにする必要があります。

      • Wordfenceをインストールし、WordPressサイトを定期的にスキャンします。
      • WordPress、すべてのプラグインとテーマが最新の状態に保たれていることを確認します。 これは、あなたのサイトを保護するためにできる最も重要なことです。
      • 推測が困難な強力なパスワードを使用していることを確認します。
      • サーバーに眠っているすべての古いWordPressインストールを取り除く。
      • セキュリティ警告メーリングリストに登録し、WordPress に関連する重要なセキュリティ更新を通知してもらう。
      • あなたのサイトを Wordfence Central に認証して、サイトのセキュリティをより簡単に管理できるようにする。

Leave a Reply