اقرأ في هذا المقال
(Metasploit) هو عبارة عن إطار معياري قابل للتوسيع بسهولة يدعمه مجتمع نشط، على الرغم من أن هذا مجرد وصف عالي المستوى لقدرات (Metasploit)، إلا أنه يمكن دائمًا تعديله لإنجاز (pentest) وهو وسيلة لتقييم أمان نظام حاسوب أو شبكة ما بواسطة محاكاة هجوم من قبل مخربين من الخارج، واكتشاف نقاط الضعف الخاصة بأمن نظام تكنولوجي معين.
ما هي أداة Metasploit؟
أداة (Metasploit) هي أداة أمان كمبيوتر يوفر بيانات حول نقاط الضعف الأمنية ويساعد في اختبار الاختراق، وهي مملوكة لشركة (Rapid7)، وهي شركة للأمن السيبراني مقرها الولايات المتحدة، مشروع فرعي بارز من أداة (Metasploit) هو (Metasploit Framework) مفتوح المصدر، أداة تستخدم لتطوير وتشغيل كود استغلال على أنظمة الهدف البعيد، حيث تتضمن أداة (Metasploit) أدوات مكافحة الطب الشرعي والمعالجة، وبعضها مدمج في (Metasploit Framework)، تأتي (Metasploit) مثبتة مسبقًا على نظام التشغيل (Kali Linux) وهي اداة متخصصة في الأمن والحماية المعلوماتية واختبار الاختراق.
كيف تعمل Metasploit؟
تتكون بنية (Metasploit Framework) من عدة أجزاء وهي واجهات ومكتبات والوحدات وأدوات والإضافات.
واجهات
الواجهات هي الأنظمة الأساسية المختلفة التي يمكن للمستخدمين من خلالها الوصول إلى (Metasploit Framework)، حيث ان هناك أربع واجهات متاحة:
- وحدة التحكم في إطار (Metasploit): واجهة (Metasploit) الأكثر استخدامًا، حيث تتيح وحدة التحكم (Metasploit) للمستخدمين الوصول إلى (Metasploit Framework) من خلال واجهة سطر أوامر تفاعلية.
- (MSFWeb): واجهة قائمة على المستعرض تتيح للمستخدمين الوصول إلى إطار عمل (Metasploit).
- (Armitage): وهي أداة لإدارة الهجوم تنفذ بشكل آلي الهجمات الآلية، تم تطوير (Armitage) في عام 2013، وهو عبارة عن واجهة مستخدم رسومية قائمة على (Java) هي لغة برمجة كائنية التوجه تتيح للفرق الأمنية التعاون من خلال مشاركة وصولهم إلى المضيفين المخترقين.
- (RPC) المبرمج العربي استدعاء الإجراء البعيد: وهو اتصال بين العمليات يقوم بتبادل المعلومات بين مختلف الأنظمة الموزعة الخوادم يسمح للمستخدمين بقيادة (Metasploit Framework) برمجيًا باستخدام خدمات استدعاء الإجراء البعيد المستندة إلى (HTTP)، بالإضافة إلى (Ruby) الأصلي لـ (Metasploit)، كما يمكن أن تعمل خدمات (RPC) من خلال لغات أخرى. حيث “HTTP” اختصار ل”HyperText Transfer Protocol”.
مكتبات
تحتوي المكتبات على وظائف (Metasploit Framework) المختلفة التي تتيح للمستخدمين تشغيل عمليات الاستغلال دون كتابة تعليمات برمجية إضافية، حيث توجد ثلاث مكتبات (Metasploit):
- (REX): لتمكين معظم المهام الأساسية.
- (MSF Core): يوفر واجهة برمجة تطبيقات مشتركة ويحدد إطار عمل أداة (Metasploit).
- قاعدة (MSF): توفر واجهة برمجة تطبيقات سهلة الاستخدام.
الوحدات
يستخدم (Metasploit Framework) برنامجًا يسمى الوحدات النمطية التي تُستخدم لأداء مهام مثل عمليات المسح واستغلال الهدف، حيث ان هناك خمسة أنواع رئيسية من وحدات (Metasploit)، مصنفة حسب المهام التي يؤدونها:
- (Payloads): عبارة عن أكواد تؤدي الإجراءات التي يقصدها المستخدم بمجرد أن تؤدي إحدى الثغرات إلى اختراق النظام المستهدف، حيث يمكن استخدامها لفتح المترجمين الشفويين أو أغلفة الأوامر، المترجمون الفوريون عبارة عن حمولات معقدة تُستخدم أثناء هجوم إلكتروني لتنفيذ التعليمات البرمجية وأداء المزيد من المهام الاستكشافية.
- (Exploits): تنفيذ تسلسل الأوامر للاستفادة من نقاط ضعف النظام أو التطبيق والوصول إلى الأنظمة المستهدفة.
- (Posts) المنشورات: وحدات ما بعد الاستغلال، حيث تتيح المنشورات للمستخدمين إجراء جمع أعمق للمعلومات وتسلل مزيد من النظام المستهدف بعد الاستغلال، على سبيل المثال، يمكن استخدام المشاركات لإجراء تعداد الخدمة.
- أجهزة التشفير: تقوم أجهزة التشفير بتشويش الحمولات أثناء النقل لضمان تسليمها بنجاح إلى النظام المستهدف وتجنب الكشف عن برامج مكافحة الفيروسات وأنظمة كشف التسلل (IDS) وأنظمة منع التطفل (IPSs).
- (NOPs): (No Operation) تنشئ مولدات (NOP) تسلسلات عشوائية من البايت لتجاوز أنظمة كشف التسلل والوقاية.
- الإضافات: تشمل الوحدات المساعدة فحص الثغرات الأمنية ومسح المنافذ والأزرار والمتسللون وأدوات الاستغلال الأخرى.
الأدوات والإضافات
الأدوات والمكونات الإضافية هي إضافات إلى إطار عمل أداة (Metasploit) الذي يوسع وظائفه، على سبيل المثال، غالبًا ما تُستخدم أداة (pattern_create) أثناء تطوير الاستغلال لتشكيل أنماط سلسلة غير متكررة، يساعد المكون الإضافي (pentest) في أداء المهام الشائعة التي يتم القيام بها أثناء اختبار الاختراق.
تاريخ Metasploit
تم إنشاء أداة (Metasploit) في إطار مشروع (Metasploit)، وقد تم تطويره في الأصل عام 2003 كأداة شبكة محمولة في عام 2007، تعد أداة (Metasploit) الأداة المفضلة لدى محترفي تكنولوجيا المعلومات والأمن منذ عام 2003، وتمت إعادة كتابة (Metasploit) في (Ruby) وهي لغة برمجة كائنية متعددة الاستخدام في عام 2007، وقد حصلت شركة (Rapid7) على مشروع (Metasploit) في عام 2009، وقد طور( Rapid7) منذ ذلك الحين إصدارًا تجاريًا من (Metasploit) يسمح للمستخدمين بأتمتة اختبار الاختراق الكامل، إلى جانب الميزات المتقدمة الأخرى، بما في ذلك:
- الاستغلال اليدوي وإعادة استخدام أوراق الاعتماد.
- مكافحة الفيروسات واختبار تطبيقات الويب.
- الوكيل المحوري.
- وحدات ما بعد الاستكشاف وتنظيف الجلسة.
- هندسة اجتماعية والتحقق من الضعف.
- مولد الحمولة وتمحور شبكة (VPN).
- “VPN” اختصار ل”Virtual Private Network”.
كيفية استخدام Metasploit
يمكن أن تتكامل (Metasploit) بسلاسة مع عناصر مثل تعداد تصحيح نظام تشغيل (Windows)، ومسح (SNMP) أثناء مرحلة جمع المعلومات لاختبار الاختراق وهو بروتوكول يستخدم على نطاق واسع في إدارة الشبكة ومراقبتها، كما يوفر جسرًا لماسح نقاط الضعف الخاص بـ (Nessus) وهي من أشهر وأفضل أدوات حماية الشبكات، تتكامل (Metasploit) مع أي أداة استطلاع تقريبًا، مما يسمح للمستخدم بتحديد الثغرة الأمنية التي تريدها،
عند وجود ثغرة أمنية، يمكن البحث في قاعدة بيانات (Metasploit) الموسعة عن ثغرة تؤدي إلى فتحها، على سبيل المثال، أصدرت شركة (Shadow Brokers) ثغرة في عام 2017، والتي تم تجميعها لـ (Metasploit)، والتي يمكن أن تساعد المستخدم في التعامل مع نظام تشغيل (Windows) قديم غير مسبوق، كما تقوم بمطابقة الاستغلال بحمولة مناسبة للمهمة، على سبيل المثال، يعتبر (Meterpreter) عبارة عن غلاف تفاعلي مخصص للذاكرة فقط، مما يجعله مناسبًا لمهاجمة نظام تشغيل (Windows)، نظرًا لأن معظم الأشخاص يريدون صدفة، هناك أكواد قشرة محددة لمربعات (Linux) اعتمادًا على الثغرات الأمنية المستخدمة، بمجرد اختراق الجهاز المستهدف،
توفر (Metasploit) مجموعة كاملة من أدوات ما بعد الاستغلال، مع إضافة ميزات جديدة كل عام، على سبيل المثال، يتمثل أحد الخيارات في إنشاء باب خلفي ثابت يظل على الجهاز حتى بعد إعادة التشغيل، حيث تشمل الأدوات الأخرى التسلل الى الحزم وسلالم الامتياز والتقاط الشاشة، كما تقدم (Metasploit) أيضًا (fuzzer) وهي تقنية اختبار لتحديد العيوب الأمنية المحتملة في النظام الثنائي ومجموعة واسعة من الوحدات المساعدة.