WordPressでSEOスパムに感染した場合の対処方法

公開: 2021-05-17

Jetpackでは、さまざまな種類のWebの脅威や攻撃に対処することが日常業務の一部です。 ほとんどの場合、悪意のあるファイルを収集して攻撃ベクトルを見つけることから、最新のバックアップからWebサイトを復元するための支援を提供することまで多岐にわたります。 しかし、時には私たちは本当に創造的な攻撃の別の次元、不可解な再感染の次元に入ります—私たちは…トワイライトゾーンに入ります。

さて、私はおそらく過度に劇的ですが、私がこの謎の物語のシーンを設定するとき、私に耐えてください。 準備? ゴースト、スパム、検索エンジンの領域へのこの旅行に参加してください。

悪意のある動作

非常に興味深い種類の攻撃を受けているWebサイトを見つけました。 これは、Google Search Consoleによって送信された電子メールとして最初に表示されました。珍しいURL(および、クリック可能なURLが内部にある非常に疑わしいURL)がトップの成長ページとしてリストされました。

URLに挿入されたスパムを示す画像
グーグルの検索エンジンツールの最も成長しているページ

このような動作は感染の結果であることが多いため、Webサイトの所有者は少し動揺していましたが、Jetpackは何も検出も警告もしていませんでした。 さらに、これらのページは、チェックしたときにはWebサイトにも存在していませんでしたが、とにかくGoogleによってインデックスに登録されていました。 トワイライトゾーンが強まります。

Jetpack Scanが見逃した可能性のある疑わしいファイルをチェックしたところ(100%の脅威を検出するセキュリティツールはありません)、事態はさらに奇妙になりました。 WordPress Coreとプラグインはそのままで、データベースにファイルやスクリプトが挿入されていません。 いくつかの古いプラグインにはセキュリティ修正がありませんでした。WordPressはバージョンが1つ遅れており(5.6)、最新のアップデートには大きなセキュリティ修正がリストされていませんでした。 疑わしいことは何もありませんでした。 通常の容疑者はなく、攻撃の証拠もありません。 とにかく、まだです。

次の論理的な手順は、アクセスログを確認することです。 おそらく、それはこの謎にいくらかの光を当てることができるでしょう。 ゼロデイ攻撃に直面しているのか、それとも多元宇宙論の証拠がついに見つかったのか、そしてこのWebサイトは宇宙#1337にのみ感染しているのでしょうか。 ログに!

スパムリクエストのコード
この奇妙なスパムへのリクエスト
別の奇妙なスパムリクエスト。なぜBingはそれが好きなのですか?
Bingも気に入っているようです…でもなぜですか?

ご想像のとおり、スクリーンショットに表示されているように、これらのスパムページへの一連のリクエスト以外は何も奇妙なことではありません。 そして、彼らはすべて「200OK」を返していました。 それで、ページは時間と空間の連続体のどこかに存在しました、または…ちょっと待ってください…あなたは今それを見ますか?

これらのページはすべて同じ場所を指していました: `/?s =`は、検索エンジン(問題はGoogleによって認識されましたが、要求はBingからのものです)が検索結果ページのインデックスを作成していたことを意味します。 なんで? 私たちが知る限り、クローラーはページ上で検索を実行しませんよね?

インデックス作成のパラドックス

あなたがウェブサイトビジネスにいるならば、検索エンジンがどのように機能するかの基本はかなり簡単です。 Webページをクロールし、そのコンテンツにインデックスを付け、魔法を実行し、クエリ可能なリソースをクラウドのどこかに保存するロボット(または自動化されたスクリプト)があります。

そのことを念頭に置いて、ログをもう少し掘り下げて、それらのリクエストのいずれかにリファラーなどの他の手がかりがあるかどうかを確認しましたが、まったく運がありませんでした。 ログに記録されたすべてのリクエストは検索エンジンからのものでした。 幸いなことに、Google検索コンソールのログの1つに参照ページの1つがありました。

ページのGoogle検索コンソールのレビュー
Googleの検索コンソールツールは私たちにいくつかのヒントを与えてくれました。

今度は、トワイライトゾーンの帽子をCSIの帽子に切り替えて、ウェブサイトの骨を掘り下げて顕微鏡下に置きます。

訓練を受けた人にとっては、参照ページのURLが侵害されたWebサイトに属していることが簡単にわかります。 幸いなことに、私たちはよく訓練された目を持っています! `index.php`ディレクトリは意味がなく、おそらくWebサイトの所有者を混乱させるために追加されました。 次に、別のランダムなディレクトリとランダムな名前のPHPファイルが続きます。これは、おそらく最終的なペイロードを取得しているローダーです。これもランダムな`cargese4/cca442201.htm`です。 これらはすべて、リンクファームマルウェア感染の特徴です。

参照サイトのインデックスに登録されているものを確認するためにGoogleですばやく検索すると、実際に感染していて、しばらくの間SEOスパムを配信していることが確認されました。 このサイトはインドの食品会社向けですが、日本のSUVの取引を提供しています—はい、それはスパムです。

スパム攻撃の日本語検索結果
インドのサイトで日本語のスパムをもたらす検索クエリ。

しかし、どの結果も私たちの友人のWebサイトにリンクされていなかったので、他のサイトがこの同じ奇妙な動作の影響を受けているかどうかを調べることにしました。

このスパム攻撃の被害者をさらに探すために、教育目的でのみ、Google-fuの知識を使用して、URLに `/?s=`が含まれる.eduで終わるサイトを返す検索クエリを作成しました。タイトルに「購入」という言葉があります。 そして、22の結果が得られました。 これは私たちの狩りには十分です。

スパムピルの検索結果
.eduサイトと.govサイトを使用してスパム感染をチェックすると、リンクファーム専用に作成されたドメイン(.comなど)が除外されます。

これは、報告されたサイトだけが影響を受けたサイトではなかったことの証拠です。 それはもっと広範囲の問題のようです。 Googleがそれらのページをインデックスに登録するために何ができたのかを考えました。 Googlebotはどのようにして彼らに到達しましたか? 次のステップ:被リンクチェッカー。

バックリンクチェックの結果
バックリンクチェックの結果

ウェブサイトへのバックリンクに関するレポートを提供するいくつかのオンラインツールがあります。 この調査で使用したのはAhrefsでしたが、他のツールでも同じ結果が得られる可能性があります。 悪意のある検索ページの一部が結果に表示され、正しい方向に進んでいることが確認されます。

次のスクリーンショットでわかるように、これらのWebサイトの1つを選択して何が起こっているかを確認すると、約5,000件のスパムコメントが表示されました(Jetpack Anti-spamを確認する必要があります)。 すべてのコメントは、クエリにスパムが含まれるWebサイト検索ページにリンクしていました。

スパム結果にリンクするコメントセクション
スパムにリンクしているコメント

白うさぎを捕まえる

前に述べたように、検索エンジンロボットはWebサイトのページに対してクエリを実行しません。 しかし、それへのリンクが見つかった場合は、それがたどられます。 また、特定のページがインデックスに登録できないことをページが自動スクリプトに通知しない場合は、ページが追加されます。

注入されたスパムの例
あなたがたは古いスパムを注入しました

これは、検索エンジンの結果をスパムし、手間のかからないリンクファームを通じてサイトのページランクを上げるために、Webサイトにスパムを「注入」する巧妙な方法です。

問題を理解したので、検索エンジンボットに検索ページへのリンクをたどらないように(または単にインデックスを作成することを拒否するように)指示するにはどうすればよいですか? 最善の方法は、WordPress Coreに変更を加えることです。これは、コミュニティ全体を保護するのに役立ちます(バグを報告したい場合、またはコードを提供したい場合は、ぜひご参加ください)。

不必要なやり直しを避けるために、WordPress Coreトラックをチェックし、バージョン5.7で解決されたこの問題を見つけましたが、残念ながらセキュリティの問題として変更ログに記録されませんでした。

私ができるよりも問題をよりよく説明した著者を引用します(レポートをありがとうabagtcs):

Webスパマーは、スパマーのサイトの検索ランキングを上げることを期待して、スパム用語とホスト名を渡すことにより、これらのサイトの検索機能を悪用し始めています。

スパマーは、これらのリンクをオープンWiki、ブログコメント、フォーラム、およびその他のリンクファームに配置し、検索エンジンがリンクをクロールし、結果の検索結果ページにアクセスしてスパムコンテンツを含むインデックスを作成します。

この攻撃は驚くほど広範囲に及んでおり、世界中の多くのWebサイトに影響を及ぼしています。 一部のCMSやカスタム作成されたコードを利用したサイトは、この手法に対して脆弱である可能性がありますが、予備調査に基づくと、少なくとも.eduスペースでは、これまでで最もターゲットを絞ったWebプラットフォームはWordPressであるようです。」

Web上の最大のサイトの41%以上がWordPressサイトである場合、これは驚くべきことではありません。

ケースを閉じる

この事件から学ぶべきいくつかの良い教訓があります:

  1. Top Growing Pagesに表示されるURLは十分にサニタイズされていないため、絵文字で区切られて表示されるスパムURLは、実際には直接クリック可能です(Googleの友達、こんにちは)。 知らないユーザーがそれらをクリックして、不要なコンテンツにアクセスする可能性があります。
  2. 明らかにスパムのページをインデックスに登録することを避けるために、Googleはいくつかの調整が必要です。 ツールレポートに基づいて、スパムが追加されている間、いくつかのクリアページがクロールされてインデックスに登録されませんでした。
  3. 攻撃者はシステムの最小の開口部を利用するため、常に警戒する必要があります。
  4. 常に人々の話を聞き、彼らの問題を理解してください。 独自のツールからのログのみを確認した場合、この問題を認識したり、サイトの修正を支援したりすることはできません。
  5. ソフトウェアを最新の状態に保ちます。 いつも。

Jetpackでは、お客様のWebサイトがこれらのタイプの脆弱性から保護されるように努めています。 新しい脅威の一歩先を行くには、セキュリティスキャンと自動マルウェア除去を含むJetpackScanをチェックしてください。

そして、この問題を強調し、調査を支援してくれたErinCasaliへの帽子のヒント。