ニュースソース:SUCURI BLOG
以下は 2017年4月4日に公開されたWordPress Security – Unwanted Redirects via Infected JavaScript Filesを要約したものです。
この攻撃は、悪意のあるJavaScriptコードをほとんどすべての’.js’ファイルに挿入します。
該当の悪質なコードはファイル内の通常のコードに紛れて挿入され、コードによって別サーバーからのスクリプトをロードします。
その結果、WordPress閲覧者がアドネットワークのアフィリエイトリンク経由で、スパムサイトへリダイレクトされてしまいます。
- 総当たり攻撃による侵入
攻撃は、/xmlrpc.php か/wp-login.php(ユーザー名/パスワード複数組み合わせのテストが可能)への複数リクエストから始まります。
正しいユーザー名/パスワードの組み合わせが見つかったら、WordPress管理インターフェースへログインします。 - バックドアの設置
攻撃者はログイン後、すぐにテーマエディタを開き、アクティブな404.phpファイルを編集します。また、感染したテーマとプラグインをアップロードしようとします。
これらのテーマやプラグインは正当なソフトウェアに基づいたものになります。
より永続性のある感染にするため、ルートやアップロードディレクトリなど、サーバーのさまざまな場所に攻撃者が自由に出入りできるように、バックドアのwebshellをアップロードします。 - マルウェアインジェクター
Webshellに加えて、悪質なコードを’.js’ファイルに挿入するためのスクリプトを複数作成します。
このスクリプトは’404.php、db.php、cache.php’といった感染したファイル、またアップロード・ディレクトリーの’index.php’といったファイルに含まれます。
これらのファイルによって、サーバーのディレクトリ間を超えた’.js’拡張子のファイルに悪質なコードを挿入します。
感染の範囲を最大限大きくするために、このスクリプトは同じアカウントを共有する全サイト、もしくはサーバーのルートディレクトリを割り出し、書き込み可能な’.js’ファイルを見つけるために配下のディレクトリを再帰的にスキャンします。
これにより、ターゲットのWordPressサイト以外の’.js’ファイルも感染してしまいます。
対策
弱いパスワードとPHPによるクロスサイトが感染の大きな要因となっています。
一時的なテストサイトだとしても、決して弱いパスワードを設定しないでください(特に、テストサイトが他のサイトとサーバーアカウントを共有している場合)。
定期的なサイトのバックアップも忘れないでください。今回のような感染の場合はマルウェア除去よりも、バックアップの状態にロールバックした方が簡単かもしれません。
圧縮されていない状態で同じサーバーにバックアップをする方法は、マルウェア感染の可能性があります。圧縮あるいはリモートバックアップを行ってください。