
Python-Dienstprogramme, um zu prüfen, ob ein TLS-Server Client-Zertifikate erfordert, und um lokale ELF-Binärdateien auf anfälligen, mit CVE-2022-3602 und CVE-2022-3786 verknüpften OpenSSL-3.x-Code zu scannen.
Dies ist eine Sammlung einfacher Werkzeuge im Kontext der kürzlich entdeckten CVE-2022-3602, CVE-2022-3786, mit denen sich die folgenden Fragen beantworten lassen:
Das Ausführen des folgenden Befehls
python openssl_req_client_cert.py HOST_NAME PORT
ermittelt, ob der SSL-Server eine Client-Authentifizierung erfordert; in diesem Fall sind Server auf Basis von OpenSSL 3.0.0..3.0.6 für die oben genannten CVEs anfällig [https://jfrog.com/knowledge-base/upcoming-openssl-3-x-critical-vulnerability/]
Zum Beispiel:
|ψ> python openssl_req_client_cert.py 127.0.0.1 12345
127.0.0.1:12345 -> Client certificate not required
Anwendungen, die OpenSSL verwenden, sind leicht zu übersehen, wenn die Bibliothek statisch in eine Anwendungsbinärdatei eingebunden ist. Das Ausführen des folgenden Befehls
python scan_vulnerable_openssl_code.py ROOT_DIR
durchsucht ROOT_DIR rekursiv nach ELF-Dateien und meldet die Dateien, die das Muster ossl_punycode_decode enthalten (ein Hinweis auf Versionen >=3.0.0), während Dateien, die zusätzlich das Muster ripemd160_newctx enthalten, das auf die aktualisierte Version (3.0.7) hinweist, als solche gemeldet werden.