CVE-2021-44228: Proof-of-Concept für kritische Remote Code Execution-Schwachstelle in Apache Log4j verfügbar (Log4Shell)

Eine kritische Schwachstelle in der weit verbreiteten Logging-Bibliothek Log4j 2 betrifft eine Reihe von Diensten und Anwendungen, darunter Minecraft, Steam und Apple iCloud. Angreifer scannen bereits aktiv nach der Sicherheitslücke und versuchen, diese auszunutzen.
Update vom 21. Dezember: Am 17. Dezember wurde ein Blogbeitrag mit häufig gestellten Fragen (FAQ) veröffentlicht, der Informationen zu Log4Shell und anderen damit verbundenen Schwachstellen enthält. Aktuelle Informationen finden Sie in unserem Blog-Beitrag: CVE-2021-44228, CVE-2021-45046, CVE-2021-4104: Häufig gestellte Fragen zu Log4Shell und damit zusammenhängenden Schwachstelen
Hintergrund
Am 9. Dezember veröffentlichten Forscher einen Proof-of-Concept (PoC) Exploit-Code für eine kritische Schwachstelle in Apache Log4j 2, einer Java-Logging-Bibliothek, die von einer Reihe von Anwendungen und Diensten verwendet wird. Dazu zählen unter anderem:
Die von Forschern als Log4Shell bezeichnete Schwachstelle nahm ihren Ursprung in Berichten, dass mehrere Versionen von Minecraft, dem beliebten Sandbox-Videospiel, von dieser Sicherheitslücke betroffen waren.
there's a minecraft client & server exploit open right now which abuses a vulerability in log4j versions 2.0 - 2.14.1, there are proofs of concept going around already.
— ᵃᵈᵃᵐ (@twokilohertz) December 9, 2021
Außerdem scheint es, dass auch Cloud-Dienste wie Steam und Apple iCloud betroffen sind.
Diese Sicherheitslücke wird als so schwerwiegend angesehen, dass der CEO von Cloudflare plant, Schutzmaßnahmen für alle Kunden anzubieten.
Analyse
CVE-2021-44228 ist eine Schwachstelle für Remote-Code-Ausführung (RCE) in Apache Log4j 2. Ein nicht authentifizierter Remote-Angreifer könnte diese Sicherheitslücke ausnutzen, indem er eine speziell präparierte Anforderung an einen Server sendet, auf dem eine anfällige Version von log4j ausgeführt wird. Die präparierte Anforderung nutzt eine Java Naming and Directory Interface (JNDI)-Einschleusung über eine Reihe von Diensten, darunter:
- Lightweight Directory Access Protocol (LDAP)
- Secure LDAP (LDAPS)
- Remote Method Invocation (RMI)
- Domain Name Service (DNS)
Wenn der anfällige Server log4j zur Protokollierung von Anforderungen verwendet, fordert der Angreifer über einen der oben genannten Dienste eine bösartige Payload über JNDI von einem durch den Angreifer kontrollierten Server an. Eine erfolgreiche Ausnutzung könnte zu einer Remote-Code-Ausführung führen.
Im Fall von Minecraft konnten User diese Sicherheitslücke ausnutzen , indem sie eine speziell präparierte Nachricht über den Minecraft-Chat verschickten.
aaaaand then code execution?? #log4j #minecraft pic.twitter.com/aSFzhsm87l
— John Hammond (@_JohnHammond) December 10, 2021
Sowohl GreyNoise als auch Bad Packets konnten Massen-Scans feststellen, bei denen nach Servern mit Log4j gesucht wird.
Mass scanning activity detected from multiple hosts checking for servers using Apache Log4j (Java logging library) vulnerable to remote code execution (https://t.co/GgksMUlf94).
— Bad Packets (@bad_packets) December 10, 2021
Query our API for "tags=CVE-2021-44228" for source IP addresses and other IOCs. #threatintel
Inzwischen liegen Meldungen vor, dass diese Sicherheitslücke genutzt wird, um Kryptowährungs-Miner einzuschleusen.
this log4shell payload is... a coin miner
— Kevin Beaumont (@GossiTheDog) December 10, 2021
the vulnerability has arrived pic.twitter.com/XUR7I5ydpP
Proof-of-Concept
Der erste PoC für CVE-2021-44228 wurde am 9. Dezember veröffentlicht, bevor die CVE-Kennung zugewiesen wurde. Zum Zeitpunkt der Veröffentlichung dieses Blogbeitrags waren weitere PoCs auf GitHub verfügbar.
Lösung
Apache hat zwar am 6. Dezember einen Release Candidate veröffentlicht, um diese Schwachstelle zu beheben, aber dieser war unvollständig. Apache veröffentlichte 2.15.0 am 10. Dezember.
Log4j 2.15.0 erfordert Java 8. Unternehmen, die Java 7 verwenden, müssen daher ein Upgrade vornehmen, bevor sie ein Update auf die gepatchte Version von Log4j durchführen können.
Falls Patchen nicht sofort möglich ist, gibt es laut Apache Möglichkeiten, diese Schwachstelle zu entschärfen, um Angriffe zu vereiteln: Da die Informationen von Apache laufend aktualisiert werden, empfehlen wir Ihnen, die Anleitungen von Apache hier nachzulesen.
Da Log4j in einer Reihe von Webanwendungen enthalten ist und von einer Vielzahl von Cloud-Services genutzt wird, dürfte das volle Ausmaß dieser Schwachstelle erst in einiger Zeit bekannt sein. Allerdings wurden zum Zeitpunkt der Veröffentlichung dieses Blogbeitrags bereits einige Produkte und Dienste als anfällig bestätigt. Dazu gehören:
Produkt/Service | Betroffenheit bestätigt |
---|---|
Minecraft | Ja |
Steam | Ja |
Apple iCloud | Ja |
Tencent | Ja |
Ja | |
Baidu | Ja |
Didi | Ja |
Cloudflare | Ja |
Amazon | Ja |
Tesla | Ja |
ElasticSearch | Ja |
Ghidra | Ja |
Es wird ein GitHub-Repository unterhalten, das die Angriffsoberfläche dieser Schwachstelle aufzeigt.
Identifizieren betroffener Systeme
Sobald Tenable-Plugins zur Identifizierung dieser Schwachstelle veröffentlicht werden, wird hier eine Liste angezeigt. Zusätzlich möchten wir auf die folgenden Plugins hinweisen (verfügbar ab Plugin-Set 202112112213):
Remote-Prüfungen
- Plugin ID 156014 - Apache Log4Shell RCE-Erkennung über Callback-Korrelation (Direct Check HTTP) - Diese Remote-Prüfung kann verwendet werden, um die Schwachstelle ohne Authentifizierung zu erkennen. Dieses Plugin ist kompatibel mit Tenable Cloud Scannern
- Plugin ID 155998 - Apache Log4j Message Lookup Substitution RCE (Log4Shell) (Direct Check) - Dieses Plugin lauscht auf eine LDAP BIND-Verbindung von einem Zielhost. Es ist nicht kompatibel mit Tenable.io Cloud-Scannern und liefert in bestimmten Netzwerken aufgrund von Firewall-Regeln oder Störungen durch andere Sicherheitsgeräte möglicherweise keine Ergebnisse. Wir arbeiten weiterhin an Optionen für eine zusätzliche Erkennung und empfehlen Kunden mit Tenable.io Cloud-Scannern die Verwendung der folgenden vier Plugins.
Einen Überblick über die Callbacks in den Plugin IDs 156014 und 155998 finden Sie in diesem Beitrag in der Tenable Community.
Versionsprüfungen und lokale Erkennung (Authentifizierung erforderlich)
- Plugin ID 155999 - Apache Log4j < 2.15.0 Remote Code Execution
- Plugin ID 156000 - Apache Log4j Installed (Unix)
- Plugin ID 156001 - Apache Log4j JAR Detection (Windows)
- Plugin ID 156002 - Apache Log4j < 2.15.0 Remote Code Execution
Darüber hinaus wurde ein umfassendes Plugin für Tenable.io Web App Scanning (WAS) veröffentlicht, mit dem sich Eingabefelder testen lassen, die zur Ausnutzung von Log4Shell verwendet werden können.
- Plugin ID 113075 - Apache Log4j Remote Code Execution (Log4Shell)
Weiterführende Informationen zu jedem der oben genannten Plugins finden Sie in diesem Beitrag in der Tenable Community.
Tenable hat Scan-Vorlagen für Tenable.io, Tenable.sc und Nessus Professional veröffentlicht, die vorkonfiguriert sind, um schnell auf diese Schwachstelle scannen zu können. Darüber hinaus stehen für Kunden von Tenable.io ein neues Dashboard und Widgets in der Widgets-Bibliothek zur Verfügung. Tenable.sc-Benutzer verfügen ebenfalls über ein neues Log4Shell-Dashboard. Um sicherzustellen, dass Ihr Scanner über die neuesten verfügbaren Plugins verfügt, empfiehlt Tenable die manuelle Aktualisierung Ihres Plugin-Sets. Nessus-Benutzer, einschließlich Tenable.io Nessus-Scanner, können den folgenden Nessus CLI-Befehl verwenden:
nessuscli fix --secure --delete feed_auto_last
Weitere Informationen zur Verwendung von „nessuscli“ finden Sie in diesem Artikel.
Tenable.sc-Benutzer können Plugins manuell aktualisieren, indem sie die [Update]-Links in der Plugins/Feed Configuration-Benutzeroberfläche verwenden, wie im folgenden Screenshot zu sehen ist.
Unternehmen, die derzeit kein Tenable-Produkt einsetzen, können sich für eine kostenlose Testversion von Nessus Professional anmelden, um auf diese Schwachstelle zu scannen.
Weitere Informationen
- Webinar: Schwachstellen-Warnung - Reagieren auf Log4Shell in Apache Log4j
- Apache Log4j2-3201: Limit the protocols jNDI can use and restrict LDAP
- Security Advisory: Apache Log4j2 remote code execution vulnerability (CVE-2021-44228)
- Log4Shell: RCE 0-day exploit found in log4j2, a popular Java logging package
- Apache Log4j 2 Release Page
- How Nessus Receives Plugins and Software Updates
Verfolgen Sie die Beiträge des Security Response Team von Tenable in der Tenable Community.
Erfahren Sie mehr über Tenable, die erste Cyber Exposure-Plattform für die ganzheitliche Verwaltung Ihrer modernen Angriffsoberfläche.
Testen Sie Tenable.io Vulnerability Management 30 Tage kostenlos.
Verwandte Artikel
- Schwachstellen-Management