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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
KubiScan — कुबरनेट्स क्लस्टर में जोखिमपूर्ण अनुमतियों को स्कैन करने का एक उपकरण | Kitploit
उपकरण/GitHubGitHub/cyberark/kubiscan
प्रमाणीकरण और प्राधिकरणविशेषाधिकार वृद्धिभेद्यता स्कैनरकंटेनर सुरक्षाकॉन्फ़िगरेशन ऑडिटिंगजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगक्लाउड सुरक्षासीक्रेट डिटेक्शनगलत कॉन्फ़िगरेशनरेड टीमिंग
1.4k1411 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
cyberark/kubiscan

KubiScan

कुबरनेट्स क्लस्टर में जोखिमपूर्ण अनुमतियों को स्कैन करने का एक उपकरण

रिपॉजिटरी देखें

GitHub release License Stars

कुबरनेट्स क्लस्टर में, कुबरनेट्स के रोल-आधारित एक्सेस कंट्रोल (RBAC) प्राधिकरण मॉडल में जोखिमपूर्ण अनुमतियों की स्कैनिंग के लिए एक उपकरण। यह उपकरण "जोखिमपूर्ण अनुमतियों को समाप्त करके कुबरनेट्स क्लस्टर को सुरक्षित करना" शोध के भाग के रूप में प्रकाशित किया गया था https://www.cyberark.com/threat-research-blog/securing-kubernetes-clusters-by-eliminating-risky-permissions/।

विषय सूची

  • अवलोकन
  • यह क्या कर सकता है?
  • उपयोग
    • कंटेनर
    • सीधे Python3 के साथ
      • पूर्वापेक्षाएँ
      • Ubuntu पर स्थापना का उदाहरण
      • KubeConfig फ़ाइल के साथ
      • ServiceAccount टोकन के साथ दूरस्थ रूप से
  • उदाहरण
  • डेमो
  • जोखिमपूर्ण Roles YAML
  • प्रदर्शन
  • लाइसेंस
  • संदर्भ

अवलोकन

KubiScan क्लस्टर प्रशासकों को उन अनुमतियों की पहचान करने में मदद करता है जिनका हमलावर क्लस्टर से समझौता करने के लिए संभावित रूप से शोषण कर सकते हैं। यह विशेष रूप से बड़े वातावरणों में सहायक हो सकता है जहाँ बहुत सारी अनुमतियाँ होती हैं और उन पर नज़र रखना चुनौतीपूर्ण हो सकता है। KubiScan जोखिमपूर्ण Roles\ClusterRoles, RoleBindings\ClusterRoleBindings, Users और Pods के बारे में जानकारी एकत्र करता है, पारंपरिक मैन्युअल प्रक्रियाओं को स्वचालित करता है और प्रशासकों को जोखिम कम करने के लिए आवश्यक दृश्यता प्रदान करता है।

यह क्या कर सकता है?

  • जोखिमपूर्ण Roles\ClusterRoles की पहचान करें
  • जोखिमपूर्ण RoleBindings\ClusterRoleBindings की पहचान करें
  • जोखिमपूर्ण Subjects (Users, Groups और ServiceAccounts) की पहचान करें
  • जोखिमपूर्ण Pods\Containers की पहचान करें
  • Pods से टोकन डंप करें (सभी या namespace द्वारा)
  • Role, ClusterRole या Subject (user, group या service account) से संबद्ध RoleBindings\ClusterRoleBindings प्राप्त करें
  • विशिष्ट प्रकार ('User', 'Group' या 'ServiceAccount') वाले Subjects सूचीबद्ध करें
  • RoleBinding या ClusterRoleBinding के नियम सूचीबद्ध करें
  • उन Pods को दिखाएं जिनके पास वॉल्यूम या पर्यावरण चर के माध्यम से गुप्त डेटा तक पहुंच है
  • क्लस्टर के लिए bootstrap टोकन प्राप्त करें
  • CVE स्कैन
  • EKS\AKS\GKE समर्थन

उपयोग

कंटेनर

आप इसे इस प्रकार चला सकते हैं:

root@kitploit:~
./docker_run.sh <kube_config_file>
# उदाहरण: ./docker_run.sh ~/.kube/config

यह कॉन्फ़िगरेशन फ़ाइल के अंदर सभी लिंक की गई फ़ाइलों को कंटेनर में कॉपी करेगा और कंटेनर में एक शेल लॉन्च करेगा।

Docker छवि बनाने के लिए चलाएँ:

root@kitploit:~
docker build -t kubiscan .

सीधे Python3 के साथ

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

  • Python 3.6+
  • Pip3
  • Kubernetes Python Client
  • Prettytable
  • openssl (ubuntu में निर्मित) - केवल join टोकन के लिए उपयोग किया जाता है

Ubuntu पर स्थापना का उदाहरण:

root@kitploit:~
apt-get update
apt-get install -y python3 python3-pip
pip3 install -r requirements.txt

kubiscan का उपयोग करने के लिए alias kubiscan='python3 /<KubiScan_folder>/KubiScan.py' चलाएँ।

उपरोक्त सभी आवश्यकताओं को स्थापित करने के बाद, आप इसे दो तरीकों से चला सकते हैं:

KubeConfig फ़ाइल के साथ:

सुनिश्चित करें कि आपके पास ~/.kube/config फ़ाइल और सभी संबंधित प्रमाणपत्रों तक पहुंच है, बस चलाएँ: kubiscan <command> उदाहरण: kubiscan -rs सभी जोखिमपूर्ण subjects (users, service accounts और groups) दिखाएगा।

ServiceAccount टोकन के साथ दूरस्थ रूप से

कुछ कार्यक्षमताओं के लिए निम्नलिखित अनुमतियों वाले एक विशेषाधिकार प्राप्त service account की आवश्यकता होती है:

  • resources: ["roles", "clusterroles", "rolebindings", "clusterrolebindings", "pods", "secrets"] verbs: ["get", "list"]
  • resources: ["pods/exec"] verbs: ["create", "get"]

लेकिन अधिकांश कार्यक्षमताएँ ऐसी नहीं हैं, इसलिए आप सीमित service account के लिए इस सेटिंग का उपयोग कर सकते हैं: इसे निम्नलिखित चलाकर बनाया जा सकता है:

root@kitploit:~
kubectl apply -f - << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubiscan-sa
  namespace: default
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
  name: kubiscan-sa-secret
  annotations:
    kubernetes.io/service-account.name: kubiscan-sa
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kubiscan-clusterrolebinding
subjects:
- kind: ServiceAccount
  name: kubiscan-sa
  namespace: default
  apiGroup: ""
roleRef:
  kind: ClusterRole
  name: kubiscan-clusterrole
  apiGroup: ""
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kubiscan-clusterrole
rules:
- apiGroups: ["*"]
  resources: ["roles", "clusterroles", "rolebindings", "clusterrolebindings", "pods"]
  verbs: ["get", "list"]
EOF

ध्यान दें कि Kubernetes 1.24 से, service account बनाने से कोई secret नहीं बनता है। इसका मतलब है कि हमें secret बनाना होगा। 1.24 से पहले, आप ऊपर दिए गए आदेशों से Secret ऑब्जेक्ट को हटा सकते हैं और service account के टोकन को एक फ़ाइल में सहेज सकते हैं: kubectl get secrets $(kubectl get sa kubiscan-sa -o=jsonpath='{.secrets[0].name}') -o=jsonpath='{.data.token}' | base64 -d > token

1.24 से, आपको कुछ भी बदलने की आवश्यकता नहीं है और टोकन को इस प्रकार सहेजें:

root@kitploit:~
kubectl get secrets kubiscan-sa-secret -o=jsonpath='{.data.token}' | base64 -d > token

टोकन को फ़ाइल में सहेजने के बाद, आप इसका उपयोग इस प्रकार कर सकते हैं: python3 ./KubiScan.py -ho <master_ip:master_port> -t /token <command>

उदाहरण:

root@kitploit:~
alias kubiscan='python3 /<KubiScan_folder>/KubiScan.py
kubiscan -ho 192.168.21.129:8443 -t /token -rs

ध्यान दें कि आप SSL कनेक्शन को सत्यापित करने के लिए प्रमाणपत्र प्राधिकरण (ca.crt) का भी उपयोग कर सकते हैं:

root@kitploit:~
kubiscan -ho <master_ip:master_port> -t /token -c /ca.crt <command>

विशेषाधिकार प्राप्त service account को हटाने के लिए, निम्नलिखित आदेश चलाएँ:

root@kitploit:~
kubectl delete clusterroles kubiscan-clusterrole
kubectl delete clusterrolebindings kubiscan-clusterrolebinding
kubectl delete sa kubiscan-sa
kubectl delete secrets kubiscan-sa-secret

उदाहरण

सभी उदाहरण देखने के लिए, python3 KubiScan.py -e चलाएँ या कंटेनर के अंदर से kubiscan -e चलाएँ।

डेमो

KubiScan उपयोग का एक छोटा उदाहरण:

जोखिमपूर्ण Roles YAML

risky_roles.yaml नामक एक फ़ाइल है। इस फ़ाइल में प्राथमिकता के साथ जोखिमपूर्ण roles के टेम्पलेट हैं। यद्यपि प्रत्येक role में kind Role है, ये टेम्पलेट क्लस्टर में किसी भी Role\ClusterRole के विरुद्ध तुलना किए जाएंगे। जब इनमें से प्रत्येक role को क्लस्टर में किसी role के विरुद्ध जांचा जाता है, तो यह जांचता है कि क्या क्लस्टर में role में जोखिमपूर्ण role के नियम शामिल हैं। यदि ऐसा है, तो इसे जोखिमपूर्ण के रूप में चिह्नित किया जाएगा। हमने वे सभी roles जोड़ दिए हैं जिन्हें हमने जोखिमपूर्ण पाया, लेकिन चूंकि प्रत्येक व्यक्ति "जोखिमपूर्ण" शब्द को अलग-अलग तरीके से परिभाषित कर सकता है, आप उन roles को जोड़कर\हटाकर फ़ाइल को संशोधित कर सकते हैं जिन्हें आप अधिक\कम जोखिमपूर्ण मानते हैं।

❤️ प्रदर्शन

  • RSA 2020 में प्रस्तुत "Compromising Kubernetes Cluster by Exploiting RBAC Permissions"
  • RSA 2022 में प्रस्तुत "Attacking and Defending Kubernetes Cluster: Kubesploit vs KubiScan"
  • PortSwigger द्वारा लेख "KubiScan: Open source Kubernetes security tool showcased at Black Hat 2020"

लाइसेंस

कॉपीराइट (c) 2020 CyberArk Software Ltd. सर्वाधिकार सुरक्षित यह रिपॉजिटरी GPL-3.0 लाइसेंस के तहत लाइसेंस प्राप्त है - अधिक जानकारी के लिए LICENSE देखें।

संदर्भ:

अधिक टिप्पणियों, सुझावों या प्रश्नों के लिए, आप Eviatar Gerzi (@g3rzi) और CyberArk Labs से संपर्क कर सकते हैं।

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