最近また増えてますかね?

また相談されました。

基本的に、きちんとした保守会社に委託して、バックアップ、維持メンテをしていないサイトが改ざんされた場合、復旧は不可能だと考えた方が良いと思います。

前回の対応内容と併せてあらためて実例をお伝えしようと思います。



まずは前回記事内容のおさらい、補足です。

前回記事:ロリポップ、interQのWordPressサイト改ざん

ロリポップ共用サーバーの、ディレクトリアクセス権限設計が素人並みで、共用サーバ内の他人のディレクトリを参照できる、書き込めるという大穴を利用して8000件以上のサイトが改ざんされたという2013年の事件です。


サイト内に無数(前回は750ファイルほど)のスクリプトが埋め込まれていました。
しかも個人に毛の生えたようなホームページ制作会社に何とか連絡を取ったものの、暗号化されたスクリプトのソースファイルを送りつけても、「問題ない」と言い放ち、、、、結果としてこちらで対応しました。

薄茶色の部分がBase64エンコーディングという方法で、WordPressテーマファイル(デフォルトのテーマファイル)に埋め込まれたスクリプトです。デコードすると、詐欺サイトへのリダイレクト文などが書かれているわけですが、これを見て「問題ない」って言う人は、きっと家に火がついてても問題ないって言う人なんだと思います。
是非とも引退して別の業種に転職してもらいたいですね。



ちなみに750ファイルのうち、ALL IN ONE SEOのファイル1つだけでも数行置きにこれだけのスクリプトが埋め込まれていました。



このケースだと、サイトのロゴが書き換えられ、サイトオーナーも気づきやすいものでした。
なぜかというと、2013年夏頃に、海外でハッキングコンテスト(何件ハックできるかというものらしい)が行われていて、ハッキングしたエビデンスとしてロゴを変えていたため(たぶん)です。

今回の事例

今回相談を受けたケースは、サイト上には全く変更が見られず、しかも前回同様に検索エンジンから飛んで来た人だけに発動するプログラムが埋め込まれていたので、発見が遅くなったというものでした。

しかも、前回対応したサイトの制作会社とは違い、割とまともな会社さんが運営していたにも関わらず、ハッキングされています。

WordPressの管理者IDもadminではなく他のものに変え、パスワードも分かりにくい半角英数8文字です。ただし、大文字、小文字の混在にはなっていませんでした。

侵入者は/wp-login のURLに対して、ログイン試行プログラムがアクセスして、試みようとします。

ブラウザで開いて、1回1回パスワードを試してなんてことはしません。毎秒数10~数100どころでない頻度で解析を試みます。あまり沢山アタックするとサーバが落ちてしまうので、相手に応じて程よい頻度でアタックしてくると思います。

ランダムなパスワードを延々と試し、見つかるまでは寝て待つだけなんでしょうね。それを多数のサイトに対して試みる。

今回の対応内容

で、今回もですが前回同様にサイトのファイル全件に対して検索して、埋め込まれたテキストを取り除こうとしました。が、2年前とは違い、BASE64の暗号化しただけではなく、別のプログラムと連携して、1文字1文字別の文字に置き換わっていました。しかもその文字置き換えのアルゴリズムがファイル毎に異なる。
ということで、一括削除という処理が難しかったので、対応をあきらめました。

ちなみに1つだけデコード&文字置換も戻したソースプログラムがこれ。
※コメントは私が入れたものです。


お客さんのところのアクセスログを見ていたら、(おそらく)初期にこのプログラムが呼ばれていた形跡があったんですが、コンテンツデータを取得し、どっかに送信してます。send_data1の関数の中を見てみたら、コメントだけ。多分送信時だけそこの処理を挿入してる?

おそらくこのテンプレートのファイルのみWordPressのダッシュボードで手動で書き換えたりしてるのかな。他のファイルについては上記プログラムで本国に送り付け、スクリプトを仕込んで、結果を(どこか別に仕込んだ)受信用のプログラムで受け取って、上書きっと。

パッと見なので分かりませんが、そんな2,3段階に分かれた手の込んだことしてます。

ちなみに偽装サイトもご丁寧に「会社概要」「サイトポリシー」などが設置されていました。ただ、それぞれ別のどこかのサイトからパクッて来たもののようで張り合わせ状態のサイトでした。

今後の対応について

割に合わないので3回目の対応はしないですね。。。
「サイトのバックアップが無い?であれば最初から作り直すしかないです」と言うと思います。

「5万円で作ってもらったサイトなのに、直すだけで〇〇円かかるんですか」と言われました。

パソコンでも良く聞く話なんですが、5万円で買ったパソコンが壊れて復旧を依頼された場合、元の状態に戻さないまでも、音楽データ、ドキュメント、ユーザー情報など取り出して戻す作業で最低3,4万円はいただきます。ディスクの論理エラーがある場合は、取り出したファイルの選定までします。当然購入価格より高くなります。

購入した人、サイトを作った人が手を加えた内容、データを含めて基に戻すというのは骨の折れる作業です。日時のバックアップをしていれば全然問題ないんです

でも、
「毎月1万円の保守料?!いりません」
「セキュリティー対応?うちのサイト何て誰も見ないので大丈夫です」

とか言ってませんか?

結果として偽装サイトにされ、あるいは踏み台(バックドア)にされ、本家のサイトから莫大な請求が届くなんてことも今後多々発生するでしょう。

そういうことなんです。

WEBサイトを立ち上げ、ビジネスしている感覚になっていても、実はスラム街で露天商を開いているようなものであることに気づいていない人が多いと思います。

少なくともしておきたい対応

前回記事にも書きましたが、

・ログインIDはadminから変える
 =>専用のプラグインも出ています。「WordPress admin 変更」とかで検索すると出てくると思います。
・パスワードは半角英数大小文字8文字以上で定期的に変える
・管理画面のURLは/wp-adminから変える
・バックアップは記事やテーマ更新毎に毎回取る
 =>AkeebaBackup for WPがオススメです(※)
・ハッキング対象にされやすい格安レンタルサーバーは避ける(IPアドレスの範囲が決まっていて、ユーザーのセキュリティー対策も甘いので狙われやすいです)
 ※サーバを立てた瞬間、SSHのポートに中国やらヨーロッパからの侵入試行が無数に入ってきていることに気づきます。
・3万円で構築!とかいう会社に依頼するのは避ける
 =>前回記事の業者さんは「admin」ユーザーのパスワードを「1234」で設定していました。 <= IT系以外への転職をお勧めします。
・管理画面は2段階認証(1タイムパスワード)でのログインをする。
 =>Joomla!では2年ほど前から実装されているので、WordPressでも誰かしらプラグイン化しているかなと思います。 



※AkeebaBackup
こんな感じの画面で、ファイル全体とデータベースを1つのファイルにして保存してくれます。
リストアする際にはスクリプトが用意されていて、インストールウィザードと同じ感覚で復元できます。
しかも、サイトのドメインやディレクトリに変更があっても、画像パスなど全部書き換えてくれます。