这是一组简单实用工具,针对近期发现的 CVE-2022-3602、CVE-2022-3786,可用于回答以下问题:
运行以下命令
python openssl_req_client_cert.py HOST_NAME PORT
将判断 SSL 服务器是否要求客户端认证;若要求,则基于 OpenSSL 3.0.0..3.0.6 的服务器将受上述 CVE 影响 [https://jfrog.com/knowledge-base/upcoming-openssl-3-x-critical-vulnerability/]
例如:
|ψ> python openssl_req_client_cert.py 127.0.0.1 12345
127.0.0.1:12345 -> Client certificate not required
如果 OpenSSL 库被静态链接到应用程序二进制文件中,运行 OpenSSL 的应用程序很容易被遗漏。 运行以下命令
python scan_vulnerable_openssl_code.py ROOT_DIR
将递归扫描 ROOT_DIR 中的 ELF 文件,并报告包含模式 ossl_punycode_decode(表明版本 >=3.0.0)的文件;若文件还包含模式 ripemd160_newctx(表明为更新版本 3.0.7),则按此报告。