Im Dezember 2021 wurde ein «Proof of Concept» (PoC) zu einer Schwachstelle in der beliebten Java-Bibliothek Log4j veröffentlicht. Die Sicherheitslücke (CVE-2021-44228) wird als kritisch eingestuft.
von Fabian Murer
veröffentlicht: 13.12.2021 13:54 Uhr
zuletzt aktualisiert: 15.12.2021 09:05 Uhr
(Aktualisierungen sind innerhalb des Textes gekennzeichnet)
Am 9. Dezember 2021 wurde ein «Proof of Concept» (PoC) zu einer Schwachstelle in der beliebten Java-Bibliothek Log4j veröffentlicht. Die Sicherheitslücke (CVE-2021-44228) [1] [2] wird als kritisch eingestuft, da sie von einem nicht authentifizierten Angreifer aus der Ferne zur Ausführung von beliebigem Programmcode verwendet werden kann (Remote Code Execution – RCE). Diese Schwachstelle wird bereits aktiv ausgenutzt. Die ersten Beobachtungen von Ausnutzungsversuchen gehen bis auf den 1. Dezember 2021 zurück.
Wir berichteten bereits am 10. Dezember über die ersten Erkenntnisse zur Schwachstelle in der Java-Bibliothek Log4j. Der Beitrag ist hier zu finden: «Remote-Code-Execution-Schwachstelle (RCE) in bekannter Java-Bibliothek – CVE-2021-44228». Im folgenden Bericht wird vertieft auf die Thematik und über die zu beachtenden Punkte und die wichtigsten Massnahmen eingegangen.
Auf was sollte geachtet werden?
- Die Schwachstelle betrifft sowohl Server-Applikationen als auch Client-Anwendungen.
- Diverse Cloud-Dienste (SaaS, PaaS, IaaS) sind betroffen.
- Es sind auch Netzwerkgeräte betroffen, die häufig an der Grenze zum Internet stehen.
- Die Schwachstelle kann nicht nur über HTTP(S) ausgenutzt werden. Jegliche Eingaben, die ein Angreifer setzen/manipulieren kann, können ausgenutzt werden: HTTP-Header, E-Mail-Header, Nutzernamen, Dateinamen, Dateiinhalte (z. B. Dateiupload), Web-APIs von Dritten etc. Wenn Inhalte aus diesen in Logs landen können, könnten sie auch für einen Angriff ausgenutzt werden.
Welche Massnahmen sollten ergriffen werden?
Folgende Massnahmen werden im Rahmen dieser Schwachstelle empfohlen:
- Bekannte und potenziell bösartige IP-Adressen auf der Firewall fortlaufend blockieren [3] [4] [15]: Hierbei empfehlen wir die Tor Exit Nodes zu beachten und den ThreatFox-Dienst von Abuse.ch als Minimum zu nutzen.
- Bekanntes Muster mit Hilfe der WAF, Firewall oder einem anderen IPS blockieren lassen. Viele Sicherheitsprodukte haben entsprechende Signaturen erhalten [5][12].
- Achtung: Viele der Erkennungsmuster können trivial umgangen werden. Es ist also nur eine Schutzschicht, die mit weiteren kombiniert werden muss. Sie finden unter [6] und dem Stichwort «Bypass» diverse Bypass-Beispiele.
- Mit Hilfe von Firewalls ausgehende Verbindungen für LDAP, RMI und DNS (UDP und TCP) blockieren.
- Sofern möglich, auch zwischen den internen Netzen die Kommunikation einschränken.
- Einen Überblick über alle Systeme und Software verschaffen, welche die Bibliothek Log4j verwenden. Zum Auffinden solcher Systeme und Software gibt es diverse Ansätze. Es gibt sowohl Listen von betroffenen Produkten als auch diverse Werkzeuge zum Auffinden solcher Applikationen [9][10].
- Wir empfehlen die Nutzung eines System Security Scanners (z. B. Tenable Nessus).
- Suchen Sie nach «log4j» auf den Dateisystemen. Dies kann Konfigurationsdateien aufdecken, die wiederum auf die Nutzung von Log4J2 hindeuten können.
- Suchen Sie nach bekannten und betroffenen Datei-Hashes.
- Verwenden Sie einen Log4J-Schwachstellenscanner, welcher nach betroffenen Dateien rekursiv und innerhalb von Archiv-Dateien (z. B. JAR-Dateien) sucht.
- Wichtig: Es sollten mehrere Ansätze genutzt werden, um eine möglichst gute Abdeckung zu erreichen. Je nach Situation kann das eine oder andere Werkzeug sinnvoll sein.
- Danach gilt es die betroffenen Systeme anzugehen:
- Für alle aus dem Internet erreichbaren Systeme mit verwundbarer Bibliothek sollte der verfügbare Security Patch so schnell wie möglich installiert werden.
- Sollte das Patchen der Bibliothek nicht möglich sein, so können diverse Massnahmen eingeleitet werden, die unter [1][5][11] dokumentiert sind: Log4J-Einstellungen anpassen, betroffene Java-Klasse entfernen, JNDI Lookups blockieren etc.
- Achtung: Viele der Massnahmen benötigen einen Neustart der betroffenen Anwendung!
- Ist beides nicht möglich, so sollte das System isoliert werden und mindestens aus dem Internet nicht erreicht werden.
- EDR- und NDR-Produkte haben teilweise auch entsprechende Erkennungsmuster erhalten, sowohl für die Aufdeckung der Schwachstelle als auch deren Ausnutzung. Prüfen Sie, ob das eigene Produkt entsprechende Signaturen erhalten hat und aktualisieren Sie es auf allen Systemen.
- Überprüfen Sie lokale und zentral gesammelte Logs auf eine mögliche Ausnutzung [7] [8] [13] [14]. Dies kann weitere Systeme aufdecken, die betroffen sein können.
Folgend finden Sie eine Auswahl an guten und nützlichen Quellen, welche regelmässig Updates zu dieser Schwachstelle veröffentlichen und weitere Massnahmenempfehlungen enthalten:
- https://isc.sans.edu/diary/28122
- https://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/
- https://www.bsi.bund.de/SharedDocs/Cybersicherheitswarnungen/DE/2021/2021-549032-10F2.pdf?__blob=publicationFile&v=6
Gleichzeitig sammelt das Oneconsult Team fortlaufend neue Informationen und fasst diese unter GitHub [6] zusammen.
Über Oneconsult
Die Oneconsult-Unternehmensgruppe ist seit 2003 Ihr renommierter Schweizer Cybersecurity Services Partner mit Büros in der Schweiz und Deutschland und 2000+ weltweit durchgeführten Security-Projekten.
Erhalten Sie kompetente Beratung vom inhabergeführten und herstellerunabhängigen Cybersecurity-Spezialisten mit 40+ hochqualifizierten Cybersecurity Experten, darunter zertifizierte Ethical Hacker / Penetration Tester (OPST, OPSA, OSCP, OSCE, GXPN), IT-Forensiker (GCFA, GCFE, GREM, GNFA), ISO Security Auditoren (ISO/IEC 27001 Lead Auditor, ISO/IEC 27005 Risk Manager, ISO/IEC 27035 Incident Manager) und dedizierte IT Security Researcher, um auch Ihre anspruchsvollsten Herausforderungen im Informationssicherheitsbereich zu bewältigen. Gemeinsam gehen wir Ihre externen und internen Bedrohungen wie Malware-Infektionen, Hacker-Attacken und APT sowie digitalen Betrug und Datenverlust mit Kerndienstleistungen wie Penetration Tests / Ethical Hacking, APT Tests unter Realbedingungen und ISO 27001 Security Audits an. Bei Notfällen können Sie rund um die Uhr (24 h x 365 Tage) auf die Unterstützung des Digital Forensics & Incident Response (DFIR) Expertenteams von Oneconsult zählen.
[1]: https://logging.apache.org/log4j/2.x/security.html
[2]: https://nvd.nist.gov/vuln/detail/CVE-2021-44228
[3]: https://gist.github.com/gnremy/c546c7911d5f876f263309d7161a7217
[4]: https://threatfox.abuse.ch/browse/tag/log4j/
[5]: https://www.govcert.ch/blog/zero-day-exploit-targeting-popular-java-library-log4j/
[6]: https://github.com/groggi/infsec-storms/blob/main/CVE-2021-44228%20Log4Shell.md
[7]: https://github.com/Neo23x0/log4shell-detector
[8]: https://gist.github.com/Neo23x0/e4c8b03ff8cdf1fa63b7d15db6e3860b
[9]: https://github.com/groggi/infsec-storms/blob/main/CVE-2021-44228%20Log4Shell.md#affected-applications
[10]: https://github.com/groggi/infsec-storms/blob/main/CVE-2021-44228%20Log4Shell.md#general-approach
[11]: https://www.bsi.bund.de/SharedDocs/Cybersicherheitswarnungen/DE/2021/2021-549032-10F2.pdf
[12]: https://github.com/NCSC-NL/log4shell/tree/main/mitigation
[13]: https://github.com/groggi/infsec-storms/blob/main/CVE-2021-44228%20Log4Shell.md#exploitation-detection
[14]: https://github.com/groggi/infsec-storms/blob/main/CVE-2021-44228%20Log4Shell.md#iocs
[15]: https://github.com/groggi/infsec-storms/blob/main/CVE-2021-44228%20Log4Shell.md#block-ips
[16]: https://www.lunasec.io/docs/blog/log4j-zero-day-update-on-cve-2021-45046/
[17]: https://www.lunasec.io/docs/blog/log4j-zero-day-mitigation-guide/