اختبار MSSQL بينار باستخدام Nmap

مرحبا اصدقاء! اليوم سنقوم بتنفيذ اختبار اختراق Microsoft SQL باستخدام البرامج النصية NMAP من أجل استرداد المعلومات الأساسية مثل اسم قاعدة البيانات وأسماء المستخدمين واسم الجداول وغيرها من داخل خادم SQL الذي يعمل على نظام التشغيل Windows. في مقالناالسابق كان لدينا إعداد خادم Microsoft SQL في نظام التشغيل Windows 10.
المتطلبات
المهاجم : كالي لينكس (NMAP)
الهدف : ويندوز 10 (MS SQL Server)
لنبدأ!!
مسح المنفذ 1433
افتح الطرفية في كالي لينكس وفحص IP الهدف للمنفذ 1433 باستخدام الأمر nmap.
nmap -p 1433 192.168.1.104
من الصورة الموضحة أدناه ، يمكنك ملاحظة أن المنفذ 1433 مفتوحلخدمة MS-SQL.

تعداد معلومات الإصدار

سيحاسب أمر موضح أدناه لتحديد معلومات التكوين والإصدار لمثيلات Microsoft SQL Server.
nmap -p 1433 –script ms-sql-info 192.168.1.104
في الصورة المحددة أدناه يمكنك مشاهدة نسخة التثبيت وتفاصيل خادم MS-SQL.

القوة الغاشمة المهاجم

سيعطي الأمر أدناه لتحديد اسم المستخدم وكلمة المرور من خلال هجوم القوة الغاشمة ضد MS-SQL عن طريق اسم المستخدم وكلمة المرور القاموس.
nmap -p 1433 –script ms-sql-brute –script-args userdb = / root / Desktop / user.txt ، passdb = / root / Desktop / pass.txt 192.168.1.104
في صورة specfied يمكنك ملاحظة أننا قد نجحنا في استرداد بيانات الاعتماد لمستخدمين اثنين:
  • اسم المستخدم: ignite وكلمة المرور: 12345
  • اسم المستخدم: sa وكلمة المرور: 123

تنفيذ استعلام MS-SQL

بمجرد استرداد بيانات اعتماد تسجيل الدخول ، استخدم بيانات الاعتماد هذه في البرنامج النصي NMAP لتنفيذ استعلام MS – SQL. سيعطي أدناه في الاعتبار تنفيذ استعلام معين "sp_database" مقابل خادم Microsoft SQL.
استعلام محدد "sp_databases" هو جزء من سجل مخزنة الإجراءات وتفريغ قائمة بأسماء قواعد البيانات من مثيل SQL Server.
nmap -p 1433 –script ms-sql-query –script-args mssql.username = sa، mssql.password = admin123، ms-sql-query.query = "sp_databases" 192.168.1.104
ومن ثم ، فقد أسقطت اثنين من أسماء قواعد البيانات "إشعال والماجستير" في حين أن الرئيسي هو اسم قاعدة البيانات الافتراضي لملقم MS_SQL.

تحقق من تكوين خادم Microsoft SQL

 سيحاول الأمر التالي وصف إعداد تكوين خادم Microsoft SQL بتمرير بيانات اعتماد تسجيل الدخول كوسيطة من خلال برنامج نصي nmap.
nmap -p 1433 –script ms-sql-config –script-args mssql.username = sa، mssql.password = admin123 192.168.1.104
وبالتالي يمكنك التحقق من إعداد التكوين من الصورة أدناه.

الحصول على قائمة الجداول

سيحاول الأمر التالي جلب قائمة الجداول من داخل خادم Microsoft SQL بتمرير بيانات الاعتماد لتسجيل الدخول كوسيطة من خلال برنامج نصي nmap.
nmap -p 1433 –script ms-sql-tables –script-args mssql.username = sa، mssql.password = admin123
192.168.1.104
وبالتالي يمكنك التحقق من قائمة الجداول من الصورة أدناه.

تعداد معلومات NetBIOS

سيعطى أدناه NMAP النصي تعداد المعلومات من خدمات Microsoft SQL البعيد مع تمكين مصادقة NTLM.
سيؤدي إرسال طلب مصادقة NTLM MS-TDS مع مجال غير صالح وبيانات اعتماد فارغة إلى استجابة الخدمة عن بعد مع رسالة NTLMSSP الكشف عن المعلومات لتضمين NetBIOS و DNS و OS إصدار الإصدار.
 nmap -p 1433 –script ms-sql-ntlm-info 192.168.1.104
ومن هنا من الصورة أدناه يمكنك قراءة معلومات NETBIOS عن بعد خادم مايكروسوفت SQL.

تفريغ كلمة السر التفريغ

يؤدي الأمر التالي إلى التخلص من تجزئة كلمة المرور من خادم MS-SQL بتنسيق مناسب للتصدع بواسطة أدوات مثل John-the-ripper. من أجل القيام بذلك يحتاج المستخدم إلى امتيازات DB المناسبة.
nmap -p 1433 –script ms-sql-dump-hashes –script-args mssql.username = sa، mssql.password = admin123 192.168.1.104
من الصورة المعينة ، يمكنك ملاحظة أنها ألقت قيمة تجزئة كلمات المرور الخاصة بالمستخدم: sa التي قمنا بتعدادها أعلاه.

تحديد مالك قاعدة البيانات

سيؤدي الأمر التالي إلى تنفيذ استعلام مقابل مثيلات Microsoft SQL Server لقائمة من قواعد البيانات التي يستطيع المستخدم الوصول إليها. من أجل القيام بذلك يحتاج المستخدم إلى امتيازات DB المناسبة. لذلك قمنا بتمرير اسم المستخدم وكلمة المرور كوسيطة من خلال البرنامج النصي NMAP.
nmap -p 1433 –script ms-sql-hashdbaccess –script-args mssql.username = sa، mssql.password = admin123 192.168.1.104
في صورة معينة يمكنك ملاحظة أنه تبين المستخدم سا هو صاحبقاعدة البيانات "تشعل".

Ms-SQL يسمح الخيار XP_cmdshell

و  xp_cmdshell  هي وظيفة من مايكروسوفت SQL Server الذي يسمح لمسؤولي النظام لتنفيذ أوامر نظام التشغيل. بشكل افتراضي ،  يتم تعطيل الخيار xp_cmdshell .
من الصورة الموضحة أدناه ، يمكنك أن ترى أننا قمنا بتمكين وظيفة xp_cmdshell عن طريق تنفيذ العبارة التالية داخل قاعدة البيانات الرئيسية.
EXEC sp_configure "xp_cmdshell"؛
الآن حفظ فوق إعدادات التكوين من خلال العبارة التالية:
 إعادة تكوين.

استغلال XP_cmdshell وظيفة

سيحاول الآن اتباع البرنامج النصي NMAP تشغيل أمر باستخدام الأمر command لـ Microsoft SQL Server في حالة تمكين xp_cmdshell في الخادم المستهدف.
nmap -p 1433 –script ms-sql-xp-cmdshell –script-args mssql.username = sa، mssql.password = admin123 192.168.1.104
من الصورة المعينة ، يمكنك التأكد من أننا نفذنا أمر نظام التشغيل:المستخدم الصافي كحساب مستخدم استرداد.

كلمة المرور فارغة تؤدي إلى الوصول غير المصرح به

إذا كان المشرف من مايكروسوفت SQL خادم ترك كلمة مرور فارغة لتسجيل الدخول ثم المهاجم يمكن تسجيل الدخول إلى مدير خادم قاعدة البيانات، من الوارد أدناه صورة يمكنك ان ترى نحن استكشاف خاصية حساب "سا" الخاص بالمستخدم.
حافظنا هنا على "مساحة فارغة" ككلمة مرور للمستخدم "sa". كما نعلم كتبها sa الافتراضي هو المشرف لخادم MS-SQL وكلمة المرور الخاصة به الآن هو مساحة فارغة بالتالي فرص جعل الوصول غير المصرح به إلى الخادم عن طريق المهاجم سوف تحصل الزيادات.

جعل الوصول غير المصرح به إلى خادم SQL

سيحاول برنامج نصي NMAP المصادقة على ملقمات Microsoft SQL باستخدام كلمة مرور فارغة لحساب النظام sysadmin (sa).
nmap -p 1433 –script ms-sql-empty 192.168.1.104
من الصورة الموضحة أدناه ، يمكنك إدراك أننا نجحنا في تسجيل الدخول باستخدام المستخدم: sa وكلمة مرور فارغة.
المؤلف : سانجيت كومار هو محلل أمن المعلومات بنتستر باحث الاتصال هنا

Commentaires

Posts les plus consultés de ce blog