このサイトがマルウェアに感染しちゃってから、約24時間でキレイさっぱりに元に戻ったお話です。
三連休前の夜、Twitterで「中高生の間で両親の名前を画像検索して見せ合うのが流行ってる」ってのを見かけて、試しに自分の名前で画像検索してみました。当然有名人でもないので、Twitterのアイコンがちょろっと表示されるくらいで、あとはわけわからん画像ばかり。
なんでこんな画像が出るのかな?と気になっていろいろ検索結果を見てたら、このサイトが表示されてたんですが、そこにまさかの表示が。
「このサイトはコンピュータに損害を与える可能性があります。」
え?マジ?昨日はちゃんとアクセスできたし、普通にこのサイトから「お問い合わせ」とか来てたし、何かの間違いじゃないの?という感じでした。
とりあえずGoogleのウェブマスターツールにアクセス。今は「Search Console」って名前だっけ?で確認したら、「君のサイトは全然ダメだから、さっさと修正しなさい。それから再審査を申し込んでオッケー出ないと『このサイトはヤバイ」って表示は消さないからな」って感じの文章が。
うーん、さて、まずどっから手をつけようかなー、とやったことが以下の通り。一応番号振ってますが、下記の対策をほとんど同時にあーだこーだやったので。この順番通りが正しいわけではありません。
1)FTPのパスワードとWordPressのパスワードを変更。
とりあえずまた入ってこられたら困るので、不正アクセスされないようにFTPのパスワードとWordPressのパスワードを変更しました。WordPressの方はログイン時に「画像認証」とか「フェールワンス」とかいう正しいパスワード入力しても一回は弾かれますよー的なのも設定してたんだけどなー。ブツブツ。
2)index.phpのチェック
まだこの段階では「index.phpあたりに何かちょろっと書き込まれてるのかなー」とか思ってました。サーバ上のindex.phpとバックアップしてるindex.phpと比較。うーんおかしいとこは特にないなー…。
3)WordPressのアップデート(再インストール)とプラグインのアップデート
一応常に最新のバージョンにしてますが、念のためってことで全部再インストールしました。まあこれはポチッとするだけなんで。で、直ったかどうかチェック。チェックには下記サイトを利用。
VirusTotal – ウイルス、マルウェア、URL の無料オンライン スキャナー
https://www.virustotal.com/ja/#url
gred|安全なサイトはgreen、危険なサイトはredでお知らせ。無料のWeb安全チェックサービスといえばグレッド!
http://check.gred.jp
うーん、全然直ってないねー。キミのサイトにはマルウェアがガッツリあるよー。て言われます。
4)自分のMacのセキュリティチェック
もしかしてそもそもこのMacが感染しちゃってそこから?とか考えて一旦全ファイルをスキャン開始。Macのメールが勝手に保存しちゃってる「これヤバいファイルですよー」みたいなのを全部削除。Macには異常はみられませんでした。
5)サーバ上に置いてる古いファイルとか全部削除。
もう何年も使ってないクライアントさんとの確認用のファイルなどを全部削除。ついでに、テストアップ用のWordPressも削除。でもまだチェックしてもダメ。ってことは、やっぱり今稼動してるWordPressの中のファイルだなーと。とりあえずPHPファイルチェックするかー。とやっと基本に戻りました。
6)HTMLソースをチェック
え?6番目?って感じですよね。そう、こんなの最初にやりなさいよって感じですが、なんか焦っちゃってたんですよねー(言い訳)。今にして思えば、ブラウザで開発者ツールでソース見て「外部リンク」チェックすればサクッと見つけられたんです。
結局ソースを目視してたら、ん?なんだこれは?見たことないソースあるなー。小汚い書き方だし、なんかソース内に「campaign」とか人を馬鹿にした記述がありやがる。このやろー。って感じで。ちょうどエンジニアさんにも相談してたので、チラ見してもらったら「あ、コレっすねー。ヤバいやつですわ」みたいな感じでした。
結局、WordPressの全テーマ(使ってないテーマも含め)のheader.phpに、怪しいスクリプトが書かれてました。ソースは載せられないので、画像で掲載します。15行目のながーいスクリプトがそれです。
という感じでまずはこれを削除。あと使ってないテーマも削除しました。で、もっかいいろいろチェックしたらセーフの判定。
Googleウェブマスターツールに戻って(サーチコンソールでしたっけ?)、「ちゃんと直しましたから再審査お願いします!」のメールを送信。早ければ半日くらいでお返事が来るはず。
で、半日くらい待って、ちょうど発見から24時間後くらいにGoogleから「再審査オッケーです!」の連絡が来ました。ホッとしたのもあるんですが、
「チッ、ヤバいとこ見つけてくれるなら、間違ってるとこも見つけてくれよなー。ブツブツ…」
とか思いつつ、あーそれなら最初からソース表示とセキュリティチェックしてくれるWebサービス使えばよかったー、って思い出したのが下記URL。
aguse.jp: ウェブ調査
https://www.aguse.jp
ここのサイトだと、サーバ情報とか外部リンクとかいろいろ表示されるのですごーくわかりやすいです。
って普通にブラウザの開発ルールで見られるんですけどね…。
今回は、WordPressのheader.phpを書き換えられただけで済んだんですが、サーバの担当者に連絡したり、一旦サイト閉鎖したり、自分のMac調べたり(ついでにお掃除できてよかったけど)で、バタバタしちゃいましたが、いい経験だったなーと。まずは普通に「HTMLソースを見る」ってのが大事だなと反省しました。
ついでにウチが管理してるクライアントさんのWebサイトも、念のために全部チェックしておきました。全部セーフでしたけど今後のこともいろいろ考えておこうっと。