
Advanced MSSQL penetration testing tool for lateral movement, command execution, NTLM relay, and brute-force attacks via linked servers and multiple authentication methods.
MSSqlPwner एक उन्नत और बहुमुखी पेनटेस्टिंग उपकरण है जिसे MSSQL सर्वरों के साथ सहजता से इंटरैक्ट करने और उन्हें हैक करने के लिए डिज़ाइन किया गया है। यह उपकरण इम्पैकेट पर आधारित है, जो हमलावरों को स्पष्ट-पाठ पासवर्ड, NTLM हैश और केर्बेरोस टिकटों का उपयोग करके डेटाबेस में प्रमाणीकरण करने की अनुमति देता है। MSSqlPwner के साथ, उपयोगकर्ता विभिन्न विधियों के माध्यम से कस्टम कमांड निष्पादित कर सकते हैं, जिनमें कस्टम असेंबली, xp_cmdshell, sp_oacreate (Ole Automation Procedures) और बहुत कुछ शामिल है।
यह उपकरण लिंक किए गए सर्वरों और संभावित प्रतिरूपणों पर पुनरावर्ती एनुमरेशन के साथ शुरू होता है ताकि कमांड निष्पादन के लिए सभी संभावित श्रृंखलाओं (चेन) को एकत्र किया जा सके।
इसके अलावा, MSSqlPwner उपकरण का उपयोग NTLM रिले क्षमताओं के लिए किया जा सकता है, जिसमें xp_dirtree, xp_subdirs, xp_fileexist जैसे फ़ंक्शन का उपयोग किया जाता है।
इस उपकरण का उपयोग पार्श्व आंदोलन आकलन (lateral movement assessments) और लिंक किए गए सर्वरों की खोज के लिए किया जा सकता है।
यदि प्रमाणित MSSQL उपयोगकर्ता के पास कुछ ऑपरेशन करने की अनुमति नहीं है, तो उपकरण सही श्रृंखला ढूंढ सकता है जो कमांड निष्पादन की अनुमति देगी। उदाहरण के लिए, यदि आपका उपयोगकर्ता वर्तमान संदर्भ में कमांड निष्पादित नहीं कर सकता है, तो उपकरण एक श्रृंखला बनाएगा जो एक लिंक सर्वर का उपयोग करेगी और बढ़े हुए विशेषाधिकारों के साथ हमारे सर्वर पर वापस कनेक्ट होगी।
mssqlpwner के साथ शुरुआत करना बहुत आसान है। आप इसे सीधे रिपॉजिटरी से खींचकर कर सकते हैं:
pip install 'mssqlpwner@git+https://github.com/ScorpionesLabs/MSSqlPwner.git'
या, pipx का उपयोग करके - और आपको ऐसा करना चाहिए -, यह प्रयास करें:
pipx install 'git+https://github.com/ScorpionesLabs/MSSqlPwner.git'
और अब आप अपने नए पसंदीदा उपकरण का उपयोग कर सकते हैं:
mssqlpwner -hashes ':0CB6948805F797BF2A82807973B89537' 'Administrator'@172.16.2.12 -windows-auth interactive
यह उपकरण कई प्रमाणीकरण विधियों द्वारा समर्थित है, जिनका वर्णन नीचे किया गया है।
यह उपकरण केवल परीक्षण उद्देश्यों के लिए सुरक्षा पेशेवरों और शोधकर्ताओं के लिए डिज़ाइन किया गया है, और इसका उपयोग अवैध उद्देश्यों के लिए नहीं किया जाना चाहिए।
interactive: लाइव निष्पादन के साथ उपकरण का इंटरैक्टिव रूप से उपयोग करने की अनुमति देता है।enumerate: लिंक किए गए सर्वरों और श्रृंखलाओं की गणना करता है।get-chain-list: श्रृंखलाओं की सूची प्राप्त करता है:
-filter-hostname HOSTNAME - विशिष्ट होस्टनाम के साथ फ़िल्टर किए गए परिणाम प्राप्त करता है।get-link-server-list: लिंक किए गए सर्वरों की सूची प्राप्त करता है।set-chain: श्रृंखला आईडी सेट करता है (केवल इंटरैक्टिव मोड के लिए!)
CHAIN - सेट करने के लिए श्रृंखला आईडी।set-link-server: लिंक सर्वर सेट करता है (केवल इंटरैक्टिव मोड के लिए!)
LINK - सेट करने के लिए लिंक सर्वर।get-rev2self-queries: SELF पर वापस जाने के लिए क्वेरी प्राप्त करता है (केवल इंटरैक्टिव मोड के लिए!)।get-adsi-provider-list: ADSI प्रदाता सूची प्राप्त करता है।rev2self: SELF पर वापस जाता है (केवल इंटरैक्टिव मोड के लिए!)।exec: स्थानीय सर्वर या लिंक किए गए सर्वरों पर exec का उपयोग करके कमांड निष्पादित करता है
COMMAND - निष्पादित करने के लिए कमांड।-command_execution_method - उपयोग करने के लिए कमांड निष्पादन विधि।
xp_cmdshell - xp_cmdshell प्रक्रिया का उपयोग करके कमांड निष्पादित करता है (डिफ़ॉल्ट)।sp_oacreate - Ole Automation Procedure प्रक्रिया का उपयोग करके कमांड निष्पादित करता है ("cmd /c something" जैसा उपयोग किया जाना चाहिए)।retrieve-password: ADSI प्रदाताओं से पासवर्ड पुनर्प्राप्त करता है।
-listen-port - सुनने के लिए पोर्ट (डिफ़ॉल्ट: 1389)।-adsi-provider - उपयोग करने के लिए ADSI प्रदाता (यदि परिभाषित नहीं है, तो स्वचालित रूप से चुनेगा)।-arch - उपयोग करने के लिए आर्किटेक्चर (यदि परिभाषित नहीं है, तो स्वचालित रूप से चुनेगा)।
x86 - x86 आर्किटेक्चर का उपयोग करें।x64 - x64 आर्किटेक्चर का उपयोग करें।ntlm-relay: एक सर्वर पर NTLM रिले को बलपूर्वक करने के लिए।
SMB_SERVER - रिले करने के लिए SMB सर्वर।-relay-method - उपयोग करने के लिए रिले विधि।
xp_dirtree - xp_dirtree प्रक्रिया का उपयोग करें (डिफ़ॉल्ट)।xp_subdirs - xp_subdirs प्रक्रिया का उपयोग करें।xp_fileexist - xp_fileexist प्रक्रिया का उपयोग करें (कुछ स्थितियों में इस मॉड्यूल को विशेषाधिकार प्राप्त श्रृंखला से निष्पादित किया जाना चाहिए)।custom-asm: कस्टम असेंबली का उपयोग करके प्रक्रियाएं निष्पादित करें
COMMAND - उपयोग करने के लिए कमांड/पथ या क्वेरी।-procedure-name - उपयोग करने के लिए प्रक्रिया का नाम (डिफ़ॉल्ट: execute_command)।
execute_command - कस्टम असेंबली का उपयोग करके कमांड निष्पादित करता है (डिफ़ॉल्ट)।run_query - कस्टम असेंबली का उपयोग करके क्वेरी निष्पादित करता है।run_query_system_service - सिस्टम उपयोगकर्ता के रूप में कस्टम असेंबली का उपयोग करके क्वेरी निष्पादित करता है (SqlSVC की तरह)।inject-custom-asm: कस्टम असेंबली का उपयोग करके कोड इंजेक्ट करें।
file_location - इंजेक्ट करने के लिए फ़ाइल स्थान।-procedure-name - उपयोग करने के लिए प्रक्रिया का नाम (डिफ़ॉल्ट: Inject)।direct-query: प्रत्यक्ष क्वेरी निष्पादित करेंQUERY - निष्पादित करने के लिए क्वेरी।-query-method - उपयोग करने के लिए क्वेरी विधि।
OpenQuery - OpenQuery प्रक्रिया का उपयोग करें (डिफ़ॉल्ट)।exec_at - exec AT प्रक्रिया का उपयोग करें।brute: ब्रूटफोर्स लॉन्च करें (टिकट, हैश और पासवर्ड प्राप्त कर सकता है)TARGETS_FILE - एक फ़ाइल जिसमें ब्रूट करने के लिए होस्ट और आईपी हैं।-ul - एक फ़ाइल जिसमें ब्रूट करने के लिए उपयोगकर्ता हैं।-pl - एक फ़ाइल जिसमें ब्रूट करने के लिए पासवर्ड हैं।-tl - एक फ़ाइल जिसमें ब्रूट करने के लिए टिकट हैं।-hl - एक फ़ाइल जिसमें ब्रूट करने के लिए हैश हैं।-link-name - उपयोग करने के लिए लिंक सर्वर का नाम-chain-id - उपयोग करने के लिए श्रृंखला आईडी-max-link-depth - उपयोग करने के लिए अधिकतम लिंक गहराई (डिफ़ॉल्ट: 10)-max-impersonation-depth - उपयोग करने के लिए अधिकतम प्रतिरूपण गहराई (डिफ़ॉल्ट: 10)-auto-yes - सभी प्रश्नों का स्वचालित रूप से हाँ में उत्तर दें (डिफ़ॉल्ट: False)-timeout - उपयोग करने के लिए टाइमआउट (डिफ़ॉल्ट: 30)