Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
POC-CVE-2022-30600 — CVE-2022-30600 के लिए एक प्रूफ ऑफ कॉन्सेप्ट | Kitploit
उपकरण/GitHubGitHub/boonjune/poc-cve-2022-30600
पासवर्ड हमलेभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगप्रमाणीकरण
GitHubboonjune/poc-cve-2022-30600

POC-CVE-2022-30600

CVE-2022-30600 के लिए एक प्रूफ ऑफ कॉन्सेप्ट

रिपॉजिटरी देखें
3113 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2022-30600 के लिए प्रूफ ऑफ कॉन्सेप्ट

अवलोकन

इस रिपॉजिटरी में CVE-2022-30600 का शोषण करने वाले प्रूफ ऑफ कॉन्सेप्ट के 2 कार्यान्वयन शामिल हैं।

CVE-2022-30600 एक सुरक्षा भेद्यता है जो हमलावर को moodle वेबऐप के भीतर खाता लॉकआउट सीमा को बायपास करने की अनुमति देती है।

जैसा कि NVD डेटाबेस https://nvd.nist.gov/vuln/detail/CVE-2022-30600 में निम्नलिखित प्रविष्टि द्वारा उल्लिखित है, नीचे दिए गए संस्करण इस शोषण के लिए संवेदनशील माने जाते हैं।

3.9 - 3.9.13

3.10 - 3.10.10

3.11 - 3.11.6

हमले का विवरण

जैसा कि इस भेद्यता को पैच करने के लिए उपयोग किए गए कमिट में उल्लिखित है, समस्या डेटाबेस में login_failed_count मान को एक्सेस और बढ़ाने के लिए उपयोग किए जाने वाले तर्क में है।

https://git.moodle.org/gw?p=moodle.git;a=commitdiff;h=59b5858da200f63ecb59a9113af2b99ef1496fe5;hp=a0f47c8bc4d6f5971025de7d63f22475701d2f86

यदि 1 से अधिक समवर्ती लॉगिन अनुरोध होते हैं, तो moodle वेबऐप एप्लिकेशन के भीतर लॉगिन मान की सही ढंग से जाँच और अद्यतन करने में विफल हो सकता है। इसके परिणामस्वरूप 2 या अधिक लॉगिन विफलताओं को केवल 1 लॉगिन विफलता के रूप में गिना जाता है।

इसे बेहतर ढंग से समझने के लिए, नीचे दिया गया आरेख क्लाइंट, वेबऐप और डेटाबेस के दृष्टिकोण से एक असफल लॉगिन अनुरोध का उच्च-स्तरीय विवरण है।

root@kitploit:~
sequenceDiagram 
    participant C as Client 
    participant W as Webapp 
    participant D as Database 
    C->>W: Login Request 
    W->>D: Requests failed_login_attempt 
    D->>W: failed_login_attempt = 0 
    W->>W: local failed_login_attempt  = 0 
    W->>W: local failed_login_attempt  = 1 
    W->>D: failed_login_attempt = 1 
    W->>C: Login Failed

परिणाम यह है कि डेटाबेस में failed_login_attempt मान सही है और बाद के लॉगिन प्रयास मान को सही ढंग से अपडेट करेंगे।

यदि कोई हमलावर कई समवर्ती लॉगिन अनुरोध भेजता है। तब निम्नलिखित समस्या उत्पन्न होती है।

root@kitploit:~
sequenceDiagram 
    participant C as Client 
    participant W as Webapp 
    participant D as Database 
    C->>W: Login Request (session 1) 
    C->>W: Login Request (session 2) 
    W->>D: Requests failed_login_attempt (session 1) 
    W->>D: Requests failed_login_attempt (session 2) 
    D->>W: failed_login_attempt = 0 (session 1) 
    D->>W: failed_login_attempt = 0 (session 2) 
    W->>W: local failed_login_attempt = 0 (session 1) 
    W->>W: local failed_login_attempt = 0 (session 2) 
    W->>W: local failed_login_attempt = 1 (session 1) 
    W->>W: local failed_login_attempt = 1 (session 2) 
    W->>D: failed_login_attempt = 1 (session 1) 
    W->>D: failed_login_attempt = 1 (session 2) 
    W->>C: Login Failed (session 1) 
    W->>C: Login Failed (session 2)

इस इंटरैक्शन का परिणाम यह है कि failed_login_attempt डेटाबेस मान केवल 1 से बढ़ाया जाता है, भले ही 2 असफल लॉगिन अनुरोध हुए हों। इसे सैकड़ों अनुरोधों तक बढ़ाया जा सकता है, जिसमें सीमाएँ यह हैं कि क्लाइंट कितने समवर्ती अनुरोध कर सकता है और वेब सर्वर एक साथ कितने अनुरोधों को प्रबंधित कर सकता है।

इसके अलावा, यदि किसी हमलावर के पास कई क्लाइंट (जैसे बॉटनेट) तक पहुंच है और वे इन अनुरोधों को करने के समय को सिंक्रोनाइज़ करने में सक्षम हैं, तो हमलावर एक क्लाइंट का उपयोग करके सीमाओं को पार कर सकता है और हमले को कम करना अधिक कठिन बना सकता है।

Python3 कार्यान्वयन

विवरण

poc.py इस हमले का python3 कार्यान्वयन है। यह समवर्ती अनुरोध करने के लिए थ्रेड का उपयोग करता है। यह प्रूफ ऑफ कॉन्सेप्ट काम करता है, लेकिन python3 में मौजूद ग्लोबल इंटरप्रेटर लॉक इस परिस्थिति में कई थ्रेड का उपयोग करने के लाभ को बाधित करता है। मैं दृढ़ता से C++ कार्यान्वयन का उपयोग करने की सलाह देता हूं क्योंकि जब हमला एकल क्लाइंट पर किया जाता है तो यह बेहतर काम करता है।

उपयोग

poc.py [-h] -u USERNAME -url TARGET -w WORDLIST -t THREADS [-a ATTEMPTS] [-d DELAY]

विकल्प: -h, --help
 यह सहायता संदेश दिखाता है
-u USERNAME, --username USERNAME
 लक्षित खाते का उपयोगकर्ता नाम
-url TARGET, --target TARGET
 लक्षित moodle वेबऐप का आधार URL
-w WORDLIST, --wordlist WORDLIST
 उपयोग की जा रही वर्डलिस्ट फ़ाइल का पथ
-t THREADS, --threads THREADS
 प्रत्येक प्रयास के लिए बनाए गए थ्रेड की संख्या
-a ATTEMPTS, --attempts ATTEMPTS
 आप जितने प्रयास करना चाहते हैं उनकी संख्या। डिफ़ॉल्ट 1 है
-d DELAY, --delay DELAY  प्रत्येक प्रयास के बीच सेकंड की संख्या। डिफ़ॉल्ट मान 2 है

उदाहरण

python3 poc.py -u admin -url https://moodle/ -w /usr/share/wordlists/rockyou.txt -t 15 -a 8

लक्ष्य : https://moodle/
खाता उपयोगकर्ता नाम : admin
वर्डलिस्ट : /usr/share/wordlists/rockyou.txt
थ्रेड : प्रत्येक प्रयास में 15 लॉगिन अनुरोध किए जाएंगे
प्रयास : हमला कुल 8 बार दोहराया जाएगा।

इस उदाहरण में कुल 120 (8 * 15) लॉगिन अनुरोध किए जाएंगे। प्रत्येक प्रयास के बीच 2 सेकंड का विलंब होगा।

C++ कार्यान्वयन

विवरण

poc.cpp हमले का C++ कार्यान्वयन है जो हमले को करने के लिए curl लाइब्रेरी का उपयोग करता है। इसलिए, एप्लिकेशन को संकलित करने के लिए इसे कुछ कंपाइलर फ्लैग की आवश्यकता होती है। कुल मिलाकर यह कार्यान्वयन python3 संस्करण से बेहतर काम करता है क्योंकि थ्रेड क्लाइंट डिवाइस के सभी कोर का उपयोग करने में सक्षम हैं, जिससे कम समय में अधिक समवर्ती कनेक्शन की अनुमति मिलती है। इसका मतलब है कि शोषण अधिक सुसंगत रूप से काम करने में सक्षम है।

कंपाइलर फ्लैग

g++ poc.cpp -o poc -lcurl

उपयोग

उपयोग: poc [OPTION...]
-a, --attempts

 हमला कितनी बार किया जाता है।
-t, --threads

 प्रत्येक प्रयास में उपयोग करने के लिए थ्रेड की संख्या।
-n, --username
 आप जिस खाते को लक्षित कर रहे हैं उसका उपयोगकर्ता
-u, --URL
 moodle वेबऐप का आधार URL
-d, --delay
 प्रयासों के बीच समय विलंब। डिफ़ॉल्ट 5 है
-v, --version
 संस्करण दिखाएं
-h, --help
 सहायता संदेश प्रदर्शित करें
-w, --wordlist arg
 पासवर्ड की वर्डलिस्ट।

उदाहरण

./poc -w /usr/share/wordlists/rockyou.txt -u https://moodle/ -n admin -a 3 -t 5 -d 2

wordlist : /usr/share/wordlists/rockyou.txt
URL : https://moodle/
account username : admin
attempts : 3 attempts will be made
threads : 5 threads will be used in each attempt
delay : There will be a 2 second delay between each attempt

परीक्षण वातावरण

इन स्क्रिप्ट को विकसित, परीक्षण और डीबग करने के लिए मैंने एक वर्चुअल मशीन बनाई। इस वर्चुअल मशीन ने निम्नलिखित सॉफ्टवेयर और संस्करणों का उपयोग किया।

Moodle 3.9.0 PHP 7.2.34 MySQL 8.0.30 Ubuntu 5.15.0-41-generic Apache 2.4.52

सूचना

मैं अपने स्रोत कोड का अवैध गतिविधि में उपयोग किए जाने का समर्थन नहीं करता।

टूल डाउनलोड करें