آموزش Metasploit Framework از صفر تا شروع تست نفوذ

Metasploit Framework training from scratch to starting penetration testing
0 دیدگاه
۱۴۰۵-۰۶-۰۳ ۱۰:۵۷:۱۷

اگر وارد دنیای تست نفوذ و امنیت سایبری شده‌اید، احتمالاً نام Metasploit Framework را زیاد شنیده‌اید. Metasploit یکی از شناخته‌شده‌ترین فریم‌ورک‌ها برای پژوهش امنیتی، بررسی آسیب‌پذیری‌ها و انجام تست نفوذ مجاز است.

در این آموزش یاد می‌گیریم Metasploit چیست، چگونه آن را در Kali Linux اجرا کنیم، با ساختار آن آشنا شویم و یک سناریوی آزمایشگاهی امن را اجرا کنیم.

⚠️ هشدار: تمام تمرین‌های این آموزش باید فقط روی سیستم خودتان، ماشین‌های آزمایشگاهی یا اهدافی که برای تست آن‌ها مجوز صریح دارید انجام شوند.


Metasploit چیست؟

Metasploit Framework یک فریم‌ورک متن‌باز برای تحقیقات امنیتی و تست نفوذ است.

این فریم‌ورک مجموعه بزرگی از ماژول‌ها و ابزارها را در اختیار متخصص امنیت قرار می‌دهد تا بتواند در یک محیط مجاز:

  • آسیب‌پذیری‌ها را بررسی کند.
  • Exploitها را آزمایش کند.
  • Payloadها را در آزمایشگاه اجرا کند.
  • نتایج تست نفوذ را بررسی کند.
  • رفتار سیستم در برابر حملات شبیه‌سازی‌شده را ارزیابی کند.

Metasploit به‌تنهایی «هک با یک کلیک» نیست؛ شناخت شبکه، سیستم‌عامل، آسیب‌پذیری و روش تحلیل نتایج برای استفاده صحیح از آن ضروری است.


Metasploit در Kali Linux

در نسخه‌های Kali Linux معمولاً Metasploit از قبل در دسترس است.

ابتدا ترمینال را باز کنید:

msfconsole

اگر فریم‌ورک نصب باشد، محیطی شبیه زیر مشاهده می‌کنید:

msf6 >

برای مشاهده نسخه:

version

و برای مشاهده راهنمای کلی:

help

ساختار اصلی Metasploit

مهم‌ترین بخش‌هایی که در Metasploit با آن‌ها مواجه می‌شوید عبارت‌اند از:

Exploit

کدی که از یک آسیب‌پذیری مشخص برای اجرای یک عملیات استفاده می‌کند.

Payload

داده یا کدی که پس از موفقیت Exploit اجرا می‌شود.

Auxiliary

ماژول‌هایی برای کارهایی مانند اسکن، شناسایی و تست سرویس‌ها.

Post

ماژول‌هایی که در مرحله پس از دسترسی، برای ارزیابی بیشتر سیستم مجاز استفاده می‌شوند.

Encoder

برای تبدیل یا رمزگذاری Payloadها در سناریوهای خاص استفاده می‌شود.


جست‌وجو در Metasploit

یکی از دستورات مهم:

search

برای مثال می‌توانید بر اساس یک عبارت جست‌وجو کنید:

search type:auxiliary

یا:

search type:exploit

همچنین می‌توانید نام یک محصول یا آسیب‌پذیری شناخته‌شده را جست‌وجو کنید.

نکته مهم این است که قبل از انتخاب Exploit باید آسیب‌پذیری هدف را دقیقاً شناسایی کنید؛ انتخاب تصادفی Exploit روش مناسبی برای تست نفوذ نیست.


مشاهده اطلاعات یک ماژول

فرض کنید یک ماژول آزمایشگاهی پیدا کرده‌اید.

برای انتخاب آن:

use <module>

بعد می‌توانید اطلاعات آن را مشاهده کنید:

info

این بخش بسیار مهم است، زیرا info مشخص می‌کند ماژول برای چه نرم‌افزار، نسخه و شرایطی طراحی شده است.


مشاهده گزینه‌های ماژول

دستور:

show options

گزینه‌هایی را نشان می‌دهد که برای اجرای ماژول باید بررسی یا تنظیم شوند.

به‌عنوان مثال ممکن است با مواردی مانند این مواجه شوید:

RHOSTS
RPORT
LHOST
LPORT

معنای کلی آن‌ها:

  • RHOSTS: سیستم هدف در آزمایشگاه
  • RPORT: پورت سرویس هدف
  • LHOST: آدرس سیستم آزمایش‌کننده
  • LPORT: پورتی که برای ارتباط برگشتی استفاده می‌شود

نکته مهم درباره RHOSTS و LHOST

این دو گزینه را با یکدیگر اشتباه نگیرید.

فرض کنید آزمایشگاه شما چنین ساختاری دارد:

Kali Linux
10.10.10.10
      |
      |
10.10.10.20
Lab Target

در این حالت Kali سیستم آزمایش‌کننده است و سیستم دوم هدف آزمایشگاهی.

بنابراین آدرس‌ها باید بر اساس شبکه آزمایشگاه خودتان تنظیم شوند، نه یک IP تصادفی در اینترنت.


بررسی ماژول قبل از اجرا

قبل از اجرای هر ماژول بهتر است این مراحل را انجام دهید:

info

سپس:

show options

و در صورت وجود:

show targets

این کار کمک می‌کند بفهمید آیا ماژول واقعاً با نسخه و شرایط سیستم آزمایشگاهی شما سازگار است یا خیر.


یک آزمایشگاه امن بسازید

برای یادگیری Metasploit پیشنهاد می‌کنم حداقل دو ماشین مجازی داشته باشید:

┌──────────────────────┐
│      Kali Linux      │
│   Testing Machine    │
└──────────┬───────────┘
           │
      Lab Network
           │
┌──────────▼───────────┐
│    Vulnerable VM     │
│    Target Machine    │
└──────────────────────┘

برای سیستم هدف می‌توانید از ماشین‌های عمداً آسیب‌پذیر و قانونی آموزشی استفاده کنید.

هدف آزمایشگاه باید از اینترنت عمومی جدا باشد.


استفاده از Auxiliary برای شناسایی

Metasploit فقط برای Exploit کردن نیست.

ماژول‌های auxiliary برای فعالیت‌های مختلف امنیتی استفاده می‌شوند.

برای مشاهده آن‌ها:

show auxiliary

یا:

search type:auxiliary

یکی از کاربردهای مهم این بخش، بررسی سرویس‌های موجود روی یک هدف آزمایشگاهی است.

مثلاً ابتدا سرویس و پورت موردنظر را با ابزارهای مناسب شناسایی می‌کنید و سپس در Metasploit ماژول متناسب را انتخاب می‌کنید.

این روند مهم‌تر از اجرای کورکورانه Exploit است:

Discovery → Enumeration → Vulnerability Analysis → Validation


Exploit چیست؟

فرض کنید در آزمایشگاه متوجه شده‌اید یک سرویس مشخص دارای یک آسیب‌پذیری شناخته‌شده است.

در این مرحله می‌توانید در Metasploit به دنبال ماژول مربوط به همان آسیب‌پذیری بگردید:

search <vulnerability-name>

سپس:

info <module>

و مشخصات آن را بررسی کنید.

اگر ماژول با نسخه هدف آزمایشگاهی سازگار بود:

use <module>

سپس:

show options

چرا نباید مستقیماً run کنیم؟

یکی از اشتباهات رایج افراد تازه‌کار این است:

search
→ use
→ run

بدون اینکه بدانند ماژول چه کاری انجام می‌دهد.

روش حرفه‌ای‌تر:

شناسایی هدف
      ↓
تشخیص سرویس و نسخه
      ↓
بررسی آسیب‌پذیری
      ↓
مطالعه ماژول
      ↓
تنظیم گزینه‌ها
      ↓
اجرای تست در آزمایشگاه
      ↓
تحلیل نتیجه

این همان چیزی است که Metasploit را از یک مجموعه دستور ساده به یک ابزار حرفه‌ای تبدیل می‌کند.


دستورات مهم Metasploit

دستور کاربرد
help نمایش راهنما
version نمایش نسخه
search جست‌وجوی ماژول
use انتخاب ماژول
info اطلاعات ماژول
show options نمایش تنظیمات
show payloads نمایش Payloadهای مرتبط
show targets نمایش Targetهای پشتیبانی‌شده
back خروج از ماژول
sessions مشاهده Sessionها
jobs مشاهده Jobهای در حال اجرا
exit خروج از Metasploit

اشتباهات رایج مبتدی‌ها

❌ اجرای Exploit روی سیستم‌های ناشناس

این کار هم از نظر اخلاقی و هم از نظر قانونی مشکل‌ساز است.

❌ انتخاب Exploit بدون شناخت نسخه

ممکن است باعث Crash سرویس یا اختلال در سیستم شود.

❌ استفاده از IP اینترنتی به‌عنوان هدف تمرینی

برای شروع از شبکه داخلی آزمایشگاه استفاده کنید.

❌ نادیده گرفتن مستندات

همیشه قبل از استفاده از ماژول، info و show options را بررسی کنید.


تمرین پیشنهادی برای کاربران صفر و یک سایبر

بعد از یادگیری دستورات بالا، یک آزمایشگاه دو ماشینه بسازید:

Machine 1: Kali Linux
Machine 2: یک سیستم عمداً آسیب‌پذیر آموزشی

سپس این مسیر را تمرین کنید:

1. پیدا کردن IP ماشین آزمایشگاهی
        ↓
2. شناسایی سرویس‌ها
        ↓
3. تشخیص نسخه سرویس
        ↓
4. جست‌وجوی آسیب‌پذیری مرتبط
        ↓
5. پیدا کردن Module مناسب در Metasploit
        ↓
6. مطالعه info
        ↓
7. بررسی show options
        ↓
8. اجرای تست در محیط آزمایشگاهی
        ↓
9. تحلیل نتیجه

جمع‌بندی

Metasploit Framework یکی از ابزارهای مهم در مسیر یادگیری Penetration Testing است؛ اما یادگیری واقعی آن فقط حفظ کردن چند دستور نیست.

اگر می‌خواهید متخصص تست نفوذ شوید، باید بتوانید بین شناسایی، Enumeration، تحلیل آسیب‌پذیری، انتخاب Exploit و تحلیل نتیجه ارتباط برقرار کنید.

دسته بندی‌ها:

دیدگاه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *