Die „wp2shell“-Exploit-Kette stellt ein kritisches Sicherheitsereignis dar, das auf die grundlegende Architektur des WordPress-Ökosystems abzielt. Es handelt sich um eine vor der Authentifizierung auftretende Sicherheitslücke, die die Ausführung von Remote-Code (RCE) ermöglicht und vollständig im WordPress-Kern liegt. Für die Ausführung sind weder Plugins noch Themes von Drittanbietern noch ein authentifizierter Zugriff erforderlich. Eine einzige speziell gestaltete HTTP-Anfrage an eine standardmäßige „Stock“-Installation kann dazu führen, dass ein nicht authentifizierter Angreifer die vollständige Kontrolle über das System erlangt.
Die Schwere dieser Bedrohung spiegelt sich in ihrem CVSS-Wert von 9,8 wider. Die CISA hat beide CVEs in ihren Katalog „Known Exploited Vulnerabilities“ (KEV) aufgenommen, nachdem kurz nach der Offenlegung Ausnutzungsaktivitäten beobachtet wurden. Daten deuten darauf hin, dass etwa 60 % der Organisationen, die WordPress nutzen, zum Zeitpunkt der Offenlegung anfänglich anfällig waren, wobei ein erheblicher Teil dieser Server direkt mit dem Internet verbunden war.
Eine erfolgreiche Ausnutzung kann zur vollständigen Kompromittierung der Datenbank, zu dauerhaftem Zugriff auf den Webserver über verschleierte Webshells sowie zur Erstellung nicht autorisierter Administratorkonten führen.
Übersicht über die Sicherheitslücke
Die „wp2shell“-Exploit-Kette kombiniert mehrere Schwachstellen im WordPress-Kern, um eine nicht authentifizierte Rechteausweitung zu erreichen. Der Angriff nutzt zunächst eine Schwachstelle bei der Verarbeitung von Batch-Anfragen der REST-API aus, um die Validierung von Anfragen und Autorisierungsprüfungen zu umgehen. Dieser Zugriff wird anschließend genutzt, um eine SQL-Injection-Schwachstelle in der WP_Query-Verarbeitung des Parameters „author_exclude“ auszunutzen.
Mithilfe der SQL-Injection-Technik kann ein Angreifer zwischengespeicherte WordPress-Objekte manipulieren und den oEmbed-Caching-Mechanismus missbrauchen, um schädliche Daten in die Datenbank zurückzuschreiben. Der Exploit nutzt anschließend die Changeset-Funktionalität des Customizers, um vorübergehend die Berechtigungen eines Administratorkontos zu übernehmen und schließlich einen dauerhaften Administratorbenutzer anzulegen.
Zusammenfassend lässt sich sagen, dass der Angriff in vier Phasen abläuft:
Werden diese Schwachstellen miteinander kombiniert, kann ein nicht authentifizierter Angreifer die vollständige administrative Kontrolle über eine anfällige WordPress-Installation erlangen.
Die folgenden Sicherheitslücken im WordPress-Kern werden in diesem Exploit ausgenutzt:
Betroffene vs. behobene Versionen
|
Zweig |
Betroffene Versionen |
Behobene Versionen |
Auswirkungsprofil |
|
WordPress 7.0.x |
7.0.0 – 7.0.1 |
7.0.2 |
Vollständige RCE-Kette |
|
WordPress 6.9.x |
6.9.0 – 6.9.4 |
6.9.5 |
Vollständige RCE-Kette |
|
WordPress 6.8.x |
6.8.0 – 6.8.5 |
6.8.6 |
Nur SQL-Injection |
|
WordPress 7.1 (Beta) |
7.1 Beta 1 |
7.1 Beta 2 |
Vollständige RCE-Kette |
Strategische Bewertung: WordPress-Risiko
In der Vergangenheit konzentrierte sich die WordPress-Sicherheit auf den „Plugin-Perimeter“. Dieser Angriff zeigt, dass erhebliche Sicherheitsrisiken auch innerhalb des WordPress-Kerns entstehen können und nicht ausschließlich durch Erweiterungen von Drittanbietern. Unternehmen sollten sicherstellen, dass ihre WordPress-Instanzen in formelle Programme zum Schwachstellen- und Patch-Management eingebunden sind.
Aus defensiver Sicht sollte WordPress als hochrangiges Ziel betrachtet werden. Seine weit verbreitete Nutzung in mit dem Internet verbundenen Umgebungen macht es zu einer attraktiven Plattform für Angreifer, was die Wahrscheinlichkeit von Schwachstellenforschung, automatisierten Scans und Ausnutzungsversuchen erhöht.
Strategische Governance-Säulen
Threat Hunting & Indikatoren für Kompromittierung (IoCs)
Netzwerksignale
Hostbasierte Artefakte
Bekannte IOCs
|
IOC-Typ |
Indikator |
Beschreibung |
|
IP-Adresse |
34.81.132.62 |
Ausnutzungsversuch |
|
IP-Adresse |
79.177.131.206 |
Ausnutzungsversuch |
|
IP-Adresse |
15.157.135.170 |
Ausnutzungsversuch |
|
IP-Adresse |
94.100.52.128 |
Ausnutzungsversuch |
|
IP-Adresse |
172.235.128.52 |
Massen-Scan |
|
SHA-1-Hash |
2a1410d8e2a8337ac2171cedea8c0fdc47c647a0 |
Verschleiertes CMSmap-Plugin |
|
SHA-1-Hash |
58eca847e9eae9e6b08cc211f1559817b71bc4cc |
PHP-Webshell |
|
SHA-1-Hash |
ebea44890f434d5d67ede22009a3f4bb5cac33f8 |
PHP-Webshell |
|
SHA-1-Hash |
d9a220c8039f1c4d72cae7ccb8b3a33dec8815be |
PHP-Webshell |
|
SHA-1-Hash |
e9756e2338f84746007235e4cab7a70d5b3ca47f |
PHP-Webshell |
Maßnahmen zur Risikominderung und Sanierung
Organisationen müssen den WordPress-Kernunverzüglich auf die Versionen 7.0.2, 6.9.5 oder 6.8.6 aktualisieren. Obwohl WordPress.org automatische Updates durchgesetzt hat, müssen Administratoren diese Installationen nach dem Prinzip „Vertrauen ist gut, Kontrolle ist besser“ überprüfen, da der erfolgreiche Abschluss des automatischen Updates nicht bei allen Host-Konfigurationen garantiert ist. Vorrang müssen dabei Instanzen der Zweige 6.9.x und 7.0.x haben, die für die gesamte RCE-Kette anfällig sind.
Vorübergehende Abhilfemaßnahmen
Ist eine sofortige Installation von Patches nicht möglich, sollten Administratoren WAF-Regeln implementieren, um den nicht authentifizierten Zugriff auf die betroffenen REST-API-Batch-Endpunkte zu blockieren. Vor dem Abgleich mit den Regeln sollte eine URL-Dekodierung durchgeführt werden, um kodierte Anfragen zu erkennen.
Blockierte Endpunkte:
Maßnahmen nach einer Kompromittierung
Wenn Grund zur Annahme besteht, dass ein Angriff stattgefunden hat, werden folgende Maßnahmen empfohlen:
Wenn Sie Bedenken hinsichtlich einer der in diesem Bulletin beschriebenen Bedrohungen haben oder Hilfe bei der Festlegung geeigneter Maßnahmen benötigen, um sich vor den für Ihr Unternehmen relevantesten Bedrohungen zu schützen, wenden Sie sich bitte an Ihren Kundenbetreuer oder kontaktieren Sie uns, um zu erfahren, wie Sie Ihr Unternehmen schützen können.