
La vulnérabilité Log4Shell (CVE-2021-44228) est décrite par de nombreux chercheurs et experts en cybersécurité comme étant la vulnérabilité zero-day la plus critique de tous les temps. Il affecte un utilitaire Java largement utilisé sous le nom de Log4j, qui existe depuis 2001 pour la journalisation et la communication d’événements, tels que les opérations système de routine et les erreurs logicielles. Ici, nous vous montrons comment protéger votre système Linux contre cela.
Comment fonctionne la vulnérabilité Log4Shell ?
À un niveau fondamental, la vulnérabilité est causée par une mauvaise validation des entrées. Cela se produit lorsque le logiciel ne valide pas correctement les données qu’il reçoit, ce qui entraîne d’éventuelles vulnérabilités, car une entrée mal validée peut être utilisée pour que le programme effectue des actions qu’il n’est pas censé faire.
Log4Shell tire spécifiquement parti des requêtes que Log4j envoie aux serveurs, en utilisant LDAP et JNDI. En tirant parti de ces requêtes, un attaquant peut exécuter du code sur n’importe quel système vulnérable, ce qui peut amener un acteur malveillant à prendre le contrôle total du système et à avoir la possibilité d’installer un rançongiciel ou de voler des données.
Qu’est-ce que Log4Shell affecte ?
Étant donné que Java est un langage de programmation extrêmement populaire, de nombreux logiciels écrits en Java qui utilisent Log4j pour leur fonctionnalité de journalisation sont affectés par cette vulnérabilité. Parmi les logiciels les plus connus et les plus couramment utilisés touchés par cette vulnérabilité figurent Apache et le jeu vidéo appelé Minecraft .
Comment savoir quels logiciels sont concernés ?
Log4Shell, comme toute autre vulnérabilité de cybersécurité, est atténuée en corrigeant le logiciel concerné. Cependant, le cas de Log4Shell est un peu plus unique, car il affecte un si large éventail de logiciels, et il peut être difficile de garder une liste de ce qui est affecté et de ce qui ne l’est pas.
Heureusement, le Centre national de cybersécurité des Pays-Bas a publié une liste complète sur GitHub , qui comprend des noms de logiciels développés par différentes organisations, qui indique s’ils sont vulnérables à Log4Shell.
Comment analyser votre serveur Apache pour la vulnérabilité
Étant donné que cette vulnérabilité a considérablement affecté les communautés de la cybersécurité et des logiciels, il n’est pas surprenant qu’il existe des outils permettant aux administrateurs d’analyser leurs serveurs à la recherche de la vulnérabilité.
L’un de ces scanners est Log4j-RCE-Scanner , qui vous permet de rechercher une vulnérabilité d’exécution de commande à distance sur Apache Log4j à plusieurs adresses.
Installation de Log4j-RCE-Scanner
Avant de commencer, nous devons installer ses dépendances, httpx et curl.
Curl peut être facilement installé sur les systèmes basés sur Ubuntu et Debian à l’aide de la commande apt :
sudo apt install curl
La même chose peut être faite sur Arch Linux en utilisant la commande pacman :
sudo pacman -Sy curl
Et sur les installations CentOS et Fedora en utilisant la commande yum :
sudo yum install curl
L’installation de httpx peut être effectuée avec les commandes suivantes :
git clone https://github.com/projectdiscovery/httpx
cd httpx/cmd/httpx && go build .
sudo mv httpx /usr/local/bin/
Après avoir installé toutes les dépendances nécessaires, clonez le référentiel Log4J-RCE-Scanner :
git clone https://github.com/adilsoybali/Log4j-RCE-Scanner
Accédez au répertoire nouvellement créé :
cd Log4j-RCE-Scanner /
Enfin, ajoutez les autorisations exécutables nécessaires pour le script Bash :
chmod +x log4j-rce-scanner.sh
Utilisation de Log4j-RCE-Scanner
Après avoir installé le scanner, vous pouvez enfin passer à la partie amusante de son utilisation.
Lisez la section d’aide du script en tapant :
bash log4j-rce-scanner.sh -h
Maintenant, vous pouvez analyser votre serveur Apache pour la vulnérabilité Log4shell.
bash log4j-rce-scanner.sh -d [domain] -b [Burp collaborator]
Vous pouvez spécifier votre domaine et Burp Collaborator en utilisant les drapeaux -d et -b . Si votre domaine est vulnérable, les rappels DNS avec le nom de domaine vulnérable sont envoyés au Burp Collaborator .
Alternativement, le drapeau -l peut également être utilisé pour spécifier une liste de domaines.
Installation et utilisation d’un scanner basé sur Python
Si vous préférez utiliser un script Python à la place, vous pouvez utiliser le log4-scanner , qui est développé par la Cybersecurity and Infrastructure Security Agency des États-Unis.
Pour l’installer :
git clone https://github.com/cisagov/log4j-scanner/
Accéder au répertoire :
cd log4j-scanner /log4-scanner/
Vous pouvez installer les dépendances requises à l’aide de la pip3commande basée sur Python :
pip3 install -r exigences.txt
Vous pouvez afficher « l’aide » fournie par le script en utilisant le drapeau -h :
python3 log4j-scan.py -h
L’analyse d’une seule URL est simple et peut être effectuée à l’aide du drapeau -u :
python3 log4j-scan.py -u exemple.com
Vous pouvez également scanner une liste d’URL en utilisant le drapeau -l :
python3 log4j-scan.py -l liste.txt