Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-0778-POC — CVE-2022-0778에 대한 원격 개념 증명(PoC)으로, 조작된 인증서를 TLS 핸드셰이크에 주입하여 OpenSSL BN_mod_sqrt()의 서비스 거부 취약점을 트리거합니다. | Kitploit
도구/GitHubGitHub/jkakavas/cve-2022-0778-poc
Vulnerability AnalysisExploitationFuzzingPenetration Testing
GitHubjkakavas/cve-2022-0778-poc

CVE-2022-0778-POC

CVE-2022-0778에 대한 원격 개념 증명(PoC)으로, 조작된 인증서를 TLS 핸드셰이크에 주입하여 OpenSSL BN_mod_sqrt()의 서비스 거부 취약점을 트리거합니다.

저장소 보기
1134년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-0778를 위한 간단한 원격 트리거 POC

배경

자체 서버 구현이 CVE-2022-0778에 취약한지 확인하려고 할 때, 원격으로 확인하는 것은 매우 번거로웠습니다. BN_nod_sqrt()의 파싱 버그를 트리거하기 위해 악의적으로 조작된 인증서를 만드는 방법은 이미 알려져 있지만, 주요 문제는 대부분의 클라이언트 구현이 TLS 핸드셰이크에서 사용하기 위해 클라이언트 인증서를 파싱하려고 한다는 점입니다. 이는 결과적으로 다음과 같습니다.

  • 구현이 취약한 경우 버그가 트리거되어 클라이언트가 100% CPU를 사용하고 중단됩니다.
  • 구현이 취약하지 않은 경우 인증서를 파싱할 수 없고 클라이언트는 당연히 종료됩니다.

내용

실제로 필요한 것은 TLS 핸드셰이크에 메시지를 주입하여 클라이언트가 CertificateRequest 메시지에 응답하여 서버로 보내는 Certificate 메시지의 내용을 대체할 수 있도록 하는 것이었습니다.

방법

이 도구는 tlslite-ng에 의존하며, TLSConnection._clientKeyExchange 메서드를 재정의하여 잠재적으로 취약한 서버와 TLS 핸드셰이크를 수행하는 동안 다음을 수행합니다:

  1. 평소처럼 ClientHello 메시지를 보냅니다.
  2. ServerHelloMessage를 수신하고 CertificateRequest가 포함되어 있는지 확인합니다.
  3. 포함된 경우, 디스크에서 DER 인코딩된 조작된 인증서를 로드하여 임의의 Certificate 메시지를 구성합니다.
  4. 조작된 메시지를 서버로 보내고 서버가 이를 파싱하여 CVE-2022-0778을 트리거할 것으로 예상합니다.

crafted.crt는 https://github.com/drago-96/CVE-2022-0778#using-asn1-templates 의 지침에 따라 생성되었으며, 원한다면 자유롭게 다시 생성하십시오.

사용법

root@kitploit:~
usage: main.py [-h] [--server SERVER] [--port PORT]

Parameters

optional arguments:
  -h, --help       show this help message and exit
  --server SERVER  Name of the server to connect for the TLS handshake,
                   defaults to "localhost"
  --port PORT      Port where server listens for TLS connections, defaults to
                   "443"
도구 다운로드