كيف استطعت اختراق موقع جامعه والدخول لقواعد البيانات

اختراق موقع الجامعة والوصول إلى قواعد البيانات
في البداية، كانت المسابقة التي نظمتها الجامعة اختبارًا لاختراق النظام الأمني الخاص بالموقع الجامعي. من خلال تجربتي، تمكنت من الفوز بالمركز الأول، وسأوضح لكم هنا الخطوات التي اتبعتها للوصول إلى قاعدة البيانات، مع التأكيد على أننا لا نتحمل مسؤولية أي استخدام غير قانوني لهذه المعلومات.
1. جمع المعلومات (Information Gathering)
أول مرحلة في اختبار الاختراق هي جمع المعلومات حول الهدف، وهنا كان الهدف هو موقع الجامعة. وفي جمع المعلومات بنركز على نقطتين مهمتين:
- المعلومات النشطة (Active Information Gathering): زي الفحص المباشر للسيرفرات والخدمات باستخدام أدوات مثل Nmap أو Netcat.
- المعلومات السلبية (Passive Information Gathering): زي البحث عن أي بيانات موجودة على الإنترنت عن الموقع مثل تقارير أمان، أو معلومات WHOIS.
الأدوات المستخدمة:
- Nmap: دي أداة رئيسية للفحص وتحليل الشبكات. أنا استخدمتها علشان أكتشف الخدمات اللي شغالة على السيرفر. زي ما ذكرت قبل كده، استخدمت أنواع مختلفة من الفحص زي SYN Scan و TCP Connect Scan علشان أعرف البورتات المفتوحة والخدمات اللي بتشغلها.
nmap -sS -p- -PN 172.16.45.135
: دا فحص لاكتشاف البورتات المفتوحة باستخدام SYN Scan.nmap -sX -p- -PN 172.16.45.129
: فحص Xmas Tree Scan لاكتشاف الردود غير التقليدية من السيرفر.nmap -sU 172.16.45.129
: فحص UDP Scan لاستكشاف البروتوكولات الUDP اللي ممكن تكون شغالة على السيرفر.
النتائج:
من الفحص، لقيت إن بورت 80 (الخاص بالـ HTTP) مفتوح، مما يعني إن السيرفر بيستقبل طلبات HTTP من الشبكة الخارجية، لكن كان فيه Firewall بيني وبين الوصول المباشر لقاعدة البيانات.
2. استغلال ثغرات تطبيق الويب
بعد ما عرفت إن فيه جدار حماية مش هيسمحلي بالتواصل المباشر مع قاعدة البيانات، قررت أستغل ثغرة في تطبيق الويب علشان أقدر أخترق النظام من خلاله.
الأدوات المستخدمة:
- Acunetix & W3af: أدوات فحص الثغرات في تطبيقات الويب. دي بتساعدني في العثور على ثغرات زي SQL Injection أو XSS.
- Metasploit: أداة مشهورة للهجوم والاختراق. بتساعد في الفحص والتطوير، وأحيانا في استخدام Exploit جاهز لثغرة موجودة في النظام.
3. اكتشاف ثغرة SQL Injection
خلال الفحص، اكتشفت إن التطبيق فيه ثغرة من نوع Blind SQL Injection في الرابط الخاص بعرض المقالات (موجود فيه متغير id
):
plaintextCopyEdithttp://www.example.com/article.php?id=1
ثغرة Blind SQL Injection بتسمح لي بتمرير استعلامات SQL عن طريق الإدخال في الـ URL. المشكلة هنا إن الـ SQL Query ممكن ما يكونش بيرجع لي نتائج ظاهرة في الصفحة، لكن ممكن أستغل التغيير في سلوك التطبيق لإجراء استعلامات SQL موجهة.
4. استخدام SQLMap لاستغلال الثغرة
بعد اكتشاف الثغرة، استخدمت أداة SQLMap لاختراق قاعدة البيانات. SQLMap هي أداة متخصصة في SQL Injection، وتسمح لي بعمل Automated Exploitation للثغرات.
الأمر:
bashCopyEditsqlmap.py -u http://www.example.com/article.php?id=1 --dbs
النتيجة كانت إنها أظهرت لي جميع قواعد البيانات المتاحة على السيرفر، بما في ذلك قاعدة البيانات التي تحتوي على بيانات الطلاب.
5. جمع معلومات إضافية
بعدما حصلت على قاعدة البيانات، قررت أستعمل SQLMap مرة تانية علشان أطلع معلومات أكتر عن هيكل قاعدة البيانات ونظامها:
bashCopyEditsqlmap.py -u http://www.example.com/article.php?id=1 --fingerprint
النتيجة بينتلي إن قاعدة البيانات هي Oracle 10g، والسيرفر بيشتغل على Windows Server 2008، والموقع مكتوب بلغة ASP.NET. دي معلومات هامة لمرحلة الهجوم التالية.
6. استخراج البيانات
كنت عاوز أطلع بيانات حساسة من قاعدة البيانات، زي بيانات الطلاب. استخدمت SQLMap لاسترجاع الجداول داخل قاعدة البيانات:
bashCopyEditsqlmap.py -u http://www.example.com/article.php?id=1 -D COMPUTER --tables
النتيجة كانت إظهار جميع الجداول المتاحة داخل قاعدة البيانات، ومن خلالها لقيت جداول فيها معلومات مثل أسماء الطلاب ودرجاتهم.
7. رفع الصلاحيات
بعدما نجحت في استخراج البيانات، كنت محتاج أرفع الصلاحيات للوصول إلى معلومات أكتر. دا بيتم عادةً من خلال SQL Injection علشان أقدر أسحب كلمات السر أو معلومات تخص المستخدمين في النظام.
الأمر:
bashCopyEditsqlmap.py -u http://www.example.com/article.php?id=1 --users
استخدمت الأداة دي علشان أطلع قائمة بكل المستخدمين في قاعدة البيانات. بعض الكلمات السرية كانت مشفرة، واستخدمت John the Ripper علشان أكسر تشفير الباسوردات:
bashCopyEdit./john --wordlist=/path/to/wordlist.txt hashfile
8. إظهار النتائج
بعدما كسرت تشفير كلمة السر، تمكنت من الدخول إلى الحسابات الإدارية في النظام. كان ده بيأكد لي إنني نجحت في اختراق الموقع بشكل كامل.
الخلاصة:
العملية دي كانت تعتمد بشكل رئيسي على جمع المعلومات، استغلال الثغرات، واستخدام SQLMap لاستغلال ثغرة SQL Injection. من خلال هذه الأدوات والتقنيات، تمكنت من الوصول إلى البيانات الحساسة للموقع. لكن تذكر، أن هذا الشرح هو للتعلم فقط وأي استخدام غير قانوني للأدوات أو التقنيات دي غير مسموح به.
معلم كبير 👍🏻
بنتعلم منك ياقدوه
كبير والله
تسلم عبد الله
الله عليك مبروك الفوز
الله يبارك فيك يا مهندس
☺ √
استاذ ولله