
CVE-2024-3094 취약점 연구.
이 저장소는 CVE-2024-3094(xz-utils 패키지의 liblzma 라이브러리에 있는 백도어로, OpenSSH 프로세스를 통한 RCE로 이어짐) 취약점 분석 결과를 담고 있습니다.
프로젝트를 통해 격리된 테스트 환경을 준비하고, 위협 모델을 개발했으며, 자동 검증 스크립트를 작성했습니다.
Dockerfile — 환경 빌드 스크립트(Debian Bookworm). 모든 의존성(OpenSSH, Python 3, venv, pytest, pwntools) 포함.tests/ — 자동 테스트(pytest) 디렉터리:
test_vulnerability.py / tests_vulnerability.py — SSH 기능 통합 테스트 및 백도어 탐지 시스템 동작을 검증하는 Mock 테스트.exploit/ — 공격을 에뮬레이션하는 PoC(Proof of Concept) 스크립트.docs/ — Markdown 형식의 위협 모델(Threat Model) 및 그래프.reports/ — 정적/동적 분석 결과 보고서.모든 테스트와 연구는 호스트 시스템을 위험에 노출시키지 않도록 격리된 Docker 컨테이너에서 수행됩니다.
이미지는 SSH 서버(비밀번호 root:screencast)를 설치하고 필요한 모든 라이브러리가 포함된 Python 가상 환경을 구성합니다.
docker build -t cveanalysis:20243094 .
컨테이너는 백그라운드 모드로 실행됩니다. 내부 SSH 포트(22)는 호스트 머신의 2222 포트로 포워딩됩니다.
docker run -d -p 2222:22 --name cve-test cveanalysis:20243094
모든 테스트 파일(test_vulnerability.py 및 tests_vulnerability.py)을 실행하려면 호스트 머신에서 다음 명령을 실행하세요:
docker exec -it cve-test pytest -v tests/*
테스트가 검증하는 내용:
root:screencast)를 이용한 올바른 인증.exploit/ 폴더의 스크립트를 테스트하거나 SSH로 수동 접속하려는 경우, 호스트 머신에서 포워딩된 포트 2222를 사용하세요:
# 수동 접속 예시
ssh [email protected] -p 2222
# 비밀번호: screencast
# PoC 스크립트 실행 예시(외부 실행이 필요한 경우)
python3 exploit/PoC.py 127.0.0.1
분석 완료 후 테스트 컨테이너를 중지하고 삭제합니다:
docker stop cve-test
docker rm cve-test