Nach Darstellung von Austin Ginder hatte ein Angreifer den Backdoor-Code bereits im vergangenen Jahr platziert, begann aber erst kürzlich, ihn über Updates an die Nutzer auszuliefern. Der Auslöser kam dabei vom C2-Server: Je nach erhaltener Anweisung erzeugte der Schadcode Spam-Seiten und löste Weiterleitungen aus.

Im aktiven Zustand kontaktierte die Backdoor externe Infrastruktur und lud die Datei „wp-comments-posts.php“ nach, die ihrerseits Malware in die Datei „wp-config.php“ injiziert. Diese Konfigurationsdatei verbindet WordPress-Websites mit ihrer Datenbank und enthält wichtige Einstellungen. Die nachgeladene Malware bleibt für Seitenbetreiber unsichtbar und nutzt zur Verschleierung eine Adressauflösung über die Ethereum-Blockchain.

„Der eingeschleuste Code war ausgeklügelt. Er holte Spam-Links, Weiterleitungen und gefälschte Seiten von einem Command-and-Control-Server. Die Spam-Inhalte zeigte er nur dem Googlebot an, sodass sie für die Seitenbetreiber unsichtbar blieben“, erklärte Ginder.

Eine Analyse der WordPress-Sicherheitsplattform PatchStack ergab, dass die Backdoor nur dann arbeitete, wenn der Endpunkt „analytics.essentialplugin.com“ mit einem bösartigen serialisierten Inhalt antwortete.

WordPress.org reagierte schnell auf die Meldungen: Die betroffenen Plugins wurden gesperrt und ein erzwungenes Update an die Websites ausgespielt, um die Kommunikation der Backdoor zu unterbinden und ihren Ausführungspfad zu deaktivieren. Die Entwickler wiesen jedoch darauf hin, dass dieser Schritt die zentrale Konfigurationsdatei wp-config.php nicht bereinigt.

Das WordPress.org-Plugins-Team warnte zudem Administratoren von Websites mit einem EssentialPlugin-Produkt: Eine bekannte Ablage der Backdoor sei die Datei wp-comments-posts.php, die der legitimen Datei wp-comments-post.php ähnelt – die Malware könne sich aber auch in anderen Dateien verstecken.

BleepingComputer hat EssentialPlugins um eine Stellungnahme zu dem gemeldeten Schad-Commit nach der Übernahme gebeten, bis zum Redaktionsschluss jedoch keine Antwort erhalten.