{"id":260402,"date":"2021-12-10T18:57:10","date_gmt":"2021-12-10T17:57:10","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=260402"},"modified":"2022-07-16T07:02:53","modified_gmt":"2022-07-16T05:02:53","slug":"0-day-in-java-log4j-bibliothek-tangiert-zahlreiche-anbieter","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2021\/12\/10\/0-day-in-java-log4j-bibliothek-tangiert-zahlreiche-anbieter\/","title":{"rendered":"0-day CVE-2021-44228 in Java log4j-Bibliothek tangiert zahlreiche Anbieter"},"content":{"rendered":"<p><img decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" title=\"Sicherheit (Pexels, allgemeine Nutzung)\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2021\/04\/Sicherheit_klein.jpg\" alt=\"Sicherheit (Pexels, allgemeine Nutzung)\" width=\"200\" align=\"left\" \/>[<a href=\"https:\/\/borncity.com\/win\/2021\/12\/11\/0-day-in-java-log4j-bibliothek-tangiert-zahlreiche-anbieter\/\" target=\"_blank\" rel=\"noopener\">English<\/a>]In der zum Logging benutzen Java Bibliothek log4j gibt es eine kritische Schwachstelle, die ungepatcht ist. Diese Software ist in vielen anderen Produkten integriert. Tausende Dienste von Apple, Amazon, Twitter, Minecraft etc. sind \u00fcber diese Schwachstelle anf\u00e4llig. Inzwischen wurden bereits erste Angriffe auf Honeypots beobachtet. Hier ein kurzer \u00dcberblick, was Sache ist.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg01.met.vgwort.de\/na\/48db4721e693418d9d398fb1aee3a082\" alt=\"\" width=\"1\" height=\"1\" \/>Ein Leser hat in <a href=\"https:\/\/borncity.com\/blog\/2021\/12\/10\/schwere-angriffe-auf-16-millionen-wordpress-seiten-9-12-2021\/#comment-118424\" target=\"_blank\" rel=\"noopener\">einem Kommentar<\/a> auf dieses Problem hingewiesen, welches u.a. <a href=\"https:\/\/isc.sans.edu\/forums\/diary\/RCE+in+log4j+Log4Shell+or+how+things+can+get+bad+quickly\/28120\/\" target=\"_blank\" rel=\"noopener\">hier<\/a> beschrieben ist.\u00a0 Bei log4j handelt es sich um eine Apache-Bibliothek zum Logging f\u00fcr Java. Diese Bibliothek ist wohl sehr leistungsf\u00e4hig und flexibel und auch recht popul\u00e4r. Daher wird diese Bibliothek in fast jeder Java-Anwendung zur Protokollierung verwendet.<\/p>\n<p>Leider gibt es in log4j eine ungepatchte Schwachstelle in der JNDI-Lookup-Funktion. Die JNDI-Lookup-Funktion von log4j erm\u00f6glicht den Abruf von Variablen \u00fcber das JNDI &#8211; Java Naming and Directory Interface. Dabei handelt es sich um eine API, die Java-Anwendungen Namens- und Verzeichnisfunktionen zur Verf\u00fcgung stellt. Es gibt zwar viele M\u00f6glichkeiten, aber log4j unterst\u00fctzt (AFAIK) LDAP und RMI (Remote Method Invocation).<\/p>\n<h2>Schwachstelle CVE-2021-44228<\/h2>\n<p>Am 9. Dezember 2021 wurde ein <a href=\"https:\/\/web.archive.org\/web\/20211219230326\/https:\/\/github.com\/0x0021h\/apache-log4j-rce\/blob\/main\/poc\/src\/main\/java\/log4j.java\" target=\"_blank\" rel=\"noopener\">Proof of Concept<\/a> (PoC) f\u00fcr die Remote Code Execution-Schwachstelle in log4j ver\u00f6ffentlicht. Der PoC ben\u00f6tigt nur wenige Zeilen Code mit dem eine Zeichenkette in Form einer URL in die Protokolldatei schreibt. Der Verzeichnisdienst JNDI kontaktiert darauf hin den im Protokoll aufgef\u00fchrten LDAP-Server, um von diesem Daten anzufordern. Das kann auch Java-Klassen umfassen, die dann ausgef\u00fchrt werden. Gelingt es einem Angreifer die URL auf einen von ihm kontrollierten Server in der Protokolldatei anzugeben, kann er einen Server \u00fcber das Logging kapern (Log4Shell).<\/p>\n<p>Die Schwachstelle <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2021-44228\" target=\"_blank\" rel=\"noopener\">CVE-2021-44228<\/a> wird laut heise als kritisch bewertet und hat den CVE-Index 10 (von 10 m\u00f6glichen Punkten) erhalten. Die Pen-Testing-Gruppe 0x0021h, die den PoC-Exploit entwickelte, gibt an, dass dieser f\u00fcr Apache Struts2, Apache Solr, Apache Druid, Apache Flink und funktioniert. Auf <a href=\"https:\/\/github.com\/YfryTchsGD\/Log4jAttackSurface\" target=\"_blank\" rel=\"noopener\">dieser GitHub-Seite<\/a> werden betroffene Dienste aufgelistet &#8211; da ist alles dabei, was Rang und Namen hat. Neben Apple iCloud, Amazon, CloudFlare, Steam, Twitter und selbst das popul\u00e4re Mindcraft ist alles dabei. Laut <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/minecraft-rushes-out-patch-for-critical-log4j-vulnerability\/\" target=\"_blank\" rel=\"noopener\">Bleeping Computer<\/a> wurde Minecraft aber bereits per Notfall-Patch \u00fcber die Version <a href=\"https:\/\/web.archive.org\/web\/20211211000422\/https:\/\/www.minecraft.net\/en-us\/article\/minecraft-java-edition-1-18-1\" target=\"_blank\" rel=\"noopener\">Minecraft: Java Edition 1.18.1<\/a> geflickt.<\/p>\n<p>Administratoren von Anwendungen sollten nach Updates der Software-Hersteller Ausschau halten und diese zeitnah installieren. Da die Ausnutzung der Sicherheitsl\u00fccke es erfordert, dass der betroffene Server\/Client einen anderen Server im Internet erreicht (der die JNDI-Referenz bereitstellt), k\u00f6nnen <a href=\"https:\/\/isc.sans.edu\/forums\/diary\/RCE+in+log4j+Log4Shell+or+how+things+can+get+bad+quickly\/28120\/\" target=\"_blank\" rel=\"noopener\">laut SANS-Institute<\/a> die folgenden Ma\u00dfnahmen durchgef\u00fchrt werden:<\/p>\n<ul>\n<li>Blockieren des ausgehenden Datenverkehrs, der nicht erforderlich ist. Wer einen Server hat, auf dem eine Java-Anwendung l\u00e4uft, die nur eingehenden Datenverkehr annehmen muss, sollte der gesamte ausgehende Datenverkehr verhindert werden.<\/li>\n<li>Wer den Datenverkehr \u00fcberpr\u00fcft, sollte nach LDAP- und RMI-Protokollen suchen und diese filtern.<\/li>\n<\/ul>\n<p>Ich denke, wir werden in den n\u00e4chsten Tagen noch \u00fcber Vorf\u00e4lle aus dem Bereich eines Angriffs \u00fcber die log4j-Schwachstelle lesen. CERT Telekom berichtet <a href=\"https:\/\/twitter.com\/DTCERT\/status\/1469258597930614787\" target=\"_blank\" rel=\"noopener\">hier<\/a> \u00fcber Angriffsversuche, die man in den eigenen Honeypots beobachtet.<\/p>\n<h2>Apache patcht und Gegenmittel<\/h2>\n<p>Neben Microsoft, die einen Patch f\u00fcr Minecraft bereitgestellt haben, gibt es von Apache den Patch <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/download.html\" target=\"_blank\" rel=\"nofollow noopener\">Log4j 2.15.0<\/a> um die Schwachstelle zu schlie\u00dfen. Und es gibt seit dem 10.12.2021 noch ein universelles Gegenmittel der Sicherheitsfirma Cybereason, wie ich bei den Kollegen von Bleeping Computer <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/researchers-release-vaccine-for-critical-log4shell-vulnerability\/\" target=\"_blank\" rel=\"noopener\">lese<\/a>.<\/p>\n<p>Ein auf GitHub bereitgestelltes Script\u00a0<a href=\"https:\/\/github.com\/Cybereason\/Logout4Shell\" target=\"_blank\" rel=\"noopener\">Logout4Shell<\/a> erm\u00f6glicht eine Einstellung in einer anf\u00e4lligen Log4Shell-Instanz remote zu deaktivieren. Logout4Shell f\u00fchrt den Benutzer durch die Einrichtung eines Java-basierten LDAP-Servers und enth\u00e4lt eine Java-Payload, die die 'trustURLCodebase'-Einstellung in einem Remote Log4j-Server deaktiviert. Dies erm\u00f6glicht die Schwachstelle\u00a0CVE-2021-44228\u00a0zu entsch\u00e4rfen.<\/p>\n<p><em>W\u00e4hrend die beste Abschw\u00e4chung gegen diese Schwachstelle darin besteht, log4j auf 2.15.0 und h\u00f6her zu patchen, kann dieses Verhalten in Log4j-Versionen (&gt;=2.10) durch das Setzen der Systemeigenschaft log4j2.formatMsgNoLookups auf true oder durch das Entfernen der JndiLookup-Klasse aus dem Klassenpfad abgeschw\u00e4cht werden<\/em>, hei\u00dft es auf der GitHub-Seite.<\/p>\n<p>Wenn der Server \u00fcber eine Java-Runtime\u00a0 Version &gt;= 8u121 verf\u00fcgt, sind au\u00dferdem die Einstellungen <em>com.sun.jndi.rmi.object.trustURLCodebase<\/em> und <em>com.sun.jndi.cosnaming.object.trustURLCodebase<\/em> standardm\u00e4\u00dfig auf \"false\" gesetzt, wodurch das Risiko einer Ausnutzung gemindert wird. Weitere Details sind der <a href=\"https:\/\/github.com\/Cybereason\/Logout4Shell\" target=\"_blank\" rel=\"noopener\">GitHub-Beschreibung<\/a> zu entnehmen.<\/p>\n<blockquote><p><strong>Erg\u00e4nzung:<\/strong> Ich wurde gefragt, ob auch Ports wie log4net etc. betroffen sind. Laut <a href=\"https:\/\/security.stackexchange.com\/questions\/257873\/does-cve-2021-44228-impact-log4j-ports\" target=\"_blank\" rel=\"noopener\">dieser Einsch\u00e4tzung<\/a> eher nicht.<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>[English]In der zum Logging benutzen Java Bibliothek log4j gibt es eine kritische Schwachstelle, die ungepatcht ist. Diese Software ist in vielen anderen Produkten integriert. Tausende Dienste von Apple, Amazon, Twitter, Minecraft etc. sind \u00fcber diese Schwachstelle anf\u00e4llig. Inzwischen wurden bereits &hellip; <a href=\"https:\/\/borncity.com\/blog\/2021\/12\/10\/0-day-in-java-log4j-bibliothek-tangiert-zahlreiche-anbieter\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426],"tags":[4328],"class_list":["post-260402","post","type-post","status-publish","format-standard","hentry","category-sicherheit","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/260402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=260402"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/260402\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=260402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=260402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=260402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}