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/cmdline
ergab, dass dies tatsächlich die ursprüngliche /usr/bin/host
Binärdatei ist. netstat -anp
zeigte, dass viele HTTP-Verbindungen geöffnet sind, so dass die Binärdatei irgendwie missbraucht wird. debsums
bestä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.
Antworten:
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.php
Codes, den ich gefunden habe:Wie es
/usr/bin/host
geht, ist etwas weiter fortgeschritten. Programme verwenden.so
für einige ihrer Funktionen Bibliotheken ( Dateien). Benutzer könnenLD_PRELOAD
einige .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.so
und verwendet eineLD_PRELOAD
Umgebungsvariable, um sie vorab zu laden. Eine legitimehost
Binärdatei macht also etwas völlig anderes.Es erstellt ein
1.sh
Shell-Skript und versucht, es auf verschiedene Arten auszuführen (direkt, mitat
Befehl, 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,
POST
Anforderungen 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,host
korrigieren 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.
quelle