誰かに見てもらうための、簡単なデザイン

WordPressがハッキングに遭ったので復旧のためにやったこと

久々の更新です。こんにちは。

先日…といっても2ヶ月ほど前なのですが、WordPressがハッキングされました…。
ドメイン(ホームページアドレス)が全て悪意のある海外サイトのドメインに書き換えられてしまうという被害です。
よってリンクが正常に機能しなくなり、ホームページ内のリンクどれを押しても(外部サイトへのリンク以外)、悪意のあるサイトにつながってしまうということに…!
このような被害に遭ったのは初めてなので、最初はどうしたらいいんだ…!?とかなり困惑したのですが、とりあえず落ち着け、落ち着け…ということで1つ1つ原因を調べていき復旧しました。
私はWordPressでのサイト制作経験は何度かあるものの、HTML/CSSを書くスキルしかなく、PHPは理解できてないレベルです…。
そんな状態でもなんとかなったので、その時の手順を備忘録も兼ねて書きます。

同じような被害に遭った方はいるのかな…?
サイト内のデータがクラックしてたり、マルウェアを埋め込まれたりということはなく、ほんとにドメインの書き換えだけの被害だったので割と復旧は楽だったのですが、ビビりますね…。

とりあえずどこから着手したらいいのか

オロオロしちゃうんですが、とりあえず落ち着かないと…!
今回はサイトアドレスが書き換わってるせいかログイン画面も正常に表示できず、かなり最初は焦りました…。
そんな中でも最初に見たのはこのページです。

FAQ/ハッキング・クラッキング被害-WordPress Codex-

FAQ/ハッキング・クラッキング被害 – WordPress Codex 日本語版

このページにも書いてあるのですが、とりあえずおちつけ。
おちつけ。おちつこう。
状況を整理して、原因と思われる部分を洗い出せ。
読んでるうちにちょっと落ち着きました。

ログインができない場合-WordPress Codex-

ログインができない場合 – WordPress Codex 日本語版

ログインができなかったので、このページも読みました。
今回は、サイトアドレスが書き換わってる=ログイン画面のアドレスも変わってる=ログイン画面を表示すると悪意のあるサイトに飛ばされる…、という八方塞がりのもの。
むりじゃん!ログインできなかったらむりじゃん!なに!?WordPressを再インストールするしかないの!?
とか思ってたんですが、このページの《サイトURLリダイレクト》項目にも書いてあるんですが、

「そうだ、PHPMyAdminでWordPressのデータベースにアクセスして、サイトURL部分を書き換えればアドレス元に戻るんじゃね?そしたらログイン画面にもアクセスできるよね?」

と思い立って、WordPressを置いているサーバーにログインして、PHPMyAdminを起動→データベース内の《wp-option》に登録されているサイトURLを正しく書き換えました。

ここですね、ここ。ここが悪意のあるサイトアドレスに書き換わってましたよ…修正しましたよ…
そしたら!サイトアドレスが元に戻って!ログイン画面にアクセスできて!ログインできたよ!!!!

これでなんとかWordPressにログインできたし、原因を調べることができそうだー。

原因を調べる

サイトアドレスが書き換わってたので、当然WordPress内でURL登録してる部分も…書き換わってましたねー…
このURLの部分はどこで設定しているかというと、
《WordPressダッシュボード→設定→一般→WordPressアドレス(URL)》です。


この部分がちゃっかり悪意のあるサイトアドレスに変わってました…
メールアドレスも同じドメインのものを使ってたんですが、そのドメイン部分も変わってましたね…。
なのできっと、ドメインの文字列を検索してごっそり書き換えられちゃたのかなぁと。
サイトアドレス部分を書き換えるとその情報がデータベースにも登録されちゃうので、ほんと全部変わっちゃうんだなと…。
すっごいシンプルなやり方ですが、これだけで被害が広がる…。
なかなか狡猾な手口です、、、

この部分も修正して、次はサイトがマルウェアに感染していないかどうかのチェックを。
チェックはこのサイトから行いました。

Sucuri SiteCheck – Free Website Malware Scanner

その後、念のため自分のパソコンもウイルスに感染していないか、パソコン自体をスキャンしました。
スキャンにはFree Mac Antivirus and Web Security | Sophos Home for Macを使っています。

結果は両方とも感染はなく、ひとあんしん・・・。

不正アクセスをチェックする

なんでドメイン書き換わったの?不正アクセスか?と思ってWordPressのログイン履歴を調べてみました。
こういう時のためにCrazy Bone — WordPress Pluginsというプラグインでログイン履歴をとっているのですが、ログインに成功した履歴は自分のアクセス以外になくて…
どうやったの?サーバーから忍び込んだ?とも思ったのですがサーバーのIDやパスワードを破られたような形跡もなく…
いつどうやって侵入したかは不明です。
これについては自分でサーバーを管理してログとか取っていれば分かるようですが、私の場合はレンタルサーバーだしログが自分で見れるわけではないらしく…見てもわからんかもやし…今でも結局分かっていません。
モヤモヤする…!

唯一心当たりがあるのが、ハッキングされた時点でのWordPressのバージョンが、脆弱性が報告されていた4.7.1だったということ。多分これなのかな…?
脆弱性ってほんとに突かれるんだな…しかも4.7.1を使ってた期間は短かったと思うんですが…。
【4/10 追記 ・ 4.7.1の脆弱性は関係なさそうな感じです…だったらなんなのだ…(>_<)】

これについて、姫路IT系勉強会でも言われたことは、常に最新にアップデートしておきましょうということ。
そうだね…そうだ…。

最終確認をする

サイトが復旧したかの最終確認をします。
まずはほんとにサイトから悪意のあるアドレスが消えているかチェックをしました。
これはどうやってやろうかな…と思ったのですが、WordPressをローカル環境から本番環境にアップロードする時におなじみの置換ツール《SEARCH AND REPLACE SCRIPT》を使って、悪意のある文字列を検索し、正しいアドレスに一気に置き換えるという方法にしました。

SEARCH AND REPLACE SCRIPT

Database Search and Replace Script in PHP / Interconnect IT – WordPress Consultants, Web Development and Web Design

使い方はこちらを参考にしました。
WordPressサイトのドメインを変更したいときの注意。データベース内のURLを書き換える

これで終了!かと思いきや…キャッシュが残ってた…。

.htaccessをチェックする

全部置換したはずなのに、なんでかまた悪意のあるサイトにつながっちゃう!
ということで、多分キャッシュ…?と思って.htaccessを見てみると、当たりでした。
前使ってたキャッシュ系のプラグインの記述が.htaccessに残っており、、、これを削除してアップロードすることで完了!
今度こそほんとに終わりました…。

今回はアドレスの書き換えだけだったので、私でも対処することができたのですが、ファイル自体が壊されたりとかしてたらもっともっと手間がかかってたと思います…。
まさか自分のサイトが乗っ取られるなんて思ってもなかったですが、ほんとにあるんだ…脆弱性を突く事案はほんとにあるんだ…!
色々勉強になったし、サイト放置とかほんとだめだな…こまめに様子見に行って更新をしないといけないということを強く感じました…。
定期的にバックアップ取ることも大事…バックアップデータがあると心強いです。

今回ハッキングされてるよって教えてくれた方、相談に乗ってくれた方、ありがとうございました。
なんかおかしい点があったり、こうやった方がいいよーとかあれば教えてください…。

それでは!Have a nice design!!