wordpress site health

Eine Analyse von WordPress-Malware

Wenn es darum geht, Websites in professioneller Qualität zu erstellen und zu verwalten, sind Content-Management-Systeme die Standardmethode dafür. WordPress ist bei weitem das beliebteste CMS: Es wird zum Erstellen und Verwalten von etwa sechs von zehn Websites verwendet.

Die Popularität von WordPress macht es zu einem Hauptziel für Hacker. Bei einer unserer regelmäßigen Untersuchungen sind wir kürzlich auf eine bestimmte Art von Malware gestoßen, die darauf abzielte. Hier ist eine Analyse dieser Malware, die wir an Sysadmins weitergeben möchten.

WIE ES FUNKTIONIERT

1. Der Code ist sehr gut versteckt.

        Die Malware-Datei ist mit Base64-codierten Zeichenfolgen sowie langen Variablennamen gespickt. Dies verkompliziert den Code und erschwert die Analyse.

malcode1

2. Es hat ein Selbstzerstörungsmodul.

     Die Datei ist so konzipiert, dass sie sich selbst zerstört und löscht, wenn eine der _REQUEST-Variablen den Namen delete hat.

malcode2

3. Es ruft eine remote Datei ab.  

      Über den Parameter $ _REQUEST wird eine zusätzliche Datei angefordert. Wie Sie dem folgenden Code entnehmen können, zielt es auch auf das Joomla CMS ab.

malcode3

Selbst wenn umsichtige Sysadmins allow_url_fopen in php.ini deaktivieren, wird immer noch versucht, die Datei mit curl abzurufen.

4. Es wird nach infizierbaren Verzeichnissen gesucht.

    Manchmal verwenden Webmaster den Domainnamen einer Site als Verzeichnisnamen der Webroot. Beispielsweise könnte die Domain xyz.com die Webroot /var/www/html/example.com haben.

    In diesem Fall wird die Webroot von dieser Malware verwendet, um Verzeichnisse zu identifizieren, die infiziert werden können.

malcode4

Dies ist nur eines der Mittel, mit denen diese Malware versucht, infizierbare Verzeichnisse zu identifizieren. Diese Funktion ruft beispielsweise die Benutzerinformationen des Prozesseigners ab und überprüft damit Dateien unter var / named, die dann mit Dateien in / etc / valiases verglichen werden.

5. Es fügt die remote Datei ein.

    Sobald infizierbare Verzeichnisse identifiziert wurden, verwendet es die Prozessfunktion, um die aus der Ferne abgerufene Datei zu liefern.

malcode5

Zunächst prüft die Prozessfunktion, ob das Verzeichnis beschreibbar ist und ob es Teil eines WordPress- oder Joomla-CMS ist.

      Wenn dies der Fall ist, wird injizieren_wordpress_main_php aufgerufen.

malcode6

Dadurch wird der Inhalt der remote abgerufenen Datei in eine wichtige WordPress-Datei eingefügt, z.B.

/wp-admin/class-wp-main.php

/wp-content/class-wp-main.php

/class-wp-main.php

Schließlich prüft die Prozessfunktion, ob ein mit der Anforderung geliefertes Schlüsselwort (in Form von $ _REQUEST [‚Schlüsselwort‘]) oder das Standardschlüsselwort (ttmaintt) Teil der Antwort ist, wenn auf die infizierten URLs zugegriffen wird.

malcode7
malcode8

Identifikation 

Alle Dateien, auf die wir bei unseren Untersuchungen gestoßen sind, wurden mit dem Dateinamen verknüpft: 

wp-domain.php.

Hashes

Diese Malware verwendete SHA256-Hashes:

bc18abd55d2fc15bf8c85c49b35051943ce2d807c3ab0fadf515a8feecb0b762

Funktionen

Es wurden insgesamt 35 Funktionen definiert:

– check_config

– is_dir_empty

– in_array_partial

– bool_to_string

– process

– is_cms

– get_search_keyword

– assert_main_php

– get_wordpress_main_content

– get_joomla_main_content

– get_main_content(

– inject_wordpress_main_php

– inject_joomla_main_php

– inject_main_php

– get_current_user_name

– get_user_domains

– remove_tld

– is_wordpress

– is_joomla

– get_dirs_recursive

– get_domains_dir

– get_valid_dirs

– could_be_domain

– get_dirs

– have_tld

– is_domain

– is_domain_partial

– get_common_dirs(

– get_tlds

– clean_domain

– not_www

– get_domain

– remove_www

– estimate_current_path

– url_get_contents

WIE VERTEIDIGT MAN SICH DAGEGEN?

Sie müssen über häufig verwendete Verteidigungsstrategien hinausgehen, da diese WordPress-Malware diese berücksichtigt.

Das Deaktivieren von allow_url_fopen in der php.ini bietet beispielsweise keinen Schutz dagegen. Wenn Sie dies tun, verwendet die Malware stattdessen nur das Curl-Modul. Sie könnten beide Module deaktivieren, aber es ist wahrscheinlich, dass Sie dann auch WordPress deaktivieren.

Sie können eine Firewall verwenden, um den gesamten vom Webserver unabhängig generierten Datenverkehr zu blockieren und sicherzustellen, dass diese Malware die Remote-Datei nicht abrufen kann. Dies würde jedoch auch den gesamten legitimen Datenverkehr blockieren, den WordPress für seinen normalen Betrieb verwendet, z. B. Besucher, Updates etc.

Der beste Schutz gegen Malware ist:

Überprüfen Sie die Integrität Ihrer WordPress-Dateien mit Tools wie wp-cli.

Scannen Sie Ihre Website regelmäßig mit Antivirensoftware.

Vermeiden Sie das Herunterladen von Software aus inoffiziellen Quellen.

Protokollieren und überprüfen Sie den Datenverkehr Ihrer Website mithilfe von Protokollen von mod_forensics oder mod_security.

Die gute Nachricht:

Kunden von ORC Webhosting GmbH sind durch unsere Imunify360-Firewall bereits vor dieser Art von Malware geschützt.

Hier finden Sie unsere sicheren und schnellen Easy Webhosting Produkte

Hier finden Sie unsere sicheren und schnellen Premium Webhosting Produkte