
Proof-of-concept Exploit für CVE-2024-24824, der demonstriert, wie eine beliebige Klassenladeprimitive in die Ausführung von Remote-Code auf anfälligen Graylog-Bereitstellungen umgewandelt werden kann.
Dieses Repository enthält den Proof-of-Concept-Exploit, der in meinem Vortrag vorgestellt wurde:
Ausnutzung von beliebigem Klassenladen auf der JVM
Schauen Sie es sich hier an, wenn Sie interessiert sind: Youtube
Der Exploit zielt auf CVE-2024-24824 (kleiner Tippfehler in den Folien) ab, eine Schwachstelle durch beliebiges Klassenladen, die Graylog-Versionen 2.0.0 bis 5.2.3 betrifft.
Anstatt beliebiges Klassenladen als Endziel zu betrachten, untersucht diese Forschung, wie das Primitive missbraucht werden kann, um immer leistungsfähigere Ausnutzungstechniken zu entdecken und zu entwickeln, indem der verfügbare JVM-Klassenpfad analysiert wird.
Angesichts der Fähigkeit, beliebige Klassen mit vom Angreifer kontrollierten Daten zu instanziieren, stellt sich die Herausforderung:
Was können wir damit eigentlich tun?
Die Antwort hängt vollständig davon ab, welche Klassen im Klassenpfad der Zielanwendung vorhanden sind.
Die begleitende Forschung untersuchte, wie ein beliebiges Klassenlade-Primitive in mehrere Ausnutzungsprimitive umgewandelt werden konnte, darunter:
Dieses Repository konzentriert sich auf den Exploit zur Codeausführung aus der Ferne, der während des Vortrags demonstriert wurde.
Unten ist das erwartete Ergebnis der Ausführung des Exploits auf einer verwundbaren Instanz:

exploit/
exploit source
docs/
slides
Der begleitende Vortrag führt durch den Ausnutzungsprozess von Anfang bis Ende:
Das Ziel ist es, den Denkprozess hinter der Exploit-Entwicklung zu demonstrieren, anstatt einfach einen Exploit fallen zu lassen.
Dieser Code wird ausschließlich zu Bildungszwecken, für Sicherheitsforschung und autorisierte Sicherheitstests veröffentlicht.
Testen Sie nur Systeme, die Ihnen gehören oder für die Sie eine ausdrückliche Erlaubnis zur Bewertung haben.