先日、あるマルウェアを駆除した時(リダイレクトスパム)の事例です。
この記事を読んでいる人は、WordPressで制作されたサイトのマルウェア感染早期解決を望んでいると思いますので、とりあえず最低限の状況と今回の駆除方法を足早に書いていきます。
【状況】
- WordPressで制作。
- クライアントのコーポレートサイト。
- 先方のWeb担当者が不在。
- (上記事情により)Google Search Consoleで確認できない。
- よって、Googleからのマルウェア感染の通知が受けられない。
【症状】
- 検索からアクセスすると、ある外国のサイトにリダイレクトされる。
- リダイレクトされるのはトップページのみ。
- 下層ページは検索からでも正常に飛ぶ。
- URL直打ちだと、正常にトップページに飛ぶ。
きっかけは、たまたま検索して発覚。アクセスしたら以下のサイトにリダイレクトされるようになっていました。
【ウイルスの確認作業】
いくつかの有名な無料ウイルスチェックWebサービスでスキャンしてもウイルス感染した結果は出ませんでした。
出力されたhtmlコードをデベロッパーツールで調べても異常無し。
あきらめずにコツコツと使用しているテーマテンプレートファイルを開いて調べてみたら「footer.php」に身に覚えのない大量なコードを発見し、ゾッとしました。
「footer.php」の上記のコードを全て削除しファイルを上書いてみましたが、状況は変わらず。
【プラグインExploit Scannerで検知成功】
続いて、WordPressのウイルス検知プラグイン「Exploit Scanner」をインストールし、有効化してデフォルト設定のまま「Run Complate Scan」を押して再調査。
活躍している主要プラグインの中から黄色くハイライトされたeval関数などが検知されましたが、それはともかく左側最上部に身に覚えがないコアファイルらしきものが検知されてました。これがとても怪しい。
wp-admin/w-login.php
wp-login.phpに似せた、怪しいファイル名。これは気づきにくい!
この「w-login.php」ファイルをエディタで開き、リダイレクトされるURLを検索に掛けたら、127行目にいました。
デフォルトではWordPressのコアファイル群にこの「w-login.php」といファイルは存在しませんので削除。
以降、リダイレクトはされなくなりました。
【解決法まとめ】
- 「footer.php」などのテーマテンプレートファイルに異常がないか確認。あれば削除。
- ウイルス検知プラグイン「Exploit Scanner」で確認。
- wp-admin内に「w-login.php」があったらの削除。
今回、僕と同じような感染症状の方に役立ってもらえたらと思います。
【追記 2017年6月12日】
後で気づいたのですが、「header.php」にも身に覚えがないプログラムが仕込まれていました。念のため該当部分のソースコードを削除しました。
【追記 2017年6月14日】
上記駆除の2日後、「footer.php」や「header.php」への書き換えは起こりませんでしたが、まとも「wp-admin/w-login.php」が仕込まれており、例のサイトへリダイレクトされてしまいました。
「wp-admin/w-login.php」を削除したら直りました。
ログインURLの変更と、ユーザー名・パスワードの強化対策を行い、様子を見ています。
また、再発した際、セキュリティホールを発見した際は、ここに追記します。
こちらの記事も読まれています。
「WordPressを守ろう!セキュリティの最新トレンドと対応事例」で得た対策と知見
さくらレンタルサーバーで特定のIPアドレスからのアクセスをブロックする方法