2024: Alte CVEs, neue Ziele – aktive Ausnutzung von ThinkPHP
Redaktion und weitere Kommentare von Tricia Howard
Zusammenfassung
Akamai-Forscher haben eine neue Kampagne für ThinkPHP-Anwendungen entdeckt, die für CVE-2018-20062 und CVE-2019-9082 anfällig sind. Die Kampagne scheint von einer chinesischsprachigen Cyberbedrohungsgruppe organisiert zu werden.
Die Kampagne hat anscheinend bereits im Oktober 2023 begonnen, als eine begrenzte Anzahl von Kunden/Unternehmen anvisiert wurde. Die Kampagne ist erst seit Kurzem weit verbreitet.
Die Angriffe gingen von verschiedenen IP-Adressen aus, die mit Servern verbunden waren, die beim Cloud-Anbieter Zenlayer (ASN 21859) gehostet wurden, der sich hauptsächlich in Hongkong befindet.
Der Exploit versucht, zusätzlichen verschleierten Code von einem anderen kompromittierten ThinkPHP-Server abzurufen, um anfänglich Fuß zu fassen.
Nach erfolgreicher Ausnutzung des Systems installieren die Angreifer eine Webshell in chinesischer Sprache namens Dama, um den persistenten Zugriff auf den Server aufrechtzuerhalten.
Nachfolgende Maßnahmen können neben einer weiteren Verbreitung innerhalb des Rechenzentrums des Opfers auch die Ausnutzung des Servers für die Angriffsinfrastruktur beinhalten.
Einführung
Wir erleben einen beunruhigenden Trend im Bereich Sicherheit: Angreifer nutzen bekannte Schwachstellen aus, von denen einige mehrere Jahre alt sind – und sie haben damit Erfolg. Ein Paradebeispiel hierfür sind die Sicherheitsanfälligkeiten CVE-2018-20062 und CVE-2019-9082 in ThinkPHP bezüglich Remotecodeausführung (Remote Code Execution, RCE). Wie man anhand der CVE-Namen erkennen kann, sind sie seit mindestens 2018 aktiv, und dennoch hält die Angriffsaktivität bis heute an.
Wir haben erste Anzeichen dieses Angriffsverhaltens am 17. Oktober 2023 entdeckt. Dabei beobachteten wir eine begrenzte Anzahl erster Angriffsversuche, bei denen diese Schwachstellen ausgenutzt wurden – aber nicht so, wie Sie es vielleicht erwarten würden. Im Gegensatz zu den üblichen „Proof-of-Concept“-Befehlen, die bei automatisierten Tools und Scannern zu beobachten sind, wies die Payload die Server ihrer Opfer an, eine verschleierte Shell von einem Remote-Server zu installieren, und zwar unter der Kontrolle des Angreifers.
Die Kampagne war nur für ein paar Tage aktiv, woraufhin diese eingeschränkten Tests aufhörten – aber das scheint erst der Anfang gewesen zu sein. Im April 2024 haben wir eine ähnliche Kampagne beobachtet, die viel umfangreicher ist als ihre Vorgängerkampagne.
In diesem Blogbeitrag werden die CVEs, die beobachteten Exploit-Versuche und die empfohlenen Abhilfemaßnahmen für Betroffene dieser Kampagne erläutert.
Informationen zu den CVEs
Was ist ThinkPHP?
ThinkPHP ist ein chinesisches Open-Source-Webanwendungs-Framework, das hauptsächlich für die Entwicklung von PHP-basierten Webanwendungen verwendet wird. Es bietet eine Reihe von Bibliotheken, Komponenten und Tools, die den Prozess der Erstellung von Webanwendungen vereinfachen, indem sie dem MVC-Architekturmuster (Model-View-Controller) folgen.
CVE-2018-20062 und CVE-2019-9082 sind Sicherheitsanfälligkeiten, die in älteren Versionen des beliebten chinesischen ThinkPHP-Frameworks gefunden wurden. Diese Sicherheitsanfälligkeiten betreffen Content-Management-Systeme, die auf diesem Framework basieren, wie NoneCMS und Open-Source-BMS. Sie ermöglichen es Angreifern, remote Code auf dem Server des Opfers auszuführen. Beide Sicherheitsanfälligkeiten sind Teil einer Reihe von Exploit-Varianten, die auf verschiedene ThinkPHP-Komponenten abzielen. Die Anfälligkeiten über mehrere Jahre entdeckt – angefangen 2018, als der erste Angriffsvektor enthüllt wurde.
Beobachtete Exploit-Versuche
Die Exploit-Versuche (erkannt und aufgezeichnet von Akamai App & API Protector) versuchen, die CVEs zu nutzen, um eine Datei mit dem Namen „public.txt“ von einem scheinbar kompromittierten Server in China herunterzuladen. Die neue schädliche Datei wird dann auf den Systemen des Opfers unter dem Namen „roeter.php“ gespeichert, was unserer Meinung nach eine falsche Schreibweise von „Router“ ist (Abbildung 1).
Die heruntergeladene Textdatei enthält eine verschleierte Version einer Webshell, ein serverseitiges Backdoor-Skript zur Remote-Serversteuerung. Der Webshell-Code verwendet Verschleierung, insbesondere eine grundlegende ROT13-Transformation, die zu einer einzelnen, langen HEX-Zeichenfolge führt (Abbildung 2). Interessanterweise haben die Angreifer für den Zugriff auf die Webshell ein sehr einfaches Passwort gewählt: „admin“.
Die Angriffe gingen von verschiedenen IP-Adressen aus, die mit Servern verbunden waren, die beim Cloud-Anbieter Zenlayer (ASN 21859) gehostet wurden, der sich hauptsächlich in Hongkong befindet. Unsere kurze Inspektion des Servers, der den Backdoor-Code hostet, ergab, dass er ebenfalls mit derselben Webshell infiziert war (Abbildung 3).
Das deutet darauf hin, dass der Server möglicherweise ein weiterer Knoten in der Infrastruktur des Angreifers ist. Dieser Ansatz könnte dazu beitragen, die Betriebskosten zu senken und vor allem den Ursprung des Angriffs zu verschleiern. Das macht es für Strafverfolgungsbehörden schwieriger, den Server herunterzufahren, da sie nicht einfach den entsprechenden Internetanbieter auffordern können, den Produktionsserver eines legitimen Unternehmens herunterzufahren.
Neue Dama-Webshell
Die Webshell unterstützt erweiterte Funktionen, wie z. B. die Navigation im Dateisystem, was Vorgänge wie das Bearbeiten, Löschen und Ändern von Zeitstempeln für Verschleierungszwecke ermöglicht. Während wir in der Regel westliche und osteuropäische Bedrohungsakteure mit Webshells in englischer Sprache beobachten (z. B. WSO-NG-Webshell), zeichnet sich diese Shell durch den chinesischen Ursprung der Nutzeroberfläche aus (Abbildung 4).
Zusätzlich zu den oben genannten fortschrittlichen Mechanismen erleichtert Dama das Hochladen von Dateien auf den Server und sammelt wichtige technische Systemdaten, einschließlich präziser Betriebssystemversionen und PHP-Informationen. Diese Informationen helfen dabei, relevante Exploits für die Eskalation von Berechtigungen zu identifizieren (Abbildung 5).
Doch das war noch nicht alles. Zu den Funktionen nach dem Exploit gehören das Scannen von Netzwerkports und der Zugriff auf vorhandene Datenbanken und Serverdaten. Darüber hinaus bietet die Webshell verschiedene Methoden zur Eskalation von Berechtigungen, wie z. B. das Umgehen deaktivierter sensibler PHP-Funktionen, um die PHP-Sandbox zu umgehen und Shell-Befehle auf dem Server auszuführen.
Außerdem wird die Windows-Aufgabenplanung genutzt, um WMI neu zu konfigurieren und Nutzer mit hohen Berechtigungen hinzuzufügen. Obwohl die Shell mit einem PHP-Interpreter für die direkte Codeausführung ausgestattet ist, fehlt die Unterstützung einer Befehlszeilenschnittstelle (Command-Line Interface, CLI) zur Ausführung von direkten OS-Shell-Befehlen, was angesichts der umfangreichen Funktionalität überraschend ist.
Abwehr mit App & API Protector
Es wird dringend empfohlen, ThinkPHP auf die neueste Version, derzeit 8.0, zu aktualisieren.
Da es schwierig ist, alle Assets zu identifizieren, die für diese CVEs anfällig sein könnten, und das Patchen selbst möglicherweise keine praktikable Option ist, empfehlen wir dringend, App & API Protector mit seiner Adaptive Security Engine zu implementieren, um das Risiko im Zusammenhang mit ThinkPHP-CVEs zu reduzieren.
Wenn Sie bereits Adaptive Security Engineverwenden, können Sie diese Risiken einfach beheben, indem Sie die Gruppenaktionen „Web Platform Attack“ auf „Deny“ setzen, um den Schutz zu erhöhen. Alternativ können Kunden die individuelle Regel 3000189, „ThinkPHP RCE (CVE-2018-20062)“, auf „Deny“ setzen.
Zusammenfassung
Diese Webshell ist ein weiteres Beispiel für einen One-Day-Exploit – obwohl die Schwachstellen schon lange bekannt sind, nutzen Angreifer sie weiterhin aus, und das mit bemerkenswertem Erfolg. Das unterstreicht die anhaltende Herausforderung, der Unternehmen bei der Identifizierung anfälliger Assets und der Aufrechterhaltung effektiver Patch-Management-Prozesse gegenüberstehen.
Die jüngsten Angriffe chinesischsprachiger Cyberkrimineller zeigen, dass Angreifer immer häufiger eine vollständig entwickelte Webshell verwenden, die für eine erweiterte Kontrolle über die Systeme des Opfers entwickelt wurde. Interessanterweise nutzten nicht alle angegriffenen Kunden ThinkPHP, was darauf hindeutet, dass die Angreifer möglicherweise wahllos eine breite Palette von Systemen angreifen.
Das ist ein weiterer interessanter Gegensatz, der in jüngster Zeit immer häufiger zu beobachten ist: Einige Aspekte der Angriffe sind hoch ausgeklügelt (wie die Verschleierungskontrollen in der Technologie) und andere wirken unüberlegt (wie die fehlende Unterstützung für einen CLI). Mit immer mehr technologischen Fortschritten wird diese Lücke wahrscheinlich weiter zunehmen – denn obwohl die Technologie fortgeschritten ist, heißt das nicht unbedingt, dass der Angreifer dahinter ebenfalls fortgeschritten ist. Das soll nicht heißen, dass der Erfinder der Dama-Webshell nicht raffiniert ist – es ist einfach ein Kommentar darüber, wie sich die Branche insgesamt verändert.
Da unsere Kunden vor diesen Angriffsversuchen geschützt waren, können wir die endgültige Absicht der Angreifer nicht sicher bestimmen. Nach unseren Erfahrungen hätte ihr Ziel jedoch darin bestehen können, die Systeme der Opfer in ihre Angriffsinfrastruktur einzubinden, um zusätzliche Angriffe zu starten. Hierbei werden die Server für ein potentes DDoS- (Distributed Denial of Service) oder Krypto- Botnet rekturiert, das Ransomware- oder Erpressungsangriffe ausführt oder mittels lateraler Netzwerkbewegung Informationen über das jeweilige Unternehmen zu sammeln.
Wir halten Sie auf dem Laufenden
Die Akamai Security Intelligence Group wird weiterhin Bedrohungen wie die Dama-Webshell überwachen und abwehren und unsere Ergebnisse für die Community veröffentlichen. Wenn Sie Updates in Echtzeit wünschen, folgen Sie uns auf X (ehemals Twitter).