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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
MUT-BC-SS-01 — OpenSSL v.1.1.1h의 X.509 인증서 검증에 대한 돌연변이 테스트, CVE-2021-3450 기반. | Kitploit
도구/GitHubGitHub/dedellix/mut-bc-ss-01
Vulnerability AnalysisCode AnalysisFuzzingCryptographyPapers & ResearchLearning & Education
GitHubdedellix/mut-bc-ss-01

MUT-BC-SS-01

OpenSSL v.1.1.1h의 X.509 인증서 검증에 대한 돌연변이 테스트, CVE-2021-3450 기반.

저장소 보기
1개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MUT-BC-SS-01: OpenSSL에서 X.509 BasicConstraints의 변이 테스트

개요

이 저장소는 OpenSSL의 X.509 인증서 검증 동작을 대상으로 하는 명세 기반 변이 테스트 실험을 구현합니다.

실험은 다음 변이 연산자를 기반으로 합니다:

MUT-BC-SS-01

이 연산자는 BasicConstraints 확장을 다음과 같이 수정합니다:

root@kitploit:~
CA:TRUE → CA:FALSE

목표는 인증서 검증이 RFC 5280 요구사항을 올바르게 적용하는지 평가하고 CVE-2021-3450으로 대표되는 취약점 클래스와 관련된 동작을 조사하는 것입니다.


저장소 구조

root@kitploit:~
MUT-BC-SS-01/
│
│
├── configs/
│   ├── ca.cnf
│   └── leaf.cnf
│
├── src/
│   └── poc.c
|   └── poc_fixed.c
│
├── check_prerequisites.sh
├── install_openssl111h.sh
├── environment.sh
├── generate_certs.sh
├── build.sh
├── run.sh
├── build_version3.sh
├── run_version3.sh
│
│
└── README.md

실험 설명

실험은 다음과 같은 인증서 체인을 생성합니다:

root@kitploit:~
루트 CA (CA:TRUE)
        │
        ▼
변이 중간 인증서 (CA:FALSE)
        │
        ▼
하위 리프 인증서

변이 인증서는 의도적으로 다음과 같이 구성됩니다:

root@kitploit:~
basicConstraints = CA:FALSE

그러면서도 여전히 다른 인증서에 서명하는 데 사용됩니다.

검증 테스트 도구는 OpenSSL이 이 잘못된 체인을 올바르게 거부하는지 평가합니다.


시스템 요구사항

실험은 다음을 사용하여 Linux 시스템에서 테스트되었습니다:

  • GCC
  • GNU Make
  • Perl
  • OpenSSL 소스 빌드 도구

빠른 시작

1. 저장소 클론

root@kitploit:~
git clone https://github.com/dedellix/MUT-BC-SS-01.git
cd MUT-BC-SS-01

2. 스크립트 실행 권한 부여

root@kitploit:~
chmod +x *.sh

3. 사전 요구사항 확인 및 설치

root@kitploit:~
./check_prerequisites.sh

이 스크립트는 필요한 패키지를 확인하고 누락된 종속성을 자동으로 설치합니다.

필요한 패키지는 다음과 같습니다:

  • build-essential
  • gcc
  • g++
  • make
  • perl
  • wget
  • curl
  • git
  • tar
  • gzip
  • zlib1g-dev
  • libssl-dev

4. OpenSSL 1.1.1h 설치

root@kitploit:~
./install_openssl111h.sh

로컬에서 OpenSSL 1.1.1h를 다운로드, 빌드 및 설치합니다:

root@kitploit:~
$HOME/openssl-1.1.1h-install

시스템 OpenSSL 파일은 수정되지 않습니다.

5. 환경 구성

root@kitploit:~
./environment.sh

다음을 구성합니다:

root@kitploit:~
LD_LIBRARY_PATH

올바른 OpenSSL 라이브러리가 로드되었는지 확인합니다.

6. 인증서 생성

root@kitploit:~
./generate_certs.sh

다음을 생성합니다:

  • 루트 CA
  • 변이 중간 인증서
  • 하위 리프 인증서

그리고 다음 위치에 저장합니다:

root@kitploit:~
certs/

7. 개념 증명 빌드

root@kitploit:~
./build.sh
./build_version3.sh

다음을 컴파일합니다:

root@kitploit:~
src/poc.c

그리고 다음을 생성합니다:

root@kitploit:~
./poc

프로젝트 루트 디렉토리에 생성됩니다.

8. 실험 실행

root@kitploit:~
./run.sh
./run_version3.sh

또는 직접:

root@kitploit:~
./poc

처음부터 다시 빌드

생성된 아티팩트를 완전히 제거하려면:

root@kitploit:~
rm -rf certs
rm -f poc

로컬 OpenSSL 설치를 제거하려면:

root@kitploit:~
rm -rf $HOME/openssl-1.1.1h-install
rm -rf tls-test

환경 변수를 정리하려면:

root@kitploit:~
unset LD_LIBRARY_PATH
unset OPENSSL111H
도구 다운로드