![]() |
شرح أداة SQLninja تعد ثغرات SQL Injection من أخطر الثغرات المعرضة لها تطبيقات الويب بالوقت الحالي. هذا المقال هو تعريف بأداة Sqlninja التي تهدف لمساعدة الـ Penetration Tester في استغلال ثغرات SQL Injection في المواقع التي تستعمل Microsoft SQL Server مما يمكنهم بالنهاية من اختراق السيرفر المصاب عن بعد والحصول على تحكم كامل به. http://www.isecur1ty.org/images/stories/sqlninja.png مميزات الأداة: .عمل Remote Fingerprint ومشاهدة المعلومات الخاصة بالـ SQL Server: لتنفبذ هجوم فعال نحتاج الى بعض المعلومات التي ستساعدنا في تنفيذ الهجوم كاصدار سيرفر SQL, معرفة اسم المستخدم للخادم وصلاحياته ومعرفة اذا كانت xp_cmdshell مفعلة ام لا. تنفيذ هجوم Bruteforce لكلمة مرور مستخدم sa. عمل Privilege escalation الذي يمكننا من تحويل صلاحيات المستخدم الى Sysadmin Group في حالة الحصول على كلمة مرور sa. تفعيل xp_cmdshell لنتمكن من تنفيذ اوامر النظام على السيرفر. (هذا الخيار يعد من أهم الخيارات نظراً لخطورة هذه الدالة و ما تتيحه للمهاجم. لنجاح هذه التقنية يجب ان نملك صلاحيات sa وهناك طريقتين لتفعيل xp_cmdshell: استخدام استعلام sp_addextendedproc في SQL Server 2000 او sp_configure في خوادم SQL Server 2005 حيث تتطلب هذه التقنية وجود ملف xplog70.dll على السيرفر. تكوين استعلام خاص باستخدام sp_oacreate , sp_oamethod و sp_oadestroy وهذه التقنية لا تتطلب وجود الملف xplog70.dll. امكانية رفع اي ملف تنفيذي باستخدام طلبات HTTP فقط دون الحاجة الى استخدام بروتكول FTP. عمل TCP/UDP port scanning: لمعرفة المنافذ المفتوحة و الغير مفلترة من قبل الجدار الناري من أجل ستخدامها للحصول على remote shell على السيرفر. امكانية استخدام اتصال مباشر او عكسي للحصول على shell على السيرفر الهدف. تنفيذ DNS-tunneled shell اذا لم تتوفر منافذ TCP/UDP. استعمال مشروع Metasploit لاستخدام Meterpreter كباك دور او استخدام VNC Server للحصول على VNC Access للسيرفر المستهدف. وجود عدة تقنيات لتخطي الـ IDS أو IPS و هي: Query hex-encoding: حيث يتم تشفير كل استعلام بالـHEX قبل تنفيذه (هذه التقنية مفيدة جدا في حالة وجود فلترة لعلامة التنصيص ' و حقن الصفحات التي تسمح باستخدام الارقام فقط). Comments as separators: حيث يتم استخدام اشارة التعليق /**/ بدلا من المسافة في الاستعلامات. Random case Random URL encoding: حيث يتم تشفير الاستعلامات باستخدام url encoding. اعدادت البرنامج: يتم تخزين البيانات في ملف اعدادات خاص بالاداة. في حالة تحديد ملف اعدادت غير موجود فسيتم تكوين الملف بشكل اوتماتيكي و سيقوم البرنامج بأخذ الاعدادات الأساسية مثل الطريقة المشروحة في الفيديو الاول في الأسفل. سأقوم بشرح كيفية تغيير أهم الاعدادات بشكل يدوي لأننا لن نتمكن من تعديل كل ما نريد من الطريقة السابقة. لتفرض أن لدينا صفحة مصابة بثغرة SQL Injection على هذا الرابط ولنفرض ان الباراميتر id هو المصاب بالثغرة: نفتح ملف sqlninja.conf الموجود في مجلد البرنامج ونعدّل على الخيارات: host: اي بي الخاص بالهدف مثال: اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
اقتباس:
1. الاستخدامات الاساسية للاداة: اعداد الاداة حسب الطريقة الاولى. جمع بعض المعلومات عن السيرفر. عمل brute force لكلمة مرور حساب sa. رفع ملف تنفيذي و الحصول على شيل 2. الحصول على GUI ACCESS: شرح البداية من ثغرة sql injection و حتى الاتصال بالسيرفر بعد حقن VNC Server للحصول على GUI Access فيه باستخدام الميتاسبلويت. الأداة مبرمجة باستخدام لغة Perl وتستخدم رخصة GPLv2 و تعمل على كل من Linux, FreeBSD و MAC OS X. لمزيد من المعلومات: موقع sqlninja - صفحة التحميل المصـــدر |
جميله جدا الاداه :) مشكور اخي |
منور مووضوعي |
شكرا لك اخي على الشرح والاداةجميلة جدا بورك فيك اخي |
جميله جدا الاداه |
منورين موضوعي |
الساعة الآن 06:02 AM |
[ vBspiders.Com Network ]