WordPress公式ブログでも盛んに喧伝されていましたが、WordPress2.8.4以前に致命的な脆弱性が見つかったとのことです。
- 管理者アカウントを勝手に作られる
- パーマリンク構造を勝手に変更されてスパムリンクを仕込まれる
- 最悪の場合、サイト全体を削除される
詳しくは公式ブログをご覧頂ければわかるので割愛しますが、実際に乗っ取られた経験談でも書きたいと思います。
1.WordPress2.6.5は9月、静かに死んでいった
乗っ取られたのは僕が複数運営しているWordPressの一つです。
他のサイトはすぐに2.8.4にしていたのですが、このサイトだけ激しくカスタマイズした上、新規ユーザ登録できるようにして他の使い方をしていたので、ちょっと面倒で後回しにしていたんですね。
兆候が出たのは9月の初旬。
それまでは滅多にユーザ登録などこなかったのですが、9月初旬だけで5人。これはおかしいなと管理画面を覗いてみました。
パーマリンクがデフォルトの「?p=123」に戻っています。「ぬかったわ!」と一括、早速ユーザ画面を見てみると、gmailアカウントで不審なユーザが3名。
「WordPress + メールアドレス」で検索をかけると、海外のつぶやきがヒット。
Andrianq running with pulvillarrac@gmail.com tried unsuccessfuls hack on 2 WordPress sites… must turn off user registration…
@bradyjfrey
他のアカウントも検索してみたら、またまたブログが2件ヒット。
WordPress users, if you have seen the Gmail address: Pulvillarrac@gmail.com in your subscribers, you may want to disable or ban the account. This is the person who registered on my roomies blog through the back door.
Technical Tidbits
And this is exactly what happened to AC, 7 new users have registered to AC’s WP in the last few days, something that was strange to me, here are their emails:
janson206@Safe-mail.net
pulvillarrac@gmail.com
bugbeemershonyhe@gmail.com
obierebelominepyb@gmail.com
naomyrotenford@gmail.com
ArabCrunch and WordPress Under Attack
結構大きめのニュースサイトでもやられてしまったようですね。ポイントは「新規ユーザの登録を許可しているかどうか」のようです。
これら3ユーザは管理画面から削除。
それだけでは安心できなくて、データベースを覗いてみると…メールアカウントを登録していない管理者ユーザが二名追加されていました….orz
これは管理画面に現れないため、DBから直接削除しました。
そして、サーバ上の全ファイルを削除して、新規にWordPress2.8.4をインストール。ただし、DBの隅から隅まで見た訳でもないので、しばらく当該サイトを閉鎖して、一から作り直したいと思います。
2.あったんだかなかったんだかわかんない実害
今回のクラッキングでは、下記のような症状が出るとのことでした。
- パーマリンクやRSSに見慣れない文字列がある。
例:http://example.com/category/%&({${eval(base64_decode($_SERVER[HTTP_REFERER]))}}|.+)&%/
特徴:eval, base64_decode が含まれている - 管理画面のユーザーに見慣れないユーザーの登録がある
取り急ぎパーマリンクを確認してみると、デフォルトに戻っていました。
攻撃方法としては、パーマリンクを変更してスパムリンクに変えちゃうというものだと思うのですが、なんかミスったんですかね?
スパムリンクは見つかりませんでした。
たしか、パーマリンクを変更したとき、.htaccessへの書き換え権限がないとダメだったような気がするんですが、たまたま利用しているサーバのPHPがモジュール版からCGI版へ移行した時期だったので、apacheからは.htaccessのアクセス権限がなかったのですが、それが不幸中の幸いだったんでしょうか。
取り急ぎ、施した対策を書いておきます。
- 不正なユーザをWordpressの管理画面から消去
- 管理画面で確認できない不正な管理者をDBから直接消去
- デフォルトに変更されていたパーマリンクを元に戻す
- 管理者パスワード、FTPパスワード、DBパスワードを変更
- ファイルの変更日時がユーザ登録日より新しいファイルを検索→なかった
- サーバのファイルを全削除
- 保存してあったローカルコピーをアップロード
- WordPressを2.8.4にアップデート
クラックの手法などの詳細はゆっくり…して…イってネ!「現在進行中の WordPress に対する攻撃の詳細と再現」に詳しかったです。
まあ、どっちみち一度クラックされちゃったので、サイトは閉鎖ですわ、閉鎖。
というわけで、とんだ9月初旬のアップデートでした。古いバージョンのまま放置してはいけませんね…