شرح الميتاسبلويت من الصفر الى الاحتراف - الاختراق المتقدم

شرح الميتاسبلويت من الصفر الى الاحتراف - الاختراق المتقدم

شرح الميتاسبلويت من الصفر الى الاحتراف - الاختراق المتقدم

ماهو مشروع الميتاسبلويت؟

الميتاسبلويت Metasploit هي ليست مجرد مشروع مفتوح المصدر! بل هو مشروع يهتم بالأمن المعلوماتي عبر البحث عن الثغرات الأمنية ويساعد في اختبارات الإختراق وتطوير أنظمة كشف التسللات IDS. وأهم إنجازات هذا المشروع هو منصة ميتاسبلوت المفتوحة المصدر وهي أداة تقوم بفتح منفذ في الجهاز المستهدف بهدف اختراقه.
  • أنشأت ميتاسبلوت من قبل فريق HD Moore سنة 2003، كأداة شبكية محمولة مبرمجة بلغة Perl. سنة 2007 ثم أعيد برمجتها كليا بواسطة لغة Ruby. سنة 2009 . أعلن أنه وقع الإستحواذ عليها من قبل شركة Rapid7، وهي شركة أمنية تبحث عن نقاط الضعف في الأنظمة وتقدم حلول لها.
الميتاسبلويت سلاح ذو حدين
كما يمكن استعمال Metasploit للبحث عن ثغرات الأنظمة فإنه يمكن من استغلالها بطريقة غير شرعية لاختراق الانظمة المختلفة.
فهي تعتبر سلاح سواء في يد الجيد Good وللسيء Bad وللغبي Ugly

ألية العمل بالميتاسبلويت

بشكل عام يمكن تلخيص مهام مشروع الميتاسبلويت لاختراق هدف بخطوات او مراحل كالأتي
اختيار واعداد الثغرة Exploit لعمل الهجوم (باختيار واحدة من بين أكثر من 1577 ثغرة موجودة على مختلف الانظمة من وندوز، ماك أو لينكس)
التحقق من أن النظام المستهدف يمكن تطبيق الإختراق عليه (بمعنى التحقق من ان الجهاز مصاب فعليا بثغرة)
اختيار واعداد البايلود Payload (وهو برمجية ضارة يرسلها المخترق للضحية لفتح قناة تواصل وتشبه في طريقة عملها فيروس حصان طروادة أو فيروس الدودة )
اختيار طريقة لتشفير البايلود Encoding Payload لتجاوز أنظمة كشف التسللات و كتلك تخطي الأنتي فايروس  Bypass AV.
المرحلة الاخيرة تنفيذ الهجمة أو تشغيل الثغرة Run Exploit.
هذه الخطوات المتبعة لتنفيذ أي هجوم عبر أي بايلود وعمل الميتاسبلوت هنا هو تسهيل عمل المخترقين. كما نذكر أن الميتاسبلوت يعمل على أغلب أنظمة Unix (تشمل لينكس والماك) والوندوز وهو متوفر بعدة لغات.

مكونات الميتاسبلويت الاساسية

يجب عليك كمبتدئ معرفة كل شيء عن هذا السلاح الفتاك حتى تمضي قدما في طريق الاحتراف الميتاسبلويت مبني على عدة مكونات أساسية, وكل بنية تمثل مجال بحد ذاته, تابع معي رعاك الله سنذكر هذه اللبنات الأساسية باللغة الانجليزية مع ترجمة بسيطة باللغة العربية حتى تستوعب, لكن يجب عليك التعامل بالمصطلحات الانجليزية اذا أردت الاحتراف فخذ الصنعة من صانعها.
  1. Architecture - هندسة أو مخطط المشروع
  2. Components - المكونات
  3. Libraries - المكتبات
  4. Interfaces - واجهات
  5. Modules - وحدات
  6. Utilities - خدمات
  7. Plugins - الإضافات

1- MSF Architecture

حتى تستوعب ماهي MSF Architecture وضعت لك صورة, أمعن فيها جيدا , فهي أشبه بدولة داخلها مؤسسات

MSF Architecture

2- المكونات MSF Components

الميتاسبلويت يعتمد على بعض المكونات مثل:
  1.   MSF Libraries
  2.  Interfaces
  3.  Modules
  4.  Mixins
  5.  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
Meterpreter شرح

صورة MSFGUI
شرح ثغرات Metasploit
صورة Armitage
armitage شرح

5- الوحدات MSF Modules

تتكون الوحدات من عدة برامج وسكريبتات مهمة مثل:
  • Exploit
  • Auxiliary
  • Post-Exploitation
  • Payload
  • NOP generator
  • Payload encoder
لا يمكن شرحها الان فهي أشياء متقدمة حاليا.

6- الخدمات والادوات MSF Utilities

هناك ثلاث أدوات رئيسية مهمة مثل :
  • MSFpayload
ويمكنك تشبيهه بالسيرفر أو التروجان (طريقة تكوين بايلود لجميع الانظمة) الذي نرسله للضحية بقصد اختراقه وله عدة اشكال مثلا الشيل كود shellcode والذي يمكن ارساله عن طريق الاي بي  بشكل ثنائي Binary.
  • MSFencode
هي أداة تشفير الفيروسات والشيل كود (البايلود بشكل ادق) , والتخلص من Bad Chars.
  • Msfvenom
هي اداة جديدة تجمع بين الاداة الاولى والثانية,  لأنه تم التخلي عنهما وتغييرها بالاداة القوية MSFVENOM

7- الاضافات MSF Plugins

هي ميزة تقدمها لك الميتاسبلويت للتحكم بها أوتوماتيكيا عن طريق دوال تسمى API بحيث يمكنك برمجة أداة تقوم بتطبيق ثغرة او فحص وغيرها ... وذلك بتطويع الميتاسبلويت وجعلها بخدمتها.
ولا تقتصر على هذا فقط, بل يمكنك اضافة أوامر جديدة للمشروع بواسطة برمجة اضافة خاصة بك Plugin.

أوامر الميتاسبلويت MSF Commands


أولا لفتح مشروع الميتاسبلويت في الكالي لينكس نكتب في الطرفية الامر الأتي

msfconsole

وهذه صورة مشروع الميتاسبلويت عند فتحه
msfconsole

 الامر help

لمعرفة جميع أوامر الميتاسبلويت أكتب

help
help

الأمر Clear

نحتاجه أحيانا لمسح الكتابة من على الشاشة وهو نفس الأمر يعمل على اللينكس

clear

الأمر show exploits

لاستعراض جميع الثغرات الموجودة بالميتاسبلويت نستعمل الامر

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
use exploit/windows/smb/ms08_067_netapi

الامر show options

هذا الامر يظهر لنا خيارات الثغرة أو الاستغلال, بحيث يعطينا متطلبات الثغرة مثل الايبي الخاص بالضحية والبورت وغيرها, فهي تختلف من ثغرة لاخرى.
الامر show options

الأمر SET

نحتاج هذا الأمر لتعيين قيمة, فمثلا عندما تحتاج الثغرة لبورت أو هوست نقوم بادخاله بالامرSET
فمثلا هذا الامر لادخال الهوست على سبيل المثال عنوان اي بي الضحية هو 192.168.1.10
set RHOST 192.168.1.10
set RHOST

وهذا الامر لادخال البورت على سبيل المثال بورت 445
set RPORT 445
set RPORT 445


ملاحظة:
كما تلاحظ RHOST  أو RPORT الحرف R يعني ريموت Remote بمعنى اننا نستهدف هوست أو بورت بعيد(victime),
وعندما تجد LHOST أو LPORT فالحرف L هنا يعني Locale بمعنى المحلي, فبعض الثغرات تحتاج هوست أو لبورت جهازك لتستقبل عليه البيانات من الضحية.

الأمر exploit و run

في الحقيقة هذان الأمران لهما نفس الدور وهو تشغيل أو تنفيذ الثغرة, فبعدما قمنا بادخال متطلبات الثغرة بقي علينا تنفيذها للاختراق
الأمر exploit و run

تطبيق عملي طريقة اختراق وبندوز Windows XP


سنحاول اختراق ويندوز اكس بي مصاب بالثغرة الشهيرة ms08_067_netapi وهذه الثغرة موجودة في خدمة SMB طبعا هذه الخدمة خاصة بمشاركة الملفات.

الخطوات الاساسية للاختراق بالميتاسبلويت بشكل عام هي


  • اختيار الثغرة بالامر use

اختيار الثغرة بالامر use


  • نقوم باظهار متطلبات الثغرة بالامر show options ,


نقوم باظهار متطلبات الثغرة بالامر show options ,


  • نقوم بادخال متطلبات الثغرة  (مثل ip, Port. url. وغيره من المتطلبات على حسب الثغرة) عن طريق الامر SET

نقوم بادخال متطلبات الثغرة  (مثل ip, Port. url. وغيره من المتطلبات على حسب الثغرة) عن طريق الامر SET


  • الخطوة الاخيرة استعمال بايلود , يتم ارساله للضحية بعد ان يتم الاختراق, حتى نتحكم في النظام المستهدف.


الخطوة الاخيرة استعمال بايلود , يتم ارساله للضحية بعد ان يتم الاختراق, حتى نتحكم في النظام المستهدف.

  • المرحلة الأخيرة تنفيذ الاختراق Exploit


المرحلة الأخيرة تنفيذ الاختراق Exploit

تم الاختراق

هذه عملية أخرى لمحاولة اختراق ويندوز اكسبي ولكن الثغرة كانت مرقعة


في هذا المثال قمت باستعمال الامر check وهو يقوم بالتحقق من الجهاز المستهدف هل يمكن تطبيق الثغرة عليه ام لا
لاحظ الصورة

check

لم يتم الاختراق فالنظام غير مصاب, أو تم تحديث النظام


وهذا مثال أخير لاختراق نظام أخر عن طريق ثغرة في المتصفح


وهذا مثال أخير لاختراق نظام أخر عن طريق ثغرة في المتصفح

لاحظ الكتابة الأخيرة session opened وتعني تم فتح جلسة بين الهكر والضحية, والوسيط بيننا هو البايلود shell
تم الاختراق

أوامر اضافية


الامر load و unload
يستعمل الامران في لتشغيل اضافة أو ايقافها مثال
load <plugin name>
unload <plugin name>
على سبيل المثال سنقوم باضافة الاضافة Nexpose

على سبيل المثال سنقوم باضافة الاضافة Nexpose

مثال أخر استعمال اضافة  Nessus

مثال أخر استعمال اضافة  Nessus

الامر search

يستعمل في البحث عن موديل معين موجود في الميتاسبلويت

الامر search tag:keyword

هو أم للبحث المتقدم بحيث يمكنك البحث عن موديلات عن طريق الاصناف مثال:
search platform:windows <ما تريد البحث عنه>
في الامر السابق بحثنا عن موديل داخل موديلات المتعلقة بالويندوز

الامر info


نستعمل هذا الامر لمعرفة المزيد من المعلومات عن الثغرة,
info <اسم الثغرة>
info <اسم الثغرة>

الامر show targets

نحتاجه لمعرفة ماهي الانظمة التي تستهدفها الثغرة أو القابلة للاختراق بها, هل هي نظام ويندوز او لينكس وان كان نظام ويندوز.
هل هو ويندوز 7 او 10 او فيستا وغيره. كما تلاحظون بالصورة
الامر show targets

الامر sessions

ويعني الجلسات وهو مصطلح يطلق على عملية ما بعد الاختراق, فعند اختراق هدف تسمى جلسة, ولمعرفة قائمة الاجهزة التي قمت باختراقها تستعمل الامر
sessions -l
وستظهر لك قائمة list لنفرض أنك تريد التحكم في نظام معين قمت باختراقه وتريد تطبيق اوامر عليه, ستقوم باختياره على حسب رقمه التعريفي id في القائمة
كمثال
sessions -i 1
الحرف i بمعنى interect
sessions

الأمر show payloads

يقوم باستعراض جميع البايلودات وهي أنواع كثيرة, وأشهر واحد هو Meterpreter
الأمر show payloads

أنواع البايلود كثيرة ومختلفة نذكر منها
  • (Inline (Non Staged
  • Staged
  • Meterpreter
  • PassiveX
  • NoNX
  • Ord
  • IPv6
  • Reflective DLL injection

الأمر show encoders

يستعرض لنا جميع خوارزميات وطرق التشفير الموجودة بالميتاسبلويت وهي كثيرة
الأمر 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 انشاء وتشفير البايلود والباكدور
كيف يتم اختراق الاندرويد بواسطة البايلود في الميتاسبلويت