
C# MS SQL टूलकिट जो आक्रामक टोही और पोस्ट-एक्सप्लॉइटेशन के लिए डिज़ाइन किया गया है।
SQLRecon एक Microsoft SQL Server टूलकिट है जिसे आक्रामक टोही और पोस्ट-एक्सप्लॉइटेशन के लिए डिज़ाइन किया गया है। प्रत्येक तकनीक का उपयोग कैसे करें, इसके बारे में विस्तृत जानकारी के लिए विकि देखें।
आप SQLRecon की एक प्रति रिलीज़ पृष्ठ से डाउनलोड कर सकते हैं। वैकल्पिक रूप से, आप सोल्यूशन को स्वयं संकलित करने के लिए स्वतंत्र हैं। यह रिपॉजिटरी को क्लोन करने, सोल्यूशन फ़ाइल पर डबल-क्लिक करने और बिल्ड करने जितना सीधा होना चाहिए।
रोकथाम, पहचान और शमन मार्गदर्शन भी आप सभी रक्षकों के लिए प्रदान किया गया है।
IBM Security Intelligence वेबसाइट पर मेरी ब्लॉग पोस्ट देखें। यदि आप वीडियो पसंद करते हैं, तो Black Hat पर मेरी प्रस्तुति देखें।
एन्यूमरेशन मॉड्यूल को किसी प्रमाणीकरण प्रदाता की आपूर्ति की आवश्यकता नहीं होती है। इन मॉड्यूलों को एन्यूमरेशन मॉड्यूल फ़्लैग (/e:, /enum:) में पास किया जाना चाहिए। विकि में एन्यूमरेशन मॉड्यूल का उपयोग करने के बारे में विवरण है।```
Info - Show information about the SQL server.
/h:, /host -> SQL server hostname or IP. Multiple hosts supported.
/port: -> (OPTIONAL) Defaults to 1434 (UDP).
/t:, timeout: -> (OPTIONAL) Defaults to 3s.
SqlSpns - Use the current user token to enumerate the AD domain for MSSQL SPNs. /d:, /domain: -> (OPTIONAL) NETBIOS name or FQDN of domain.
# प्रमाणीकरण प्रदाता
SQLRecon विभिन्न प्रकार के प्रमाणीकरण प्रदाताओं (`/a:, /auth:`) का समर्थन करता है ताकि Microsoft SQL Server के साथ इंटरैक्ट किया जा सके।```
WinToken - Use the current users token to authenticate against the SQL database
/h:, /host: -> SQL server hostname or IP
WinDomain - Use AD credentials to authenticate against the SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> NETBIOS name or FQDN of domain.
/u:, /username: -> Username for domain user.
/p:, /password: -> Password for domain user.
Local - Use local SQL credentials to authenticate against the SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/u:, /username: -> Username for local SQL user.
/p:, /password: -> Password for local SQL user.
EntraID - Use Azure EntraID credentials to authenticate against the Azure SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> FQDN of domain (DOMAIN.COM).
/u:, /username: -> Username for domain user.
/p:, /password: -> Password for domain user.
AzureLocal - Use local SQL credentials to authenticate against the Azure SQL database
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/u:, /username: -> Username for local SQL user.
/p:, /password: -> Password for local SQL user.
/h:, host:) आवश्यक है और एक या अधिक SQL सर्वरों की अनुमति देता है। यदि आप एकाधिक SQL सर्वरों के विरुद्ध कोई मॉड्यूल निष्पादित करना चाहते हैं, तो होस्ट को अल्पविराम से अलग करें, उदाहरण के लिए /h:SQL01,10.10.10.2,SQL03।master डेटाबेस से जुड़ता है, हालाँकि, database (/database:) फ़्लैग के माध्यम से कस्टम डेटाबेस नाम प्रदान करके इसे वैकल्पिक रूप से बदला जा सकता है।/debug फ़्लैग वैकल्पिक है और मॉड्यूल द्वारा निष्पादित की जाने वाली सभी SQL क्वेरी प्रदर्शित करता है, बिना उन्हें वास्तव में दूरस्थ होस्ट पर निष्पादित किए। इसका एक उदाहरण विकि में पाया जा सकता है।1433 के माध्यम से डेटाबेस से जुड़ता है, हालाँकि, /port: फ़्लैग का उपयोग करके इसे वैकल्पिक रूप से बदला जा सकता है।3 सेकंड है, हालाँकि, यह मान टाइमआउट मान (/t:, /timeout:) प्रदान करके वैकल्पिक रूप से बदला जा सकता है, जो कनेक्शन प्रयास समाप्त होने से पहले के सेकंडों की संख्या से मेल खाता है।कृपया ध्यान दें कि EntraID प्रमाणीकरण प्रदाता के लिए आवश्यक है कि Azure Active Directory Authentication Library (ADAL) या Microsoft Authentication Library (MSAL) उस सिस्टम पर मौजूद हो जिससे SQLRecon निष्पादित किया जाता है। यह Azure EntraID प्रमाणीकरण और प्राधिकरण कार्यक्षमता के लिए है।
SQL मॉड्यूल Microsoft SQL सर्वर के एक या अधिक इंस्टेंस के विरुद्ध निष्पादित किए जाते हैं। इन मॉड्यूलों को module फ़्लैग (/m:, /module:) में पारित किया जाना चाहिए।
होस्ट फ़्लैग (/h:, host:) आवश्यक है और एक या अधिक SQL सर्वरों की अनुमति देता है। यदि आप एकाधिक SQL सर्वरों के विरुद्ध कोई मॉड्यूल निष्पादित करना चाहते हैं, तो होस्ट को अल्पविराम से अलग करें, उदाहरण के लिए /h:SQL01,10.10.10.2,SQL03।
विकि में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो SQL Server के एक या अधिक इंस्टेंस पर निष्पादन का समर्थन करता है।
प्रतिरूपण मॉड्यूल Microsoft SQL सर्वर के एक या अधिक इंस्टेंस के विरुद्ध, प्रतिरूपित SQL उपयोगकर्ता के संदर्भ में निष्पादित किए जाते हैं। सभी प्रतिरूपण मॉड्यूल की निम्नलिखित न्यूनतम आवश्यकताएँ हैं:
/i:, /iuser:)।/m:, /module:)।विकि में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो प्रतिरूपण का उपयोग करके निष्पादन का समर्थन करता है।
लिंक्ड मॉड्यूल एक लिंक्ड Microsoft SQL सर्वर के एक या अधिक इंस्टेंस पर निष्पादित किए जाते हैं। सभी लिंक्ड मॉड्यूल की निम्नलिखित न्यूनतम आवश्यकताएँ हैं:
/l:, /link:)। लिंक फ़्लैग एक या अधिक लिंक्ड SQL सर्वरों की अनुमति देता है। उदाहरण के लिए, यदि SQL01 का SQL02 से लिंक है, और SQL01 का DB04 से लिंक है, तो आप लिंक्ड होस्ट को अल्पविराम से अलग कर सकते हैं, और एक मॉड्यूल प्रत्येक लिंक्ड SQL सर्वर पर निष्पादित किया जाएगा, उदाहरण के लिए /l:SQL02,DB04।/m:, /module:)।विकि में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो एक लिंक्ड SQL सर्वर के एक या अधिक इंस्टेंस पर निष्पादन का समर्थन करता है।
लिंक्ड चेन मॉड्यूल एक लिंक्ड सर्वर श्रृंखला में अंतिम Microsoft SQL सर्वर पर निष्पादित किए जाते हैं। सभी लिंक्ड चेन मॉड्यूल की निम्नलिखित न्यूनतम आवश्यकताएँ हैं:
/l:, /link: फ़्लैग में एक लिंक्ड SQL सर्वर श्रृंखला निर्दिष्ट की जानी चाहिए। यदि SQL01 का SQL02 से लिंक है, और SQL02 का PAYMENTS01 से लिंक है, और आप PAYMENTS01 पर एक मॉड्यूल निष्पादित करना चाहते हैं, तो तर्क /l:SQL02,PAYMENTS01 होगा।/chain फ़्लैग शामिल किया जाना चाहिए।/m:, /module:)।विकि में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो एक लिंक्ड SQL सर्वर चेन में दिए गए अंतिम SQL सर्वर पर निष्पादन का समर्थन करता है।
SQLRecon के पास कई मॉड्यूल हैं जो Microsoft System Center Configuration Manager (SCCM) और Microsoft Endpoint Configuration Manager (ECM) की गणना और उन पर हमला करने में सहायता कर सकते हैं। SCCM या ECM सर्वर के पास Microsoft SQL डेटाबेस स्थानीय या दूरस्थ रूप से उजागर होना चाहिए।
SCCM मॉड्यूल को SCCM module फ़्लैग (/s:, /sccm:) में पारित किया जाना चाहिए।
अधिकांश SCCM मॉड्यूल को प्रतिरूपित SQL उपयोगकर्ता (/i:, /iuser:) के संदर्भ में निष्पादित किया जा सकता है।
विकि में प्रत्येक मॉड्यूल को एक SCCM/ECM डेटाबेस के विरुद्ध उपयोग करने के विवरण हैं।
Users मॉड्यूल RBAC_Admins तालिका में सभी उपयोगकर्ताओं को सूचीबद्ध करता है। ये सभी उपयोगकर्ता हैं जिन्हें SCCM तक कुछ स्तर की पहुँच के लिए कॉन्फ़िगर किया गया है।Sites मॉड्यूल SCCM डेटाबेस की DPInfo तालिका में संग्रहीत डेटा वाली अन्य सभी साइटों को सूचीबद्ध करता है। यह अतिरिक्त आक्रमण मार्ग प्रदान कर सकता है क्योंकि विभिन्न साइटों को विभिन्न (असुरक्षित) तरीकों से कॉन्फ़िगर किया जा सकता है।Logons मॉड्यूल Computer_System_DATA तालिका से क्वेरी करके सभी संबद्ध SCCM क्लाइंटों को उस उपयोगकर्ता के साथ प्राप्त करता है जो अंतिम बार उनमें लॉग इन हुआ था। नोट: यह डिफ़ॉल्ट रूप से सप्ताह में केवल एक बार अपडेट होता है और 100% अद्यतित नहीं होगा। SCCM क्लाइंटों को फ़िल्टर करने के लिए /option: को वैकल्पिक (आवश्यक नहीं) तर्क के रूप में उपयोग करें।TaskList मॉड्यूल SCCM डेटाबेस में संग्रहीत सभी टास्क अनुक्रमों की एक सूची प्रदान करता है, लेकिन वास्तविक टास्क डेटा सामग्री तक नहीं पहुँचता है।TaskData मॉड्यूल SCCM डेटाबेस में संग्रहीत सभी टास्क अनुक्रमों को पुनर्प्राप्त करता है और उन्हें प्लेनटेक्स्ट में डिक्रिप्ट करता है। टास्क अनुक्रमों में सिस्टम को डोमेन से जोड़ने, शेयर मैप करने, कमांड चलाने आदि के लिए क्रेडेंशियल हो सकते हैं।Credentials मॉड्यूल विभिन्न कार्यों में उपयोग के लिए SCCM द्वारा वॉल्ट किए गए क्रेडेंशियल सूचीबद्ध करता है। इन क्रेडेंशियलों को दूरस्थ रूप से डिक्रिप्ट नहीं किया जा सकता क्योंकि कुंजी SCCM सर्वर पर संग्रहीत होती है। हालाँकि, यह मॉड्यूल इस बारे में खुफिया जानकारी प्रदान करता है कि कुंजी प्राप्त करने का प्रयास करना उचित है या नहीं।यदि आप SQLRecon का विस्तार करने में रुचि रखते हैं, तो कृपया विकि में योगदान और विस्तार अनुभाग देखें।
यदि आपके पास कोई सुझाव या विचार हैं तो मैं आपको एक issue खोलने के लिए प्रोत्साहित करता हूँ।
लक्ष्य SQLRecon में लगातार सुधार करना है। नीचे कुछ नियोजित शोध क्षेत्र सूचीबद्ध हैं:
निम्नलिखित लोगों ने SQLRecon के विभिन्न पहलुओं में प्रत्यक्ष या अप्रत्यक्ष रूप से योगदान दिया है।
whoami मॉड्यूल में वे डेटाबेस जोड़े गए जिन तक उपयोगकर्ता की पहुँच है (JBalanza)।adsi मॉड्यूल में एक समस्या को ठीक किया गया जहाँ LDAP सर्वर को msdb डेटाबेस में जोड़ने की आवश्यकता नहीं होती है, साथ ही बनाया गया फ़ंक्शन अब ठीक से हटा दिया जाता है।SQL01 का SQL02 से लिंक है, और SQL02 का SQL03 से लिंक है, और SQL03 का PAYMENTS01 से लिंक है। अब लिंक्ड सर्वर श्रृंखला (/link:SQL02,SQL03,PAYMENTS01 /chain) का उपयोग करके SQL01 से PAYMENTS01 पर कमांड निष्पादित करना संभव है। श्रेय Azaël Martin (n3rada) को।l' और 'i' मॉड्यूल हटाए गए, और संदर्भ तर्क पेश किया गया ताकि मॉड्यूल नाम मानक, प्रतिरूपण, लिंक्ड और चेन निष्पादन में समान हो सकें।/debug) के लिए समर्थन जोड़ा गया, जो विभिन्न डिबगिंग जानकारी और एक मॉड्यूल द्वारा निष्पादित की जाने वाली सभी SQL क्वेरी प्रदर्शित करेगा, बिना उन्हें निष्पादित किए।/host या /h फ़्लैग में दिए गए एकाधिक SQL सर्वरों के विरुद्ध निष्पादन अब अल्पविराम से अलग किए गए मानों का उपयोग करके समर्थित है।/link या /l फ़्लैग में दिए गए एकाधिक लिंक्ड SQL सर्वरों के विरुद्ध निष्पादन अब अल्पविराम से अलग किए गए मानों का उपयोग करके समर्थित है।/lhost को /link में बदला गया।s' मॉड्यूल हटाए गए और SCCM मॉड्यूल के लिए /s, /sccm स्विच बनाया गया।DecryptCredentials को छोड़कर सभी SCCM मॉड्यूल में प्रतिरूपण समर्थन जोड़ा गया।info नामक एक नया गणना (/enum) मॉड्यूल जोड़ा गया जो UDP प्रोटोकॉल का उपयोग करके इंस्टेंस नाम और TCP पोर्ट सहित SQL सर्वर जानकारी प्राप्त करने के लिए एक अप्रमाणित संदर्भ का उपयोग करने में सक्षम है।adsi निष्पादन LDAP सर्वर को नहीं हटा रहा था।adsi से एजेंट जॉब निष्पादन हटाया गया।adsi मॉड्यूल में /lhost को /adsi में बदला गया।smb मॉड्यूल में /rhost को /unc में बदला गया।CaptureHash.cs हटाया गया और तर्क सरल बनाया गया।SetEnumerationType.cs हटाया गया और तर्क सरल बनाया गया।Impersonation.cs का नाम बदलकर Impersonate.cs किया गया।OleCmdExec.cs का नाम बदलकर किया गया।smb मॉड्यूल के लिए प्रतिरूपण समर्थन जोड़ा गया।info मॉड्यूल के लिए प्रतिरूपण समर्थन जोड़ा गया।info मॉड्यूल के लिए लिंक्ड समर्थन जोड़ा गया।rows, iRows और lRows मॉड्यूल बनाए गए।sLogons अद्यतन किया गया।xp_cmdshell मॉड्यूल कमांड आउटपुट को कंसोल पर प्रिंट नहीं कर रहे थे।SetEnumerationType.cs बनाया गया।domain को SqlSpns में बदला गया।ExecuteImpersonationQuery और ExecuteImpersonationCustomQuery बनाए गए।Impersonate.cs हटाया गयाcheckRpc मॉड्यूल जोड़ा गया।iCheckRpc मॉड्यूल जोड़ा गया।lCheckRpc मॉड्यूल जोड़ा गया।EnableDisable.cs का नाम बदलकर ConfigureOptions.cs किया गयाExecuteLinkedCustomQueryRpcExec को कॉल किया जाता है, वहाँ RPC त्रुटि जाँच लागू की गई।PrintUtils.cs बनाया गया, जो मानकीकृत आउटपुट के लिए एक प्रिंट क्लास लागू करता है।TablePrinter को Help.cs से PrintUtils.cs में स्थानांतरित किया गया।PrintUtils क्लास का उपयोग करके सभी कंसोल आउटपुट के लिए प्रिंट स्वरूपण को मानकीकृत किया गया।querysearchtableslColumnslQuerylSearchlTablesiColumnsAzure प्रमाणीकरण को AzureAD में बदला गया।AzureLocal प्रमाणीकरण बनाया गया।disableRpc मॉड्यूल जोड़ा गया।enableRpc मॉड्यूल जोड़ा गया।iEnableRpc मॉड्यूल जोड़ा गया।iDisableRpc मॉड्यूल जोड़ा गया।lEnableRpc मॉड्यूल हटाया गया।lDisbleRpc मॉड्यूल हटाया गया।lAgentCmd बग फिक्स।SqlCommand.ExecuteNonQuery का उपयोग करके clr, iClr और lClr की स्थिरता ठीक की गई।lClr की उस बग को ठीक किया गया जहाँ यह बनाई गई असेंबलियों या स्टोर्ड प्रोसीजरों को नहीं हटा रहा था।columns मॉड्यूल जोड़ा गया।iColumns मॉड्यूल जोड़ा गया।iDatabases मॉड्यूल जोड़ा गया।iSearch मॉड्यूल जोड़ा गया।iTables मॉड्यूल जोड़ा गया।lColumns मॉड्यूल जोड़ा गया।lSearch मॉड्यूल जोड़ा गया।ExecuteLinkedCustomQueryRpcExec द्वारा प्रदान किए गए आउटपुट में सुधार किया गया।x में बदला गया।Random.cs को utilities निर्देशिका में स्थानांतरित किया गया।Windows प्रमाणीकरण को WinToken में बदला गया।WinDomain प्रमाणीकरण बनाया गया, जो प्रतिरूपण के माध्यम से प्रमाणीकरण के लिए AD डोमेन उपयोगकर्ता नाम और पासवर्ड का उपयोग करता है। Impersonation.cs देखें।ArgumentLogic.cs, SQLAuthentication.cs और ModuleHandler.cs में तर्क पार्सिंग और हैंडलिंग को पुनः तैयार किया गया।ModuleHandler.cs अब मॉड्यूल निष्पादित करने के लिए विशाल if/else if/else स्टेटमेंट का उपयोग नहीं करता है। इसके बजाय, कमांड मॉड्यूल नामों से मेल खाने वाली विधियों को कॉल करने के लिए अब रिफ्लेक्शन का उपयोग किया जाता है।commands निर्देशिका जोड़ी गई, जिसमें ग्लोबल वेरिएबल्स हैं जो पूरे प्रोग्राम में उपयोग किए जाते हैं।SQLAuthentication.cs में समेकित किया गया।Program.cs से ArgumentLogic.cs में स्थानांतरित किया गया।sccm कमांड का उपयोग करके निष्पादित किया जा सकता है।roles, iRoles और lRoles मॉड्यूल में क्वेरी किए जाने वाले रोल का विस्तार किया गया।users, iUsers और lUsers मॉड्यूल बनाए गए।clr और iClr मॉड्यूल में sp_drop_trusted_assembly से हैश न हटाए जाने की समस्या ठीक की गई।lAgentCmd मॉड्यूल बनाया गया।lClr मॉड्यूल बनाया गया।info मॉड्यूल जोड़ा गया।Local और Azure प्रमाणीकरण के साथ अनिवार्य तर्कों की समस्याएँ हल की गईं।-e domain)।Windows और Local प्रमाणीकरण मोड में -r फ्लैग जोड़ा गया ताकि गैर-मानक TCP पोर्ट प्रदान किए जा सकें।Environment.Exit को TestAuthentication.cs से हटाया गया।AgentJobs.cs बनाया गया।agentStatus बनाया गया।iAgentStatus बनाया गया।lAgentStatus बनाया गया।agentCmd बनाया गया।iAgentCmd बनाया गया।clr बनाया गया।iEnableClr बनाया गया।iDisbleClr बनाया गया।iClr बनाया गया।iWhoami बनाया गया।iMapped बनाया गया।iRoles बनाया गया।lEnableRpc बनाया गया।lDisableRpc बनाया गया।lWhoai बनाया गया।lEnableXp बनाया गया।lDisableXp बनाया गया।lEnableOle बनाया गया।lDisableOle बनाया गया।lSmb मॉड्यूल बनाया गया।lWhoami मॉड्यूल बनाया गया।lRoles मॉड्यूल बनाया गया।oldCmd मॉड्यूल ठीक किया गया।iOleCmd मॉड्यूल ठीक किया गया।lDatabases मॉड्यूल ठीक किया गया।lTables मॉड्यूल ठीक किया गया।/v, /verbose फ़्लैग वैकल्पिक है और उन्हें दूरस्थ होस्ट पर निष्पादित करने से पहले मॉड्यूल द्वारा निष्पादित की जाने वाली सभी SQL क्वेरी प्रदर्शित करता है। इसका एक उदाहरण विकि में पाया जा सकता है।| मॉड्यूल नाम | विवरण | प्रतिरूपण | लिंक्ड निष्पादन | लिंक्ड चेन निष्पादन | विशेषाधिकार प्राप्त संदर्भ की आवश्यकता |
|---|
CheckRpc | लिंक्ड सर्वरों और उनकी RPC स्थिति की सूची प्राप्त करें। | ✅ | ✅ | ✅ | ❎ |
Databases | सभी डेटाबेस प्रदर्शित करें। | ✅ | ✅ | ✅ | ❎ |
Impersonate | उन उपयोगकर्ता खातों को सूचीबद्ध करें जिनका प्रतिरूपण किया जा सकता है। | ✅ | ✅ | ✅ | ❎ |
Info | SQL सर्वर के बारे में जानकारी दिखाएँ। | ✅ | ✅ | ✅ | ❎ |
Links | लिंक्ड SQL सर्वरों को सूचीबद्ध करें। | ✅ | ✅ | ✅ | ❎ |
Users | प्रदर्शित करें कि कौन से उपयोगकर्ता खाते और समूह डेटाबेस के विरुद्ध प्रमाणीकरण कर सकते हैं। | ✅ | ✅ | ✅ | ❎ |
Whoami | अपने विशेषाधिकार प्रदर्शित करें। | ✅ | ✅ | ✅ | ❎ |
Query /c:QUERY | एक SQL क्वेरी निष्पादित करें। | ✅ | ✅ | ✅ | ❎ |
Smb /unc:UNC_PATH | NetNTLMv2 हैश कैप्चर करें। | ✅ | ✅ | ✅ | ❎ |
Columns /db:DATABASE /table:TABLE | दिए गए डेटाबेस और तालिका में सभी कॉलम प्रदर्शित करें। | ✅ | ✅ | ✅ | ❎ |
Rows /db:DATABASE /table:TABLE | दिए गए डेटाबेस तालिका में पंक्तियों की संख्या प्रदर्शित करें। | ✅ | ✅ | ✅ | ❎ |
Search /keyword:KEYWORD | आप जिस डेटाबेस से जुड़े हैं उसकी दी गई तालिका में कॉलम नाम खोजें। | ✅ | ✅ | ✅ | ❎ |
Tables /db:DATABASE | दिए गए डेटाबेस में सभी तालिकाएँ प्रदर्शित करें। | ✅ | ✅ | ✅ | ❎ |
EnableRpc /rhost:LINKED_HOST | लिंक्ड सर्वर पर RPC और RPC आउट सक्षम करें। | ✅ | ❌ | ❌ | ✔️ |
EnableClr | CLR एकीकरण सक्षम करें। | ✅ | ✅ | ✅ | ✔️ |
EnableOle | OLE स्वचालन प्रक्रियाएँ सक्षम करें। | ✅ | ✅ | ✅ | ✔️ |
EnableXp | xp_cmdshell सक्षम करें। | ✅ | ✅ | ✅ | ✔️ |
DisableRpc /rhost:LINKED_HOST | लिंक्ड सर्वर पर RPC और RPC आउट अक्षम करें। | ✅ | ❌ | ❌ | ✔️ |
DisableClr | CLR एकीकरण अक्षम करें। | ✅ | ✅ | ✅ | ✔️ |
DisableOle | OLE स्वचालन प्रक्रियाएँ अक्षम करें। | ✅ | ✅ | ✅ | ✔️ |
DisableXp | xp_cmdshell अक्षम करें। | ✅ | ✅ | ✅ | ✔️ |
AgentStatus | प्रदर्शित करें कि SQL एजेंट चल रहा है या नहीं और एजेंट जॉब प्राप्त करें। | ✅ | ✅ | ✅ | ✔️ |
AgentCmd /c:COMMAND | एजेंट जॉब का उपयोग करके सिस्टम कमांड निष्पादित करें। | ✅ | ✅ | ✅ | ✔️ |
Adsi /adsi:SERVER_NAME /lport:LOCAL_PORT | लिंक्ड ADSI सर्वर से स्पष्ट-पाठ ADSI क्रेडेंशियल प्राप्त करें। | ✅ | ✅ | ✅ | ✔️ |
Clr /dll:DLL /function:FUNCTION | कस्टम संग्रहीत प्रक्रिया में .NET असेंबली लोड और निष्पादित करें। | ✅ | ✅ | ✅ | ✔️ |
OleCmd /c:COMMAND /subsystem:(OPTIONAL) | OLE स्वचालन प्रक्रियाओं का उपयोग करके सिस्टम कमांड निष्पादित करें। | ✅ | ✅ | ✅ | ✔️ |
XpCmd /c:COMMAND | xp_cmdshell का उपयोग करके सिस्टम कमांड निष्पादित करें। | ✅ | ✅ | ✅ | ✔️ |
| मॉड्यूल नाम | विवरण | प्रतिरूपण | विशेषाधिकार प्राप्त संदर्भ की आवश्यकता |
|---|
Users | सभी SCCM उपयोगकर्ताओं को प्रदर्शित करें। | ✅ | ❎ |
Sites | संग्रहीत डेटा वाली अन्य सभी साइटें प्रदर्शित करें। | ✅ | ❎ |
Logons | सभी संबद्ध SCCM क्लाइंट और अंतिम लॉग-इन उपयोगकर्ता प्रदर्शित करें। | ✅ | ❎ |
Credentials | SCCM द्वारा वॉल्ट किए गए एन्क्रिप्टेड क्रेडेंशियल प्रदर्शित करें। | ✅ | ❎ |
TaskList | सभी टास्क अनुक्रम प्रदर्शित करें, लेकिन टास्क डेटा सामग्री तक पहुँच न लें। | ✅ | ❎ |
TaskData | सभी टास्क अनुक्रमों को प्लेनटेक्स्ट में डिक्रिप्ट करें। | ✅ | ❎ |
DecryptCredentials | SCCM क्रेडेंशियल ब्लॉब को डिक्रिप्ट करें। इसे SCCM सर्वर पर उच्च-अखंडता या SYSTEM प्रक्रिया में निष्पादित किया जाना चाहिए। | ❌ | ✔️ |
AddAdmin /user:DOMAIN\USERNAME /sid:SID | दिए गए खाते को SCCM में 'पूर्ण व्यवस्थापक' तक उन्नत करें। | ✅ | ✔️ |
RemoveAdmin /user:ADMIN_ID /remove:STRING | किसी उपयोगकर्ता के विशेषाधिकार हटाता है, या किसी उपयोगकर्ता को SCCM डेटाबेस से पूरी तरह हटाता है। | ✅ | ✔️ |
DecryptCredentials मॉड्यूल पुनर्प्राप्त SCCM क्रेडेंशियल ब्लॉबों को डिक्रिप्ट करने का प्रयास करता है। इस मॉड्यूल को SCCM सर्वर पर उच्च-अखंडता या SYSTEM प्रक्रिया में चलाया जाना चाहिए।AddAdmin मॉड्यूल निर्दिष्ट खाते को SCCM के भीतर 'पूर्ण व्यवस्थापक' तक उन्नत करता है। यदि लक्षित उपयोगकर्ता पहले से ही SCCM उपयोगकर्ता है, तो यह मॉड्यूल उन्नत करने के लिए आवश्यक विशेषाधिकार जोड़ देगा। दो तर्क प्रदान करें, या तो /user:current /sid:current यदि आप वर्तमान में SQLRecon प्रक्रिया निष्पादित कर रहे उपयोगकर्ता को SCCM में 'पूर्ण व्यवस्थापक' के रूप में जोड़ना चाहते हैं। यदि आप किसी अन्य उपयोगकर्ता को SCCM में 'पूर्ण व्यवस्थापक' के रूप में जोड़ना चाहते हैं, तो उनका डोमेन उपयोगकर्ता नाम और पूर्ण SID /user:DOMAIN\USERNAME /sid:S-1-5-... निर्दिष्ट करें। इस मॉड्यूल को sysadmin या समान विशेषाधिकारों की आवश्यकता होती है क्योंकि SCCM डेटाबेस तालिकाओं में लेखन आवश्यक है।RemoveAdmin मॉड्यूल किसी नए जोड़े गए उपयोगकर्ता को SCCM डेटाबेस से पूरी तरह से हटाकर उसके विशेषाधिकारों को हटा देता है। यदि उपयोगकर्ता पहले से किसी क्षमता में मौजूद था, तो यह मॉड्यूल केवल उन तीन भूमिकाओं को हटाता है जो अनुमति तालिका में लेखन के माध्यम से खाते में जोड़ी गई थीं। इस कमांड को चलाने के लिए sAddAdmin कमांड के आउटपुट द्वारा प्रदान किए गए तर्कों का उपयोग करें। इस मॉड्यूल को sysadmin या समान विशेषाधिकारों की आवश्यकता होती है क्योंकि SCCM डेटाबेस तालिकाओं में लेखन आवश्यक है।/verbose, /v) जोड़ा गया, जो मॉड्यूल निष्पादन के दौरान निष्पादित की जाने वाली सभी SQL क्वेरी प्रदर्शित करेगा।/timeout, /t) जोड़ा गया, जो SQL सर्वर डेटाबेस कनेक्शन टाइमआउट के लिए एक पूर्णांक मान लेता है।links मॉड्यूल में सुधार किया गया। श्रेय Azaël Martin (n3rada) को।whoami मॉड्यूल में सुधार किया गया। श्रेय Azaël Martin (n3rada) को।impersonation मॉड्यूल में सुधार किया गया। श्रेय Azaël Martin (n3rada) को।sqlspns गणना मॉड्यूल में IP पता पुनर्प्राप्ति जोड़ी गई। श्रेय Azaël Martin (n3rada) को।/enum:info मॉड्यूल में DNS समर्थन जोड़ा गया।olecmdexec मॉड्यूल में वैकल्पिक /subsystem तर्क जोड़ा गया, जो CmdExec या PowerShell OLE स्वचालन उपप्रणालियों का उपयोग करके निष्पादन स्वीकार करता है।AzureAD प्रमाणीकरण को EntraID में बदला गया।ModuleHandler.csQueries.cs में स्थानांतरित की गईं।EnumerationModules.cs बनाया गया।FormatQuery.cs बनाया गया।SccmModules.cs बनाया गया।ModuleHandler.cs का नाम बदलकर SqlModules.cs किया गया।OleAutomation.csPrintUtils.cs का नाम बदलकर Print.cs किया गया।SQLServerInfo.cs का नाम बदलकर Info.cs किया गया।iQueryiSearchauthentication निर्देशिका हटाई गई।Help.cs को एक विधि से कंस्ट्रक्टर में बदला गया।CaptureHash.cs को एक विधि से कंस्ट्रक्टर में बदला गया।Impersonate.cs को एक विधि से कंस्ट्रक्टर में बदला गया।lEnableClr बनाया गया।lDisableClr बनाया गया।lXpCmd बनाया गया।lXpOle बनाया गया।Random.cs बनाया गया।EnableDisable.cs बनाया गया।clr के लिए यादृच्छिक रूप से उत्पन्न असेंबली नाम लागू किए गए।ole के लिए यादृच्छिक रूप से उत्पन्न वेरिएबल और विधि नाम लागू किए गए।mapped और roles मॉड्यूल को whoami में समेकित किया गया।lMapped और lRoles मॉड्यूल को lWhoami में समेकित किया गया।iMapped और iRoles मॉड्यूल को iWhoami में समेकित किया गया।