⚔️9- Exploitation
✨ انتزاع اللافتات (Banner Grabbing)
💡 هو تكنيك لجمع معلومات محدودة ومباشرة عن خدمة تعمل على منفذ معين مثل اسمها وإصدارها وأحياناً نظام التشغيل هذه المعلومات ضرورية لتحديد الثغرات المحتملة بسرعة.
المصادقة مع الخدمة (Authentication):
🗣️ لو حاولت المصادقة مع خدمة تدعم الشي ذا (مثل SSH أو FTP) تقدر تكشف الخدمة كجزء من عملية الاستجابة الأولية قبل تسجيل الدخول.
🎯 بـ المختصر: انتزاع اللافتات هي طريقة سريعة وفعالة لجمع معلومات حول إصدارات الخدمات، مما يساعدك على تحديد الثغرات بسرعة.
✨ البحث عن الاستغلالات (Searching for Exploits)
💡 بعد تحديد الثغرة، الخطوة التالية هي العثور على كود الاستغلال المناسب لها.
مصادر الاستغلالات العامة:
قاعدة بيانات Exploit-DB: 🗣️ تُعد Exploit-DB من أفضل المصادر للاستغلالات المُختبرة والمُتحقق منها. يمكنك تصفية البحث حسب النوع (DoS، محلي، عن بعد، تطبيقات ويب)، النظام الأساسي (Windows, Unix)، أو إذا كان متوفرًا كوحدة Metasploit. تأكد من البحث عن الاستغلالات "المُتحقَق منها" (Verified).
Rapid7 (قاعدة بيانات Metasploit): 🗣️ لو أردت تحديد وحدات Metasploit الجاهزة التي تُستخدم لأتمتة الاستغلال، فسوف تجدها في Rapid7، وهي الشركة المطورة لإطار عمل Metasploit.
GitHub: 🗣️ لو بحثت في GitHub عن أكواد الاستغلال، فيجب أن تكون حذرًا وتُحلل الكود يدويًا للتحقق من شرعيته، لأنه قد يحتوي على تعليمات برمجية ضارة أو يسبب أعطالاً.
Google Dorks: 🗣️ يمكنك استخدام تقنيات Google Dorks لتحسين عمليات البحث على Google وتضييق نطاق النتائج لمصادر معينة، وغالباً ما تظهر نتائج CVE ذات صلة بالثغرات.
Packet Storm: 🗣️ هو موقع أمني يوفر أحدث المعلومات حول الثغرات وأكواد الاستغلال.
أداة SearchSploit:
💡 هذه الأداة مُضمّنة في Kali Linux وتسمح لك بالبحث في قاعدة بيانات Exploit-DB المحلية دون الحاجة إلى اتصال بالإنترنت.
التحديث: 🗣️ يجب تحديث قاعدة بيانات SearchSploit بانتظام للحصول على أحدث الاستغلالات باستخدام
searchsploit -u، وقد يتطلب ذلك تنزيل حوالي 3 جيجابايت من البيانات.
✨ أنواع الصدفات (Shells)
💡 الشيل (Shell) هو برنامج أو أداة تسمح لك بتنفيذ الأوامر على نظام التشغيل، والشيل البعيد (Remote Shell) يسمح لك بذلك عن بعد.
Netcat هي أداة متعددة الاستخدامات لمهام الشبكات.
خيارات Netcat :
-l(Listen): لتشغيل Netcat كمستمع.-p [المنفذ]: لتحديد المنفذ.-v(Verbose): لإظهار مخرجات مفصلة.-n: لعدم حل أسماء DNS (تسريع الاتصال).-u: لاستخدام بروتوكول UDP بدلاً من TCP.-e [برنامج]: لتشغيل برنامج (مثلcmd.exeأو/bin/bash) عند الاتصال، وهذا يُستخدم لإنشاء الصدفات.
🗺️ تطبيقات الاستغلال على خدمات محددة (أمثلة)
🗣️ هنا سنرى كيف تُطبق تقنيات الاستغلال على خدمات شائعة.
✨ خادم FTP (FTP Server)
تحديد الثغرة (vsFTPd 2.3.4): 🗣️ لو وجدت خادم FTP بإصدار
vsFTPd 2.3.4على نظام Linux، فهو معروف بثغرة Backdoor Command Execution.الوصول المجهول (Anonymous Login): 🗣️ لو كان خادم FTP يسمح بالوصول المجهول، يمكنك تسجيل الدخول باسم
anonymousبدون كلمة مرور. لكن الوصول قد يكون محدودًا أو غير مسموح به في بعض الحالات.هجوم التخمين (Brute-Force Attack): 🗣️ استخدم أدوات مثل Hydra لتخمين أسماء المستخدمين وكلمات المرور لخادم FTP يتطلب Hydra قائمة بأسماء المستخدمين (
-L) وكلمات المرور (-P) من قوائم مثلuser/share/wordlists.تحميل الويب شيل (Web Shell Upload): 🗣️ لو حصلت على وصول لـ FTP مع صلاحيات كتابة يمكنك تحمل ملف ويب شيل (مثل
shell.phpأوshell.aspx) إلى مجلد الويب الخاص بالخادم. بعدها يمكنك الوصول إليه عبر المتصفح لتنفيذ الأوامر.
✨ خادم SSH (SSH Server)
انتزاع اللافتات والإصدارات: 🗣️ لو استخدمت Nmap (
-sV -p 22) على منفذ 22، ستحصل على إصدار OpenSSH.معلومات إضافية بـ Nmap Scripts: 🗣️ توجد سكريبتات Nmap مثل
ssh-enum-algos(لتعداد خوارزميات التشفير المستخدمة) وssh-auth-methods(لتحديد طرق المصادقة للمستخدمين). لو استخدمتssh-auth-methodsمع اسم المستخدم، فستعرف ما إذا كان يتطلب كلمة مرور أو لا.هجوم التخمين (Brute-Force Attack): 🗣️ لو لم تكن هناك ثغرات معروفة، فسوف تستخدم Hydra لتخمين بيانات الاعتماد لخدمة SSH.
تسجيل الدخول: 🗣️ بعد الحصول على بيانات الاعتماد (مثلاً
vagrant:vagrant)، يمكنك تسجيل الدخول عبرssh vagrant@[target IP].الحصول على CMD في Windows: 🗣️ لو كنت متصلاً بخادم SSH على Windows، يمكنك كتابة
bashفي الجلسة للحصول على واجهة سطر أوامر Windows (CMD).التحقق من الامتيازات: 🗣️ يمكنك استخدام
whoami /privللتحقق من امتيازات المستخدم الحالي.فشل ترقية Meterpreter: 🗣️ قد تفشل ترقية جلسة SSH العادية إلى Meterpreter إذا كان الهدف يعمل على بنية غير مدعومة مثل Windows ARM.
✨ خادم SMB/Samba (SMB/Samba Server)
تحديد الإصدار والنظام: 🗣️ لو قمت بفحص منفذ 445 (SMB) باستخدام Nmap، فسوف تحصل على إصدار Samba أو معلومات عن نظام Windows.
Enumeration with Enum4Linux: 🗣️ على أنظمة Linux، يمكنك استخدام أداة
enum4linuxلتعداد مستخدمي SMB، مما يساعد في إنشاء قوائم كلمات مرور مخصصة.هجوم التخمين (Brute-Force Attack): 🗣️ يمكن استخدام Hydra لتخمين بيانات الاعتماد لخدمة SMB.
استغلال الثغرات:
MS17-010 (EternalBlue): 🗣️ هذه الثغرة تؤثر على أنظمة Windows وتتيح تنفيذ التعليمات البرمجية عن بعد (RCE) دون الحاجة إلى بيانات اعتماد، وتوفر جلسة Meterpreter بامتيازات عالية.
PSExec: 🗣️ تستخدم هذه الوحدة لتنفيذ الأوامر عن بعد على أنظمة Windows باستخدام بيانات اعتماد صحيحة (مثل
administrator:vagrant)، وتوفر جلسة Meterpreter بامتيازات عالية. يمكنك استخدام سكريبت Pythonpsexec.py(متوفر في Kali Linux) يدوياً لتنفيذ PSExec، أو وحدة Metasploit المخصصة لذلك.Samba Command Execution (usermap_script): 🗣️ يمكن استغلال إصدارات معينة من Samba (مثل 3.0.20 - 3.0.25) عبر ثغرة تسمح بتنفيذ الأوامر العشوائية دون مصادقة.
✨ خادم MySQL (MySQL Database Server)
تحديد الإصدار: 🗣️ لو قمت بفحص منفذ 3306 (MySQL) باستخدام Nmap، ستحصل على إصدار MySQL (مثلاً 5.2).
هجوم التخمين (Brute-Force Attack): 🗣️ يمكن استخدام وحدة Metasploit المساعدة
auxiliary/scanner/mysql/mysql_loginلتخمين بيانات الاعتماد لمستخدم الجذر (root). قد يكشف هذا أن مستخدمrootليس لديه كلمة مرور (NULL password).الوصول إلى قاعدة البيانات: 🗣️ لو حصلت على بيانات اعتماد (أو إذا كان
rootبدون كلمة مرور)، يمكنك الاتصال بقاعدة البيانات باستخدامmysql -u root -p -h [عنوان IP الهدف].استغلال قاعدة بيانات WordPress: 🗣️ لو كانت قاعدة البيانات تستضيف موقع WordPress، يمكنك عرض الجداول (
show tables;) بعد استخدام قاعدة بياناتwordpress(use wordpress;). لتعديل كلمة مرور مستخدمadmin، فسوف تستخدم أمرUPDATE wp_users SET user_pass=PASSWORD('password123') WHERE user_login='admin';لتحديث حقلuser_passفي جدولwp_users. ثم يمكنك تسجيل الدخول إلى لوحة تحكم WordPress.الوصول إلى PHPMyAdmin: 🗣️ يمكنك أيضاً الوصول إلى PHPMyAdmin (الذي قد يكون ممنوعاً بشكل افتراضي) عن طريق استغلال SMB للحصول على Meterpreter، ثم تعديل ملف التكوين
phpmyadmin.conf(لتغييرDeny from AllإلىAllow from All) ورفع الملف المعدل، وإعادة تشغيل خدمة Apache.
✨ خادم PHP (PHP Server)
تحديد الإصدار: 🗣️ لو وجدت خادم ويب Apache على منفذ 80، يمكنك البحث عن ملفات مثل
phpinfo.php. لو وجدته، فسوف يكشف لك عن إصدار PHP ومعلومات نظام التشغيل (مثل PHP 5.2.4 و CGI configuration).استغلال CGI Argument Injection: 🗣️ إصدارات PHP الأقل من 5.3.12 أو 5.4.2 معرضة لثغرة CGI Argument Injection. توجد استغلالات Python ووحدات Metasploit لهذه الثغرة. يتيح هذا الاستغلال تنفيذ كود PHP عشوائيًا. لو استخدمت استغلال Python، يمكنك تعديل كود PHP بداخله ليشمل سطرًا واحدًا لـ Reverse Shell PHP. يجب إعداد مستمع Netcat على جهاز المهاجم.
Last updated