
TLS 서버가 클라이언트 인증서를 요구하는지 확인하고, 로컬 ELF 바이너리에서 CVE-2022-3602 및 CVE-2022-3786과 연관된 취약한 OpenSSL 3.x 코드가 링크되어 있는지 스캔하는 Python 유틸리티입니다.
최근 발견된 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을 사용하는 애플리케이션은 라이브러리가 애플리케이션 바이너리에 정적으로 링크되어 있는 경우 놓치기 쉽습니다. 다음 명령을 실행하면
python scan_vulnerable_openssl_code.py ROOT_DIR
ROOT_DIR을 재귀적으로 스캔하여 ELF 파일을 찾고, ossl_punycode_decode 패턴(버전 >=3.0.0을 나타냄)을 포함하는 파일을 보고하며, 추가로 업데이트된 버전(3.0.7)을 나타내는 ripemd160_newctx 패턴을 포함하는 파일은 그렇게 보고됩니다.