مقال : تنفيذ عملية Auditing Databases باستخدام اداة nmap
بسم الله الرحمن الرحيم
كنا تحدثنا سابقا في مقال عن Scripting Engine الخاصة بأداة nmap وكيف غيرت هذه السكربتات اداة nmap بشكل كلي من مجرد اداة فحص لها وظائف محدده مهما كانت واسعه الى اداة يمكن ان تقوم بأي شي عن طريق برمجه سكربتات للأداة تنفيذ اثناء عملية الفحص , المطورين حول العالم قاموا ببرمجه العديد من السكربتات لها وظائف متنوعة ومختلفه , اليوم سوف اركز على تلك السكربتات التي تخص قواعد البيانات وكيف يمكننا الاستفاده منها اثناء فحص الشبكة وتطبيق هذه السكربتات لأستخراج معلومات قواعد البيانات .
Auditing Databases
تطبيقات الويب او اي برمجيات بالتاكيد تحتاج الى قواعد بيانات لتيم تخزين المعلومات بداخلها , قواعد البيانات تعتبر هي المخزن التي يخزن بها البيانات وججم ونوع القاعده يعتمد على نوع التطبيق المتصل بالقاعده قد ربما تصل الجداول الموجوده في القاعده الي ملايين الجداول والسجلات بالنسبة للتطبيقات الضخمه والعملاقة , على سبيل المثال : تطبيق الفيس بوك لو نتأمل للحضات عن هذا التطبيق العملاق والضخم سوف تجد ان كل شئ يسجل من ضغطات like ومشاركة للمنشورات والصور والاصدقاء واصدقاء الاصدقاء والرسائل والمعلومات الشخصيه و و و الكثير من الامور التي تحتاج الى عده قواعد بيانات وكل قاعده لها مئات السجلات والجداول . قواعد البيانات توجد بداخل سيرفرات خاصة بها تسمى Database servers وهي عباره عن سيرفرات تحتوي على احجام تخزين هائلة ويتم وضع القواعد بها ويوجد هناك programming APIs تسمح للمطورين ان يتصلوا بالقاعده وتخزين البيانات وتنفيذ الاستعلامات والعديد من المهام , قد يكون التطبيق في سيرفر وقاعده البيانات في سيرفر اخر وبينهم لغه استعلامية وبعض من الدوال المستخدمه للتفاهم فيما بينهم .
هنا يأتي دور اداة nmap عندما نقوم بفحص شبكة سوف نمسح السيرفرات وجميع اجهزة الشبكة بما فيها الروترات والاكسيس بوينت وكل جهاز يحمل ايبي وسوف نمر بسيرفرات قواعد البيانات فكيف يمكن ان نركز على هذه السيرفرات وماهي السكربتات الموجوده في اداة nmap التي قد تفيديني لعملية Auditing Databases هذا ما سنناقشة في هذا المقال , وسوف نركز على MySQL , MS SQL, Oracle هي اشهر قواعد بيانات مستخدمه حاليا .
سوف ابدا بقواعد البيانات من نوع MySQL وسوف استعرض لكم بعض السكربتات .
استعراض قواعد البيانات داخل السيرفر :
سيرفرات قواعد بيانات MySQL تحتوي على اكثر من قاعده مخزنة بداخله , يمكن بواسطة سكربت mysql-databases استعراض ماهي القواعد الموجوده في السيرفرات , تمت كتابة هذا السكربت ليساعد على استعراض القواعد الموجوده بداخل السيرفرات .
nmap -p3306 –script mysql-databases –script-args mysqluser=root,mysqlpass=123 192.168.1.13
من المفترض ان تظهر جميع القواعد الموجوده بداخل السيرفر , كما تلاحظون في الصوره ظهرت قاعدة البيانات التي يحتويها السيرفر عندي وهو لا يحتوي الا على قاعده واحده .
ماهي الفائدة من هذا السكربت , اذا كنت اعرف اليوزرنيم والباسورد سوف اقوم بالدخول الى سيرفر MySQL واقوم بالاستعلام وانتهت المشكلة , هذا صحيح ولكن لا ننسى الوظيفة الاساسية لأداة nmap وهي مسح الشبكة وايضا يمكن مسح مئات الألوف من عناوين الايبي , لذلك يمكن دمج السكربت في امر واوحد لجمع معلومات العديد من الاجهزه قد تصل الى عشرات الاجهزه مره واحده .
يمكن ايضا تنفيذ الامر في حالة عدم وجود باسورد على السيرفر بواسطة السكربت mysql-empty-password
nmap -p3306 –script mysql-empty-password,mysql-databases 192.168.1.13
استعراض المستخدمين داخل سيرفر MySQL :
MySQL تدعم تعدد المستخدمين واعطاء كل مستخدم صلاحيات وقواعد خاصة به ليعمل عليها , نستطيع بواسطة سكربت mysql-users استعراض المستخدمين الموجودين في السيرفر
استعراض MySQL variables :
تحتوي MySQL على مجموعة من المتغيرات ولكل متغير القيمة الخاصة به , اذا اردنا استعراض المتغيرات مع قيمها سوف نستخدم سكربت mysql-variables :
nmap -p3306 –script=mysql-variables –script-args mysqluser=root,mysqlpass=123 192.168.1.13
سوف تظهر لك قائمة طويلة جدا من المتغيرات مع القيم الخاصه بها .
تنفيذ هجوم Brute force على سيرفر MySQL من اداة nmap :
يمكننا تنفيذ هجوم التخمين بواسطة سكربت mysql-brute عن طريق استخدام السكربت بواسطة الامر التالي :
nmap -p3306 –script=mysql-brute –script-args userdb=/root/username.txt,passdb=/root/password.txt 192.168.1.13
تنفيذ هجوم Brute force على Oracle من اداة nmap :
مدراء قواعد البيانات احيانا يحتاجون ان يعرفون الباسوردات الضعيفه لمستخدمين القاعده , كذلك مختبري الاختراق يجدون فائدة كبيره من الباسوردات الضعيفه ويستغلونها لصالحهم عن طريق تنفيذ هجمات التخمين سوف نستخدم سكربت oracle-brute الذي ساعدنا على تخمين كلمات المرور في قواعد بيانات Oracle
nmap -sV –script=oracle-brute –script-args userdb=/root/username.txt,passdb=/root/password.txt 192.168.1.183
تخمين SID names لقواعد بيانات Oracle :
يمكننا استخراج اسماء SID names في سيرفرات Oracle باستخدام سكربت oracle-sid-brute :
nmap -sV –script=oracle-sid-brute –script-args oraclesids=/root/pen-oracles/sid.txt 192.168.1.13
استخراج معلومات MS SQL server :
سكربت ms-sql-info يمكننا التقاط معلومات عن سيرفرات MS SQL وهذا مفيد جدا في مرحلة جمع المعلومات .
nmap -p1433 –script ms-sql-info 192.168.122.11
تنفيذ هجمات التخمين على سيرفرات MS SQL باستخدام اداة Nmap :
يمكن تنفيذ هجمات التخمين على سيرفرات MS SQL بواسطة سكربت ms-sql-brute :
nmap -p1433 –script ms-sql-brute –script-argsuserdb=/var/usernames.txt,passdb=/var/passwords.txt 192.168.111.111
ما زال هناك العديد والعديد من السكربتات الموجوده ضمن اداة namp وكذلك يوجد العديد من السكربتات لقواعد بيانات اخرى غير المذكورة مثل CouchDB , MongoDB .
ملاحظة : يجب عليك التركيز على تغيير المتغيرات مثل عنوان الايبي في المثال وكذلك البورت المستخدم في الخيار p- .
للمزيد من السكربتات يمكنك زيارة الموقع الرسمي للسكربتات من هنا http://nmap.org/nsedoc/index.html .
شرح جميل أخي علي , أحسنت
شرح عميق واكثر من رائع يعطيك العافيه ويا ليت تشرح اكثر عن nmap
اتمني ان التقي بك انا ابحث واريد ان اتعمق في هذا الجال معاك واحد من جيرانك اخوة خطاط وانت تعرفة قطا ؟