
Preuve de concept d'exploit pour CVE-2024-24824 démontrant comment une primitive de chargement de classe arbitraire peut être transformée en exécution de code à distance sur des déploiements Graylog vulnérables.
Ce dépôt contient l'exploit de preuve de concept présenté dans mon exposé :
Exploitation du chargement arbitraire de classes sur la JVM
Regardez-le ici si cela vous intéresse : Youtube
L'exploit cible CVE-2024-24824 (petite coquille dans les diapositives), une vulnérabilité de chargement arbitraire de classes affectant les versions de Graylog 2.0.0 à 5.2.3.
Plutôt que de considérer le chargement arbitraire de classes comme une finalité, cette recherche explore comment la primitive peut être détournée pour découvrir et construire des techniques d'exploitation de plus en plus puissantes en analysant le classpath JVM disponible.
Étant donné la possibilité d'instancier des classes arbitraires avec des données contrôlées par l'attaquant, le défi devient :
Que pouvons-nous réellement faire avec cela ?
La réponse dépend entièrement des classes présentes dans le classpath de l'application cible.
La recherche associée a exploré comment une primitive de chargement arbitraire de classes pouvait être transformée en plusieurs primitives d'exploitation, notamment :
Ce dépôt se concentre sur l'exploit d'exécution de code à distance démontré pendant l'exposé.
Voici le résultat attendu de l'exécution de l'exploit sur une instance vulnérable :

exploit/
exploit source
docs/
slides
L'exposé associé parcourt le processus d'exploitation du début à la fin :
L'objectif est de démontrer le processus de réflexion derrière le développement d'un exploit plutôt que de simplement fournir un exploit.
Ce code est publié à des fins éducatives, de recherche en sécurité et de tests de sécurité autorisés uniquement.
Ne testez que les systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite d'évaluer.