
Utilitaires Python pour vérifier si un serveur TLS exige des certificats client et pour analyser les binaires ELF locaux à la recherche de code OpenSSL 3.x vulnérable lié à CVE-2022-3602 et CVE-2022-3786.
Il s'agit d'une collection d'utilitaires simples dans le contexte des CVE-2022-3602 et CVE-2022-3786 récemment découvertes, permettant de répondre aux questions suivantes :
L'exécution de la commande suivante
python openssl_req_client_cert.py HOST_NAME PORT
permettra de déterminer si une authentification client est exigée par le serveur SSL, auquel cas les serveurs basés sur OpenSSL 3.0.0..3.0.6 seront vulnérables aux CVE ci-dessus [https://jfrog.com/knowledge-base/upcoming-openssl-3-x-critical-vulnerability/]
Par exemple :
|ψ> python openssl_req_client_cert.py 127.0.0.1 12345
127.0.0.1:12345 -> Client certificate not required
Les applications utilisant OpenSSL sont faciles à manquer si la bibliothèque est liée statiquement dans le binaire d'une application. L'exécution de la commande suivante
python scan_vulnerable_openssl_code.py ROOT_DIR
analysera récursivement ROOT_DIR à la recherche de fichiers ELF, et signalera les fichiers qui contiennent le motif ossl_punycode_decode (indicateur de versions >=3.0.0), tandis que les fichiers qui contiennent en plus le motif ripemd160_newctx, indicateur de la version mise à jour (3.0.7), seront signalés comme tels.