
L'objectif est de trier les attaques bien connues et d'apprendre comment les équipes de sécurité réagissent rapidement.
Pour ce laboratoire, l'objectif était de trier une autre vulnérabilité réelle bien connue, Log4Shell, l'une des vulnérabilités les plus largement exploitées ces dernières années en raison de la fréquence à laquelle la bibliothèque concernée était présente dans les logiciels d'entreprise.
Je me suis rendu sur la National Vulnerability Database et j'ai recherché la CVE :
https://nvd.nist.gov/vuln/search#/nvd/home?resultType=records
J'ai cherché CVE-2021-44228 et ouvert la page de résultat.
Après avoir lu la description, j'ai répondu à quelques questions de base pour comprendre ce qui est réellement en danger :
J'ai trouvé le score CVSS et la chaîne vectorielle listés sur la page :
J'ai parcouru la chaîne vectorielle morceau par morceau pour voir ce que chaque partie signifiait réellement :
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
C'est à peu près aussi grave qu'une chaîne vectorielle peut l'être : aucun privilège requis, aucune interaction de l'utilisateur, accessible via le réseau, et elle peut même affecter des éléments en dehors du composant vulnérable lui-même (Portée : Modifiée). Cette combinaison explique en partie pourquoi Log4Shell a été traitée comme un problème aussi urgent et généralisé lors de sa divulgation.
J'ai vérifié la section Weakness Enumeration sur la page NVD pour cette CVE.
La CWE listée est CWE-917 : Improper Neutralization of Special Elements used in an Expression Language Statement. En termes simples, cela signifie que le logiciel prend une entrée et l'évalue comme faisant partie d'une expression sans la vérifier correctement au préalable, ce qui a permis aux attaquants d'introduire des recherches JNDI malveillantes à travers des messages de journal normaux.
J'ai réfléchi à la question de savoir si je considérerais cela comme un risque plus élevé ou plus faible dans deux scénarios différents.
Scénario 1 : Le logiciel vulnérable est actif et accessible. Risque plus élevé. Cette vulnérabilité permet à un attaquant d'accéder aux instructions EL (Expression Language) et de les modifier, affectant directement la confidentialité et l'intégrité.
Scénario 2 : Le logiciel vulnérable est installé sur une machine éteinte et inaccessible. Risque plus faible. Si le logiciel vulnérable ne peut pas être atteint du tout, la confidentialité et l'intégrité restent intactes car il n'y a aucun moyen pour un attaquant d'interagir avec lui.
Parmi les CVE que j'ai triées jusqu'à présent, celle-ci s'est démarquée par le peu d'éléments dont un attaquant a besoin pour l'exploiter : aucun privilège, aucune interaction de l'utilisateur, uniquement un accès réseau, associé au fait que la vulnérabilité pouvait affecter des systèmes au-delà du composant lui-même. C'est un bon exemple de la raison pour laquelle Log4Shell a provoqué une telle panique généralisée dans l'industrie lors de son apparition.