
أداة متقدمة لاختبار اختراق MSSQL للحركة الجانبية، وتنفيذ الأوامر، وترحيل NTLM، وهجمات القوة العمياء عبر الخوادم المرتبطة وطرق المصادقة المتعددة.
MSSqlPwner هي أداة اختبار اختراق متقدمة ومتعددة الاستخدامات مصممة للتفاعل بسلاسة مع خوادم MSSQL واختراقها. تعتمد هذه الأداة على مكتبة Impacket، مما يسمح للمهاجمين بالمصادقة على قواعد البيانات باستخدام كلمات مرور نصية واضحة، وتجزئات NTLM، وتذاكر Kerberos.
باستخدام MSSqlPwner، يمكن للمستخدمين تنفيذ أوامر مخصصة عبر طرق متعددة، بما في ذلك التجميع المخصص (Custom Assembly)، وxp_cmdshell، وsp_oacreate (إجراءات أتمتة OLE)، وغيرها الكثير.
تبدأ الأداة بالتعداد التكراري (Recursive Enumeration) على الخوادم المرتبطة (Linked Servers) وعمليات انتحال الهوية الممكنة (Impersonations) من أجل جمع جميع السلاسل المحتملة لتنفيذ الأوامر.
أيضًا، يمكن استخدام أداة MSSqlPwner لقدرات إعادة توجيه NTLM (NTLM Relay)، وذلك باستخدام وظائف مثل xp_dirtree وxp_subdirs وxp_fileexist.
يمكن استخدام هذه الأداة لتقييمات الحركة الجانبية (Lateral Movement) واستكشاف الخوادم المرتبطة.
إذا لم يكن لدى مستخدم 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 - ملف يحتوي على المضيفين وعناوين IP للهجوم.-ul - ملف يحتوي على المستخدمين للهجوم.-pl - ملف يحتوي على كلمات المرور للهجوم.-tl - ملف يحتوي على التذاكر للهجوم.-hl - ملف يحتوي على التجزئات للهجوم.-link-name - اسم الخادم المرتبط المراد استخدامه-chain-id - معرف السلسلة المراد استخدامه-max-link-depth - العمق الأقصى للخادم المرتبط المراد استخدامه (الافتراضي: 10)-max-impersonation-depth - العمق الأقصى لانتحال الهوية المراد استخدامه (الافتراضي: 10)-auto-yes - الإجابة تلقائيًا بنعم على جميع الأسئلة (الافتراضي: False)-timeout - المهلة الزمنية المراد استخدامها (الافتراضي: 30)توفر MSSqlPwner فرصًا لتقييمات الحركة الجانبية (Lateral Movement) واستكشاف الخوادم المرتبطة. في السيناريوهات التي تفتقر فيها الجلسة الحالية إلى صلاحيات إدارية، تحاول الأداة العثور على سلسلة تعمل على رفع صلاحياتها الخاصة عبر الخوادم المرتبطة. إذا كانت الجلسة على خادم مرتبط تمتلك صلاحيات أعلى، يمكن للأداة التفاعل مع الخادم المرتبط وتنفيذ استعلام مرتبط يعود إلى المضيف بصلاحيات مرتفعة، مما يتيح الحركة الجانبية مع الخادم الهدف.
مدعومة بعدة طرق مصادقة، بما في ذلك:
تتكيف الأداة مع سيناريوهات وبيئات متنوعة، وتتحقق من فعالية آليات المصادقة.
ارفع تقييمات بيئة MSSQL الخاصة بك إلى المستوى التالي مع قوة وتنوع MSSqlPwner. اكتشف إمكانيات جديدة للحركة الجانبية، الاستعلام الخفي، والتقييمات الأمنية الدقيقة باستخدام أداة MSSqlPwner.
# الوضع التفاعلي
mssqlpwner corp.com/user:[email protected] -windows-auth interactive