Log4j / Log4Shell – Erkennung und Benachrichtigung bei Schwachstellen in Anwendungen

In einem vorherigen Beitrag zu Log4j bzw. Log4Shell beim vCenter wurde die Thematik bereits aufgegriffen – wenn auch nur für das VMware-Thema.

Hier geht es nun um die Log4j Erkennung und Benachrichtigung bei allgemeinen Anwendungen im Falle eines Treffers. Als Beispiel wird eine Methode erläutert, welche einfach realisierbar ist.

Eine weitere Möglichkeit findet sich hier.

Hinweis: Alles auf eigene Gefahr!

Lösung

Zuerst auf die Seite von Canary Tokens gehen und ein entsprechendes (kostenloses) Token für Log4Shell generieren. Hierzu wird eine E-Mail-Adresse benötigt, da an diese eine Nachricht versendet wird, falls das Token getriggert wurde.

Canary Tokens - Log4Shell Token erstellen

Nachdem das Token generiert wurde, erhält man ein Snippet. Dieses kann nun für Tests auf Systemen verwendet werden.

Sobald dieser Code von einer anfälligen Log4J Bibliothek verarbeitet wurde, sendet Canary eine E-Mail an die im Token hinterlegte E-Mail-Adresse mit Angabe des entsprechenden Hostnamens. Auch wenn im Snippet ein Eintrag mit ldap zu finden ist, so wird die Erkennung mit hoher Wahrscheinlichkeit durch DNS realisiert.

Hinweis: Es können mehrere Tokens erstellt werden. Besonders bei vielen Systemen erhält man dadurch eine bessere Übersicht, falls der Hostname nicht korrekt ausgegeben wurde.

Log4Shell Token ist aktiv

Ein einfacher Weg potentiell anfällige Webanwendungen zu testen, ist die Verwendung eines Internet Browsers und eines benutzerdefinierten User-Agents.

Dazu im Browser (in diesem Beispiel Google Chrome) auf einer beliebigen Internetseite einen Rechtsklick machen und Untersuchen wählen.

Internet Browser User-Agent ändern

Im öffnenden Teilfenster oben rechts auf den Doppelpunkt klicken und über Weitere Tools den Punkt Netzwerkbedingungen auswählen.

Internet Browser User-Agent ändern

Im Reiter Netzwerkbedingungen nun zum Punkt User-Agent navigieren und den Haken bei Browserstandard verwenden entfernen. Im Dropdownmenü Benutzerdefiniert wählen und in das Textfeld das vorher erstellte Snippet einfügen.

Internet Browser User-Agent ändern

Navigiert man nun über den Internet-Browser auf eine Webanwendung mit anfälliger Log4j Bibliothek und diese verarbeitet das Snippet, erhält man eine E-Mail von Canary mit Angaben zum betreffenden System.

Zur Wiederherstellung des standardmäßigen User-Agents, einfach die benutzerdefinierte Zeile löschen und den Haken bei Browserstandard verwenden wieder setzen.

Internet Browser User-Agent ändern

Es sei nochmals erwähnt , dass das generierte Snippet nicht ausschließlich mit dem Browser verwendet werden muss. Dieses Beispiel ist eines von vielen Möglichkeiten.