في عام 2003 كان خبير أمن الشبكات HD Moore يعمل لدى شركة أمن معلومات ولاحظ أنه يمضي كثيراً من الوقت في مراجعة أكواد وبرمجيات إستغلال الثغرات المنشورة حديثاً كجزء من عمله، فقرر إنشاء أداة لجمع برمجيات الإستغلال الصحيحة وجعلها قابلة للتخصيص بحيث تطلب منك الأداة المعلومات اللازمة للإستغلال المطلوب تنفيذة مثل عنوان الإنترنت للهدف والمنفذ وتقوم بتضمين هذه المعلومات وإنشاء الإستغلال الخاص بها، دون الحاجة لإعادة البحث عن كل إستغلال تريد إستخدامه وتخصيصه يدوياً.
وقد أطلق مور الإصدار الأول من هذه الأداة والتي أسماها ميتاسبلويت في شهر أكتوبر من ذلك العام مبرمجة بإستخدام بيرل وكانت تشمل فقط 11 إستغلال آنذاك، وفي إبريل 2004 تم إطلاق الإصدار الثاني بعد إعادة كتابة أداة ميتا سبلويت بالكامل بإستخدام لغة روبي وبمساعدة Spoonm وشمل الإصدار الثاني 19 إستغلال و27 بايلود (الكود الذي يحمله الإستغلال لتنفيذه على الهدف)، وبعد هذا الإصدار إنضم Matt Miller لفريق تطوير ميتاسبليوت وجنى المشروع شعبية في أوساط أمن المعلومات.
محتويات الموضوع :
شرح ميتاسبلويت – Metasploit وكيفية إستخدامه بالتفصيل
اليوم ميتاسبلويت أصبح تابعاً لشركة Rapid7 الأمريكية المتخصصة في مجال أمن المعلومات ومتوفر بأربع واجهات:
- Framework edition
النسخة المجانية المعتمدة على واجهة سطر الأوامر.
- Community edition
النسخة المجانية المعتمدة على واجهة الويب الرسومية.
- Express
نسخة مدفوعة ذات واجهة رسومية مخصصة لإكتشاف الثغرات وبعض المهام فقط.
- Pro
النسخة المدفوعة الشاملة.
ويحظى إطار عمل ميتا سبلويت المجاني بأكبر شعبية في مجال إختبار الإختراق بأكثر من 650 مُساهم على منصة جيت هاب، ويعمل على منصات Mac OS, linux, windows.
إستخدام إطار عمل ميتاسبلويت على نظام ويندوز
ستجد الإصدار الأخير من إطار عمل ميتاسبلويت على منصة جيت هاب ويمكنك تحميله مجاناً، رابط مباشر لآخر إصدار بتاريخ نشر هذا المقال.
ويجب عليك إنشاء قواعد إستثناء لمجلد ميتاسبلويت بالكامل في الجدار الناري وبرامج الحماية سواء windows defender المضمن في ويندوز أو أي برنامج آخر قمت بتثبيته، وذلك بالطبع لإحتواء إطار عمل ميتاسبلويت على كثير من أكواد الإستغلالات التي تتعرف عليها برامج الحماية وتحظرها.
ربما تأخذ بالإعتبار إستخدام إطار عمل ميتاسبلويت على نظام وهمي، شاهد بالفيديو كيفية تثبيت الأنظمة وهمياً على ويندوز.
بعد تثبيت إطار عمل ميتاسبلويت على ويندوز ستجد في المجلد الخاص به ملف console.bat ومنه يمكن فتح نافذة سطر الأوامر لإطار العمل والتي تظهر بهذا الشكل ..
ملاحظة: الرسمة التي تظهر عند تشغيل سطر الأوامر تُسمى ASCII Art لأنها مشكله من الحروف والرموز التابعة لجدول أكواد ASCII أي أنها نصوص لا رسومات حقيقية وبإستخدام أمر banner في سطر الأوامر يتم تغيير الشكل المعروض لآخر عشوائياً، وتوجد العديد من الأدوات لعمل مثل تلك الرسوم مثل blessed-contrib و patorjk.
من نافذة سطر الأوامر يمكن إستخدام كافة مكونات إطار عمل ميتاسبلويت، على سبيل المثال هكذا يبدوا أمر البحث عن الثغرات المتعلقة ببروتوكول smtp ..
والذي يظهر 25 إستغلال لثغرات مختلفة وتاريخ نشرها وجودة الإستغلال، ويمكن تحديد المكون الذي ترغب في إستخدامه من خلال الأمر use متبوعاً بالوصف الكامل للمكون (يمكنك نسخه من نتيجة البحث)، ثم إستخدام أمر Show options لمعرفة الخيارات القابلة للتخصيص في المكون المختار، ثم إستخدام الأمر exploit لبدء الإستغلال.
ملاحظة
الإستغلال الموجود على ميتاسبلويت يتم كتابته بواسطة المتطوعين في هذا المشروع ويصبح متاحاً للعامة لأن ميتاسبلويت مفتوح المصدر فيمكن لمطوري الإستغلالات (ExploitDevelopers) مراجعته وإعادة كتابته بشكل مستقل خارج إطار عمل ميتاسبلويت وبأي لغة برمجة.
نظام Metasploitable القابل للإستغلال
الإستغلالات التي تجدها في ميتاسبلويت تخص ثغرات تم إكتشافها مسبقاً وتبليغها للمطورين وتم إصلاحها في الإصدارات الحديثة، ميتاسبلويت ليست عبارة عن أرض الأحلام التي تجد فيها ألاف الإستغلالات المجانية التي تعمل على أحدث إصدارات البرامج والأنظمة! فتلك تكلف أموالاً طائلة ولا يعد تداولها قانونياً فتُباع عبر الأسواق السوداء والشبكات المظلمة بإستخدام العملات الرقمية المشفرة، أما ميتاسبلويت فهي بمثابة أرشيف للثغرات سبق العثور عليها في إصدارات قديمة ويمكنك إستخدامها قانونياً لإختبار إختراق الأنظمة.
فإذا أردت التدرب على إستخدام هذه الثغرات سيتطلب الأمر تثبيت الإصدارات المصابة القديمة من كل نظام أو خادم أو تطبيق تود إختباره الأمر الذي قد يستغرق بعض الوقت والجهد، ولذلك قامت شركة رابيد سفن بإنشاء نظام تشغيل يحتوي على كثير من الخوادم والتطبيقات بإصدارات قابلة للإستغلال سواء الإستغلال اليدوي أو عبر ميتاسبلويت أو عبر أي أدوات إختبار إختراق أخرى.
حسناً يمكنك تحميل Metasploitable من هنا، وهي عبارة عن صورة لنظام وهمي يمكن تشغيلها عبر VMware workstation أو VirtualBox وإختبارها من نظامك الأساسي.
واجهة أرميتاج Armitage
إن كنت جديد إلى ميتاسبلويت ستجد صعوبة في حفظ وإستخدام الأوامر والتنقل من جلسة إلى أخرى والتعرف على هيكل المكونات في ميتاسبلويت بشكل عام، لذلك ينصح البدء بإستخدام الواجهات الرسومية لإطار عمل ميتاسبلويت قبل إستخدامه بشكل مستقل، ورغم أن ميتاسبلويت لها إصدار community edition الذي يعمل عبر واجهة الويب الرسومية إلا أن أرميتاج تعد الواجهة الرسومية المفضلة لمختبري الإختراق لأنها تجمع بين سهولة الإستخدام وفي الوقت ذاته تبقيك قريباً من سطر الأوامر مباشرة بحيث يمكنك التنقل بين إستخدام الواجهة الرسومية وسطر الأوامر وكذلك رؤية الأوامر التي يتم تنفيذها أثناء إستخدام الواجهة الرسومية، كما أنها تحتوي على مميزات أخرى كالعمل الجماعي وأداة Hail Marry.
كلا من إطار عمل ميتاسبلويت وأداة أرميتاج يأتي مدمجاً مع نظام Kali linux الخاص بإختبار الإختراق، يمكنك تشغل أرميتاج منه مباشرة لتجد الواجهة التالية ..
تجد بالأسفل سطر الأوامر الخاص بإطار عمل ميتا سبلويت وهو نفسه الذي سبق إستخدامه من خلال ويندوز، ولا تختلف طريقة كتابة الأوامر فيه أياً كان نظام التشغيل المستخدم، أو الواجهة التي يعمل من خلالها، أيضاً يتم فتح نوافذ أخرى بالأسفل بجوار سطر الأوامر كلما قمت بأمر ما لمتابعة الأوامر التي يتم تنفيذها.
على اليسار تجد المجلدات التي تحتوى على مكونات ميتاسبلويت بالكامل ولكنها منظمة بشكل هرمي وتجد مربع البحث الذي يستخدم أمر search ذاته الذي سبق إستخدامه من سطر الأوامر ولكنه يظهر النتائج في مجلداتها التي تندرج منها عند البحث، يمثل مجلد auxiliary الأدوات المساعدة لعملية إختبار الإختراق وبالطبع مجلد exploit يحمل الإستغلالات التي صمم المشروع خصيصاً لجمعها، ومجلد payloads يجمع الأكواد التي ترغب بتنفيذها بعد عملية إستغلال ناجحة كفتح جلسة إتصال مباشر أو عكسي أو فتح جلسة إتصال Meterpreter للتحكم بالهدف، وأخيراً مجلد Post الذي يجمع المكونات المستخدمة في مرحلة ما بعد الإستغلال لتثبيت الوصول أو للتمحور داخل الشبكة على سبيل المثال.
أما المساحه على يمين هذه المجلدات فتظهر فيها الحواسيب المضيفة التي يجري فحصها أو إستغلالها مع بيان حالتها، ولإضافة الحواسيب المستهدفة إليها إستخدم قائمة hosts ثم add hosts وأدخل عنوان الإنترنت أو إسم النطاق الخاص بالهدف، أو إستخدم خيار import hosts لإستيراد عدد كبير من العناوين دفعة واحدة.
هكذا تبدوا أداة الأرميتاج أثناء الإستخدام النشط ..
يرمز المضيف الملون بالأحمر مع البرق إلى كونه تحت سيطرة المهاجم في جلسة Meterpreter أو shell وأن الإتصال نشط، وترمز الحواسيب الغير مضاءه إلى إنتهاء الإتصال أو عدم وجوده نهائياً.
الفرق بين Meterpreter و Shell
في ميتاسبلويت هناك نوعان من الجلسات التي تعطيك تحكم في نظام ما هما shell و Meterpreter، أما shell فهو الإتصال الذي يعطيك تحكم في طرفية الأوامر في النظام الآخر فإن كان النظام المخترق يعمل بويندوز وكنت تملك إتصال من نوع shell فلتنفيذ أمر معرفة عنوان الإنترنت على ذلك النظام ستكتب ipconfig لأنه الأمر الخاص بسطر الأوامر في ويندوز لمعرفة عنوان الإنترنت المحلي، وإن كان النظام يعمل بلينكس ستستخدم ifconfig ذلك لأن الshell يعطيك تحكم بطرفية النظام فقط فهو بمثابة ssh أو telnet.
أما Meterpreter فهو بايلود متطور تم تطويره ضمن مشروع ميتاسبلويت يعطيك صلاحيات وصول أكثر من الshell العادي ويستطيع فهم أوامر لينكس ويترجمها لما يقابلها في النظام المُخترق وأيضا يستطيع إلتقاط صور سطح المكتب أو الكاميرا وإرسالها مباشرة دون إستخدام أدوات أخرى سبق تثبيتها على النظام المُخترق أو الحاجه لتثبيت أدوات جديدة ولفت الإنتباه، كذلك يمكنك ميتربرتر من التمحور داخل الشبكة فيما يعرف بالPivoting حيث تُعطي أوامر للنظام المُخترق لكي ينفذها على حواسيب تعمل في شبكته الداخلية والتي لم يكن بإمكانك الوصول لها مباشرة فيصبح هذا الحاسوب بمثابة عميل لك داخل تلك الشبكة وقد يساعد هذا في إستغلال ثغرات أخرى تعمل على خدمات الشبكة الداخلية.
إنشاء جلسة عمل جماعية عبر أرميتاج
عند العمل ضمن فريق إختبار إختراق أو red team سيكون من المفيد مشاركة نتائج العمل في الوقت الفعلي وهو ما تقدمه أداة أرميتاج، حيث يستضيف أحد أعضاء الفريق الخادم ويشارك عنوانه باقي الأعضاء، إلا أن الخادم لا يعمل إلا على نظام لينكس عبر الأوامر التاليه ..
بكل تأكيد أمر echo tech-hall.com ليس متعلقاً بإنشاء الخادم الجماعي 😁
الأمر الأول يقوم بتشغيل قاعدة بيانات postgresql اللازمة لتسجيل بيانات وأنشطة مستخدمي الخادم لاحقاً، ثم الأمر التالي يغير المجلد إلى مجلد أداة أرميتاج، ثم الأمر الأخير يبدأ بتشغيل الخادم للعمل على عنوان إنترنت المتصل بالموجه (router) وكلمة arabefuture تمثل كلمة المرور للخادم أما إسم المستخدم فبدون تحديده يكون msf وهو إختصار metasploit framework ويتم إختيار المنفذ 55553 بشكل إفتراضي، ولاحظ أيضاً البصمة التي يزودك بها الخادم والتي يجب مشاركتها مع أعضاء الفريق لتتم مقارنتها عند الإتصال للتأكد من العمل على الخادم الصحيح، لا أحد سيرغب بمشاركة مجهوداته خاصة في مجال أمن المعلومات مع الفريق الخطأ J.
إستخدام أرميتاج من نظام ويندوز
لا تعمل أداة أرميتاج على نظام ويندوز إلا في إصداراتها القديمة جداً، أما الإصدارات الجديدة فلا تعمل مع الميتاسبلويت الموجوده على أنظمة ويندوز أو ماك لأسباب لم يوضحها المطور
ولكن يظل بإمكانك أن تفعل خادم جماعي من خلال نظام لينكس كما وضحنا منذ قليل ثم تتصل به من خلال أداة أرميتاج على ويندوز أو ماك، فقط بإدخال عنوان الخادم المحلي إن كنت على نفس الشبكة الداخلية أو العنوان العام على أن يتم توجيه المنفذ 55553 (أو المنفذ الذي يستخدمه الخادم) من المُوجِه إلى الخادم كطبيعة عمل أي خادم خلف شبكة NAT، ثم بإستخدام إسم المستخدم msf وكلمة المرور التي تم إعدادها سابقاً (arabefuture) ستتمكن من إستخدام أرميتاج على ويندوز حيث يعمل كعميل فقط بينما إطار عمل ميتاسبلويت الذي يجري إستخدامه مستضاف على الخادم الذي إتصلت به، مما يعني أنك لست بحاجه لتنصيب ميتاسبلويت على ويندوز لإستخدام أداة أرميتاج فهي لا تعمل إلا مع ميتاسبلويت منصبة على خوادم لينكس.
رابط تحميل أرميتاج ، يتطلب تثبيت جافا لإستخدامه، ولاحظ صغر حجم أرميتاج (أقل من 10 ميجا بايت) مقارنة بحجم أطار عمل ميتاسبلويت (أكثر من نصف جيجا بايت) وذلك لأن أرميتاج مجرد واجهة رسومية تقوم بتنفيذ الأوامر في النهاية على ميتاسبلويت.
وعند الإتصال لخادم جماعي من ويندوز عبر أرميتاج تحصل على هذا التنبيه
تأكد أن البصمة متطابقة مع بصمة الخادم قبل الموافقة على الإتصال ثم أدخل الإسم المستعار الذي ترغب بظهوره لباقي أعضاء الفريق ..
وأخيراً أنت الآن تستخدم أرميتاج من نظام ويندوز متصلاً بخادم لينكس يستضيف الميتاسبلويت، ويتم مشاركة جلساتك ونتائج فحوصاتك مع أي شخص يتصل بهذا الخادم أيضاً
ملاحظة
إن لاحظت بطئ في تحديث الواجهة الرسومية فهذه المشكلة شائعة وقد أجاب عنها المطور موضحاً أنها مشكلة في OpenJDK وبإستخدام جافا يتم تفادي المشكلة.
خاصية Hail Marry في أرميتاج
هذه الخاصية تعمل على تجربة كم هائل من الإستغلالات على هدف واحد أو عدة أهداف بشكل صامت بإستخدام الإعدادات الإفتراضية لكل إستغلال يتم تنفيذه، والغرض منها محاولة السيطرة على النظام بشكل سريع وتلقائي إلا أن فشل هذه الأداة لا يعني أن النظام مؤمن ضد كافة الإستغلالات الموجودة بالميتاسبلويت.
واجهة Cobalt Strike
هي واجهة رسومية أخرى لإطار عمل ميتاسبلويت شبيهة جداً بواجهة أرميتاج، في الواقع تشمل كافة مميزات أرميتاج وتفوقها في بعض المكونات الأخرى ولكنها متاحة للشراء أو التجربة خلال أميركا والدول الأوروبية.
إذا كان لديك المزيد من الفضول حول مشروع ميتاسبلويت والحلول المتعلقة به بادر بالسؤل في التعليقات أسفله.
التعليقات متوقفه