
एक C# MS SQL टूलकिट जो आक्रामक टोही और पोस्ट-एक्सप्लॉइटेशन के लिए डिज़ाइन किया गया है।
SQLRecon एक Microsoft SQL Server टूलकिट है जो आक्रामक जासूसी और पोस्ट-एक्सप्लॉइटेशन के लिए डिज़ाइन किया गया है। प्रत्येक तकनीक का उपयोग कैसे करें, इसकी विस्तृत जानकारी के लिए विकी देखें।
आप SQLRecon की एक प्रति रिलीज़ पेज से डाउनलोड कर सकते हैं। वैकल्पिक रूप से, आप समाधान को स्वयं संकलित कर सकते हैं। यह रिपॉजिटरी को क्लोन करने, समाधान फ़ाइल पर डबल-क्लिक करने और बिल्ड करने जितना सीधा होना चाहिए।
रोकथाम, पहचान और शमन मार्गदर्शन आप सभी रक्षकों के लिए भी प्रदान किया गया है।
IBM सुरक्षा इंटेलिजेंस वेबसाइट पर मेरी ब्लॉग पोस्ट देखें। यदि आप वीडियो पसंद करते हैं, तो ब्लैक हैट पर मेरी प्रस्तुति देखें।
गणना मॉड्यूल को प्रमाणीकरण प्रदाता की आपूर्ति की आवश्यकता नहीं होती है। इन मॉड्यूल को गणना मॉड्यूल फ़्लैग (/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 Microsoft SQL Server के साथ इंटरैक्ट करने के लिए विभिन्न प्रकार के प्रमाणीकरण प्रदाताओं (`/a:, /auth:`) का समर्थन करता है।```
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.
Pth - Authenticate using an NT hash (pass-the-hash) over raw TDS/NTLM. Elevated privileges or SeImpersonate is not required.
/h:, /host: -> SQL server hostname or IP. Multiple hosts supported.
/d:, /domain: -> NETBIOS domain name.
/u:, /username: -> Domain username.
/hash: -> NT hash (32 hex chars, 8846f7eaee8fb117ad06bdd830b7586c) or LM:NT format.
/h:, host:) आवश्यक है और एक या अधिक SQL सर्वरों की अनुमति देता है। यदि आप कई SQL सर्वरों के विरुद्ध एक मॉड्यूल निष्पादित करना चाहते हैं, तो होस्ट को अल्पविराम से अलग करें, उदाहरण के लिए /h:SQL01,10.10.10.2,SQL03।master डेटाबेस से जुड़ता है, हालाँकि, डेटाबेस (/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 सर्वर के एक या अधिक उदाहरणों के विरुद्ध निष्पादित किए जाते हैं। इन मॉड्यूल को मॉड्यूल फ़्लैग (/m:, /module:) में पास किया जाना चाहिए।
होस्ट फ़्लैग (/h:, host:) आवश्यक है और एक या अधिक SQL सर्वरों की अनुमति देता है। यदि आप कई SQL सर्वरों के विरुद्ध एक मॉड्यूल निष्पादित करना चाहते हैं, तो होस्ट को अल्पविराम से अलग करें, उदाहरण के लिए /h:SQL01,10.10.10.2,SQL03।
विकी में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो SQL Server के एक या अधिक उदाहरणों पर निष्पादन का समर्थन करता है।
प्रतिरूपण मॉड्यूल Microsoft SQL सर्वर के एक या अधिक उदाहरणों के विरुद्ध, एक प्रतिरूपित SQL उपयोगकर्ता के संदर्भ में निष्पादित किए जाते हैं। सभी प्रतिरूपण मॉड्यूल में निम्नलिखित न्यूनतम आवश्यकताएँ हैं:
/i:, /iuser:)।/m:, /module:)।विकी में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो Impersonation का उपयोग करके निष्पादन का समर्थन करता है।
लिंक्ड मॉड्यूल लिंक्ड Microsoft SQL सर्वर के एक या अधिक उदाहरणों पर निष्पादित किए जाते हैं। सभी लिंक्ड मॉड्यूल में निम्नलिखित न्यूनतम आवश्यकताएँ हैं:
/l:, /link:)। लिंक फ़्लैग एक या अधिक लिंक्ड SQL सर्वरों की अनुमति देता है। उदाहरण के लिए, यदि SQL01 का SQL02 से लिंक है, और SQL01 का DB04 से लिंक है, तो आप लिंक किए गए होस्ट को अल्पविराम से अलग कर सकते हैं, और प्रत्येक लिंक किए गए SQL सर्वर पर एक मॉड्यूल निष्पादित किया जाएगा, उदाहरण के लिए /l:SQL02,DB04।/m:, /module:)।विकी में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो Linked SQL Server के एक या अधिक उदाहरणों पर निष्पादन का समर्थन करता है।
लिंक्ड चेन मॉड्यूल लिंक्ड सर्वर श्रृंखला में अंतिम Microsoft SQL सर्वर पर निष्पादित किए जाते हैं। सभी लिंक्ड चेन मॉड्यूल में निम्नलिखित न्यूनतम आवश्यकताएँ हैं:
/l:, /link: फ़्लैग में एक लिंक्ड SQL सर्वर श्रृंखला निर्दिष्ट की जानी चाहिए। यदि SQL01 का SQL02 से लिंक है, और SQL02 का PAYMENTS01 से लिंक है, और आप PAYMENTS01 पर एक मॉड्यूल निष्पादित करना चाहते हैं, तो तर्क होगा /l:SQL02,PAYMENTS01।/chain फ़्लैग शामिल होना चाहिए।/m:, /module:)।विकी में प्रत्येक मॉड्यूल का उपयोग करने के विवरण हैं जो Linked SQL Server Chain में प्रदान किए गए अंतिम SQL सर्वर पर निष्पादन का समर्थन करता है।
SQLRecon के पास कई मॉड्यूल हैं जो Microsoft System Center Configuration Manager (SCCM) और Microsoft Endpoint Configuration Manager (ECM) की गणना और हमला करने में सहायता कर सकते हैं। SCCM या ECM सर्वर के पास स्थानीय या दूरस्थ रूप से उजागर Microsoft SQL डेटाबेस होना चाहिए।
SCCM मॉड्यूल को SCCM मॉड्यूल फ़्लैग (/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 के विस्तार में रुचि रखते हैं, तो कृपया विकी में योगदान और विस्तार अनुभाग देखें।
यदि आपके पास कोई सुझाव या विचार हैं, तो मैं आपको एक मुद्दा खोलने के लिए प्रोत्साहित करता हूँ।
लक्ष्य SQLRecon में लगातार सुधार करना है। नीचे कुछ नियोजित शोध क्षेत्र सूचीबद्ध हैं:
निम्नलिखित लोगों ने SQLRecon के विभिन्न पहलुओं में प्रत्यक्ष या अप्रत्यक्ष रूप से योगदान दिया है।
/auth:pth) जोड़ा गया। PTHTdsConnection, NtlmHelper, और PthState के माध्यम से कच्चे TDS/NTLM प्रमाणीकरण को लागू करता है ताकि सभी मॉड्यूल सादे पाठ क्रेडेंशियल या ऊंचे विशेषाधिकारों के बिना काम करें। प्रमुख सुधारों में लॉगिन के बाद ANSI सत्र विकल्प, मल्टी-पैकेट TDS विभाजन, समवर्ती CLR कनेक्शनों के लिए TCP प्रवाह डेडलॉक हैंडलिंग और OPENQUERY ब्रैकेट नोटेशन संगतता शामिल हैं।_linkedChainRpcQuery में बग फिक्स।System.Byte[] को ठीक से परिवर्तित और कंसोल पर मुद्रित नहीं किया गया था।credentialobjectss और proxies मॉड्यूल जोड़े गए (jakxx)।agentcmd में प्रॉक्सी समर्थन जोड़ा गया (jakxx)।role गणना ठीक से काम न करने की समस्या हल की गई (passthehashbrowns)।impersonate मॉड्यूल ठीक से काम न करने की समस्या हल की गई (passthehashbrowns)।EnableRpc/DisableRpc उपलब्ध न होने की समस्या हल की गई (passthehashbrowns)।XpCmd मॉड्यूल काम न करने की समस्या हल की गई, अब आउटपुट का भी समर्थन करता है (passthehashbrowns)।EXEC AT क्वेरी में कोष्ठक के साथ संलग्न किए जाने पर समस्या उत्पन्न होती है, यह समस्या हल की गई; यह समस्या तब होती है जब लिंक किया गया सर्वर नाम IP पता या FQDN होता है (passthehashbrowns)।LinkedChainQuery फ़ंक्शन सामने "0" के साथ एक नया सरणी बनाता है और फिर एक अलग फ़ंक्शन में मौजूदा तर्क को कॉल करता है, जिसे अब LinkedChainQueryRecurse कहा जाता है (passthehashbrowns)।impersonate मॉड्यूल में sysadmin मामलों को सही ढंग से संभालने की समस्या ठीक की गई (n3rada)।scriptdata और cidata लागू किए गए (G0ldenGunSec)।auditstatus मॉड्यूल बनाया गया (chryzsh)।whoami मॉड्यूल में वे डेटाबेस जोड़े गए जिन तक उपयोगकर्ता की पहुँच है (JBalanza)।adsi मॉड्यूल में एक समस्या सुधारी गई जहाँ LDAP सर्वर को msdb डेटाबेस में जोड़ने की आवश्यकता नहीं है, साथ ही बनाया गया फ़ंक्शन अब ठीक से हटा दिया जाता है।/host या /h फ़्लैग में आपूर्ति किए गए एकाधिक SQL सर्वरों के विरुद्ध निष्पादन अब अल्पविराम द्वारा अलग किए गए मानों का उपयोग करके समर्थित है।/link या /l फ़्लैग में आपूर्ति किए गए एकाधिक लिंक किए गए SQL सर्वरों के विरुद्ध निष्पादन अब अल्पविराम द्वारा अलग किए गए मानों का उपयोग करके समर्थित है।/lhost को /link में बदल दिया गया।s' मॉड्यूल हटा दिए गए और SCCM मॉड्यूल के लिए /s, /sccm स्विच बनाया गया।DecryptCredentials के अपवाद के साथ, सभी SCCM मॉड्यूल में प्रतिरूपण समर्थन जोड़ा गया।info नामक एक नया एनुमरेशन (/enum) मॉड्यूल जोड़ा गया जो UDP प्रोटोकॉल का उपयोग करके SQL सर्वर जानकारी, जिसमें इंस्टेंस नाम और TCP पोर्ट शामिल है, प्राप्त करने के लिए एक अप्रमाणित संदर्भ का उपयोग करने में सक्षम है।adsi निष्पादन LDAP सर्वर को नहीं हटा रहा था।adsi से एजेंट जॉब निष्पादन हटा दिया गया, openquery/rpc के पक्ष में।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 कर दिया गया।SetAuthenticationType.cs कंस्ट्रक्टर को EvaluateAuthenticationType नामक एक नई विधि में बदल दिया गया।SetAuthenticationType.cs में CreateSqlConnectionObject बनाया गया जो SQLRecon को एक साथ कई SQL कनेक्शन ऑब्जेक्ट का समर्थन करने के लिए विस्तारित करता है।ADSI.cs बनाया गया, जो यहाँ वर्णित ADSI क्रेडेंशियल हमलों को शामिल करता है।adsi, iAdsi, और lAdsi मॉड्यूल बनाए गए।lLinks और iLinks मॉड्यूल बनाए गए।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 मॉड्यूल हटा दिया गया।lDisableRpc मॉड्यूल हटा दिया गया।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 पोर्ट प्रदान किए जा सकें।TestAuthentication.cs से Environment.Exit हटा दिया गया।AgentJobs.cs बनाया गया।agentStatus बनाया गया।iAgentStatus बनाया गया।lAgentStatus बनाया गया।agentCmd बनाया गया।iAgentCmd बनाया गया।clr बनाया गया।iEnableClr बनाया गया।iDisableClr बनाया गया।iClr बनाया गया।iWhoami बनाया गया।iMapped बनाया गया।iRoles बनाया गया।lEnableRpc बनाया गया।lDisableRpc बनाया गया।lWhoami बनाया गया।lEnableXp बनाया गया।lDisableXp बनाया गया।lEnableOle बनाया गया।lDisableOle बनाया गया।lSmb मॉड्यूल बनाया गया।lWhoami मॉड्यूल बनाया गया।lRoles मॉड्यूल बनाया गया।oldCmd मॉड्यूल ठीक किया गया।iOleCmd मॉड्यूल ठीक किया गया।lDatabases मॉड्यूल ठीक किया गया।lTables मॉड्यूल ठीक किया गया।/v, /verbose फ़्लैग वैकल्पिक है और रिमोट होस्ट पर निष्पादित करने से पहले एक मॉड्यूल द्वारा निष्पादित सभी SQL क्वेरी को प्रदर्शित करता है। इसका एक उदाहरण विकी में पाया जा सकता है।| मॉड्यूल नाम | विवरण | प्रतिरूपण | लिंक्ड निष्पादन | लिंक्ड चेन निष्पादन | विशेषाधिकार प्राप्त संदर्भ की आवश्यकता है |
|---|
AuditStatus | जाँचें कि क्या 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 /subsystem:(OPTIONAL) /proxy:(OPTIONAL) | एजेंट जॉब का उपयोग करके एक सिस्टम कमांड निष्पादित करें। वैकल्पिक रूप से /subsystem: के साथ एक सबसिस्टम निर्दिष्ट करें, यह डिफ़ॉल्ट रूप से 'PowerShell' है। वैकल्पिक रूप से /proxy: के साथ एक SQL Agent प्रॉक्सी खाता निर्दिष्ट करें। | ✅ | ✅ | ✅ | ✔️ |
Adsi /adsi:SERVER_NAME /lport:LOCAL_PORT | लिंक्ड ADSI सर्वर से स्पष्ट पाठ ADSI क्रेडेंशियल प्राप्त करें। | ✅ | ✅ | ✅ | ✔️ |
Clr /dll:DLL /function:FUNCTION | कस्टम संग्रहीत प्रक्रिया में एक .NET असेंबली लोड और निष्पादित करें। | ✅ | ✅ | ✅ | ✔️ |
CredentialObjects | sys.credentials से क्रेडेंशियल ऑब्जेक्ट प्राप्त करें। | ✅ | ✅ | ✅ | ✔️ |
OleCmd /c:COMMAND /subsystem:(OPTIONAL) | OLE ऑटोमेशन प्रक्रियाओं का उपयोग करके एक सिस्टम कमांड निष्पादित करें। | ✅ | ✅ | ✅ | ✔️ |
Proxies | SQL agent प्रॉक्सी जानकारी प्राप्त करें। | ✅ | ✅ | ✅ | ✔️ |
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 डेटाबेस से पूरी तरह हटाता है। | ✅ | ✔️ |
ScriptData | SCCM में चलाने के लिए कॉन्फ़िगर की गई सभी स्क्रिप्ट लौटाता है। | ✅ | ✔️ |
CIData | SCCM में स्क्रिप्ट चलाने के लिए कॉन्फ़िगर किए गए सभी CI लौटाता है। | ✅ | ✔️ |
DecryptCredentials मॉड्यूल पुनर्प्राप्त SCCM क्रेडेंशियल ब्लॉब को डिक्रिप्ट करने का प्रयास करता है। यह मॉड्यूल SCCM सर्वर पर उच्च-अखंडता या SYSTEM प्रक्रिया में चलाया जाना चाहिए।AddAdmin मॉड्यूल निर्दिष्ट खाते को SCCM के भीतर 'पूर्ण प्रशासक' तक बढ़ाता है। यदि लक्ष्य उपयोगकर्ता पहले से ही SCCM उपयोगकर्ता है, तो यह मॉड्यूल उन्नयन के लिए आवश्यक विशेषाधिकार जोड़ेगा। दो तर्क प्रदान करें: यदि वर्तमान में SQLRecon प्रक्रिया निष्पादित करने वाले उपयोगकर्ता को SCCM में 'पूर्ण प्रशासक' के रूप में जोड़ना चाहते हैं तो /user:current /sid:current का उपयोग करें। यदि किसी अन्य उपयोगकर्ता को SCCM में 'पूर्ण प्रशासक' के रूप में जोड़ना चाहते हैं, तो उनका डोमेन उपयोगकर्ता नाम और पूर्ण SID /user:DOMAIN\USERNAME /sid:S-1-5-... निर्दिष्ट करें। इस मॉड्यूल को sysadmin या समान विशेषाधिकारों की आवश्यकता है क्योंकि SCCM डेटाबेस तालिकाओं में लिखना आवश्यक है।RemoveAdmin मॉड्यूल किसी उपयोगकर्ता के विशेषाधिकारों को हटाता है या किसी नए जोड़े गए उपयोगकर्ता को SCCM डेटाबेस से पूरी तरह हटाता है। यदि उपयोगकर्ता पहले से किसी क्षमता में मौजूद था, तो यह मॉड्यूल केवल उन तीन भूमिकाओं को हटाता है जो अनुमति तालिका में लिखने के माध्यम से खाते में जोड़ी गई थीं। इस कमांड को चलाने के लिए sAddAdmin कमांड के आउटपुट द्वारा प्रदान किए गए तर्कों का उपयोग करें। इस मॉड्यूल को sysadmin या समान विशेषाधिकारों की आवश्यकता है क्योंकि SCCM डेटाबेस तालिकाओं में लिखना आवश्यक है।ModuleHandler.cs के भीतर व्यक्तिगत विधियों में तर्क तर्क स्थानांतरित किया गया।Queries.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 में शामिल किया गया।