Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
log4jcheck — Un script qui vérifie les systèmes vulnérables Log4j (CVE-2021-44228) en utilisant l'injection du payload dans les en-têtes HTTP courants. | Kitploit
Outils/GitHubGitHub/northwavesecurity/log4jcheck
ReconnaissanceScanners de VulnérabilitésScanners de Vulnérabilités WebExploitationCollecte d'InformationsAnalyse DNS
GitHubnorthwavesecurity/log4jcheck

log4jcheck

Un script qui vérifie les systèmes vulnérables Log4j (CVE-2021-44228) en utilisant l'injection du payload dans les en-têtes HTTP courants.

Voir le dépôt
12623il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Site web
Partager

Vérificateur Northwave Log4j CVE-2021-44228

Le vendredi 10 décembre 2021, une nouvelle preuve de concept 1 traitant d'une vulnérabilité d'exécution de code à distance (RCE) dans la bibliothèque Java 'log4j' 2 a été publiée. Cette vulnérabilité n'a pas été divulguée aux développeurs du logiciel au préalable. La vulnérabilité est suivie sous la référence CVE-2021-44228 3. Plus d'informations sur la vulnérabilité sont disponibles dans la réponse de menace Northwave 4.

Northwave a créé un script de test qui vérifie les systèmes vulnérables en injectant la charge utile dans les en-têtes HTTP courants et dans le cadre d'une requête HTTP GET. Les systèmes vulnérables sont détectés en écoutant les requêtes DNS entrantes contenant un UUID spécifiquement créé pour la cible. En écoutant le DNS entrant au lieu de déployer (par exemple) un serveur LDAP, nous augmentons la probabilité de détection des systèmes vulnérables qui ont un filtrage du trafic sortant en place. En pratique, le DNS sortant est souvent autorisé. Un taux élevé de faux négatifs est attendu, veuillez lire l'avertissement.

Couverture :

Les en-têtes HTTP suivants sont couverts :

  • X-Api-Version
  • User-Agent
  • Referer
  • X-Druid-Comment
  • Origin
  • Location
  • X-Forwarded-For
  • Cookie
  • X-Requested-With
  • X-Forwarded-Host
  • Accept

Pour chaque injection, les préfixes JNDI suivants sont vérifiés :

  • jndi:rmi
  • jndi:ldap
  • jndi:dns
  • jndi:${lower:l}${lower:d}ap

AVERTISSEMENT

Notez que le script n'effectue que deux vérifications spécifiques : les en-têtes HTTP et la requête HTTP GET. Cela entraînera des faux négatifs dans les cas où d'autres en-têtes, des champs de saisie spécifiques, etc. doivent être ciblés pour déclencher la vulnérabilité. Cela est très probable.

IMPORTANT : Dans les cas où le vérificateur retourne 'aucune vulnérabilité détectée', procédez aux vérifications du système de fichiers comme décrit dans la réponse de menace Northwave 4. Exécuter uniquement ce vérificateur ne suffit pas pour déterminer si un système est vulnérable ou non.

Configuration d'un serveur DNS

Tout d'abord, nous avons besoin d'un sous-domaine que nous pouvons utiliser pour recevoir les requêtes DNS entrantes. Dans ce cas, nous utilisons la zone log4jdnsreq.northwave.nl et nous déployons notre script sur log4jchecker.northwave.nl. Configurez une entrée DNS comme suit :

root@kitploit:~
log4jdnsreq 3600 IN  NS log4jchecker.northwave.nl.

Nous configurons maintenant un serveur DNS BIND sur un système Debian en utilisant apt install bind9 et ajoutons ce qui suit au fichier /etc/bind/named.conf.options :

root@kitploit:~
	recursion no;
	allow-transfer { none; };

Cela désactive la récursivité car nous ne voulons pas exécuter un serveur DNS ouvert. Configurez la journalisation dans /etc/bind/named.conf.local en ajoutant la configuration suivante :

root@kitploit:~
logging {
	channel querylog {
		file "/var/log/named/query.log";
		severity debug 3;
		print-time yes;
	};
	category queries { querylog;};
};

N'oubliez pas de redémarrer BIND avec systemctl restart bind9. Vérifiez que la journalisation fonctionne en effectuant une requête DNS pour xyz.log4jdnsreq.northwave.nl. Une ou plusieurs requêtes devraient apparaître dans /var/log/named/query.log.

Vérification de votre serveur DNS

Il est important de vérifier que les recherches de noms de serveur sont réellement enregistrées. Ce script ne peut pas détecter les sites vulnérables à moins que votre configuration de serveur de noms n'enregistre les requêtes

Testez votre serveur en effectuant une recherche de test (idéalement depuis une machine différente) :

root@kitploit:~
dig test.log4jchecker.northwave.nl

Vous ne devez pas vous attendre à une réponse, mais vous devez vous attendre à une entrée dans le fichier journal (cat /var/log/named/query.log). Cette entrée pourrait ressembler à :

root@kitploit:~
14-Dec-2021 13:36:01.402 client @0x7f8b180a9b30 requester-ip#58755 (test.log4jchecker.northwave.nl): query: test.log4jchecker.northwave.nl IN A -E(0)DC (your-ip)

Ne continuez pas à moins qu'une réponse ne soit visible dans les journaux. Le script ne détectera pas les vulnérabilités sans cela.

Exécution du script

Installez les dépendances Python avec pip install -r requirements.txt. Modifiez le script pour changer la ligne suivante en la zone DNS que vous avez configurée :

root@kitploit:~
HOSTNAME = "log4jdnsreq.northwave.nl"

Vous pouvez maintenant exécuter le script en fournissant une seule URL avec le paramètre -u ou une liste d'URL avec le paramètre -l :

root@kitploit:~
usage: nw_log4jcheck.py [-h] [-l LIST] [-u URL] [-w WAIT] [-t TIMEOUT]

optional arguments:
  -h, --help            show this help message and exit
  -l LIST, --list LIST  A text file with a list of URLs to check (one url per line)
  -u URL, --url URL     URL to check (for example: http://yoururl.com)
  -w WAIT, --wait WAIT  Number of seconds to wait before checking DNS logs (default: 15)
  -t TIMEOUT, --timeout TIMEOUT
                        HTTP timeout in seconds to use (default: 5)

La dernière ligne de la sortie indique si le système a été trouvé vulnérable :

root@kitploit:~
NO VULNERABILITY DETECTED. Proceed with on-server checking. No incoming DNS request to 3414db71-309a-4288-83d4-aa3f103db97c.log4jdns.northwave.nl was seen

Dans le cas où aucune vulnérabilité n'a été détectée, procédez aux vérifications du système de fichiers comme décrit dans la réponse de menace Northwave 4. Encore une fois, exécuter uniquement ce vérificateur ne suffit pas pour déterminer si un système est vulnérable ou non.

Licence

Log4jcheck est un logiciel open-source sous licence MIT.

Télécharger l’outil