بعد از اینکه با Nmap یک هدف را شناسایی کردید، قدم بعدی در یک تست نفوذ ساختاریافته، تلاش برای اثبات آسیبپذیریهای پیداشده است. Metasploit Framework محبوبترین و پرکاربردترین ابزار متنباز برای این کار است — مجموعهای عظیم و سازمانیافته از ماژولهای آماده برای شناسایی، اکسپلویت، و پس از نفوذ.
توجه مهم: تمام دستورات این آموزش فقط باید روی سیستمها و شبکههایی اجرا شوند که مجوز صریح تست دارید — مثل آزمایشگاه شخصی خودتان یا یک قرارداد تست نفوذ رسمی. استفاده از این ابزارها روی هر شبکه یا سیستمی بدون اجازه، جرم است. این آموزش فقط ساختار ابزار و اجرای یک ماژول شناسایی (غیرمخرب) روی یک ماشین آزمایشگاهی خودتان را پوشش میدهد.
Metasploit دقیقاً از چه بخشهایی تشکیل شده؟
Exploit: کدی که از یک آسیبپذیری خاص در یک نرمافزار یا سرویس سوءاستفاده میکند.
Payload: کدی که بعد از موفقیت Exploit روی سیستم هدف اجرا میشود (مثلاً باز کردن یک Shell از راه دور).
Auxiliary: ماژولهایی که Exploit نیستند ولی برای شناسایی، اسکن، یا جمعآوری اطلاعات استفاده میشوند — دقیقاً جایی که این آموزش روی آن تمرکز میکند.
Post: ماژولهایی که بعد از دسترسی موفق، برای جمعآوری اطلاعات بیشتر یا حفظ دسترسی استفاده میشوند.
قدم اول: راهاندازی msfconsole
روی Kali Linux از قبل نصب است:
msfconsole
بعد از چند ثانیه بارگذاری، وارد محیط تعاملی اصلی Metasploit میشوید.
قدم دوم: جستوجوی یک ماژول
search portscan
این دستور همهی ماژولهای مرتبط با اسکن پورت را نشان میدهد، همراه با نوع هرکدام (auxiliary، exploit، و غیره) و تاریخ انتشار.
قدم سوم: انتخاب و بارگذاری یک ماژول شناسایی
use auxiliary/scanner/portscan/tcp
بعد از این دستور، خط فرمان تغییر میکند و نشان میدهد الان داخل همان ماژول هستید.
قدم چهارم: مشاهده و تنظیم گزینههای ماژول
show options
این دستور همهی پارامترهای قابلتنظیم ماژول را نشان میدهد — مهمترینشان معمولاً RHOSTS (آدرس یا محدودهی هدف) است:
set RHOSTS 192.168.1.10
set PORTS 1-1000
قدم پنجم: اجرای ماژول
run
Metasploit حالا همان اسکن پورت را (شبیه به کاری که Nmap انجام میدهد، ولی از داخل همین فریمورک یکپارچه) اجرا میکند و نتیجه را نمایش میدهد.
قدم ششم: درک مفهوم Payload (بدون اجرای واقعی اکسپلویت)
در یک سناریوی واقعی، بعد از پیدا کردن یک Exploit مناسب برای یک آسیبپذیری شناختهشده، دستوراتی مثل زیر برای انتخاب Payload استفاده میشوند:
set PAYLOAD windows/meterpreter/reverse_tcp
show options
Meterpreter یک Payload پیشرفته است که بعد از اجرای موفق، یک محیط کنترل تعاملی روی سیستم هدف باز میکند — ولی اجرای واقعی یک Exploit فقط باید در یک محیط آزمایشگاهی کاملاً کنترلشده (مثل یک ماشین مجازی آسیبپذیر ساختهشده برای تمرین) انجام شود، هرگز روی سیستمی که مجوز رسمی برایش ندارید.
چرا یادگیری ساختار Metasploit مهم است؟
حتی اگر هرگز یک Exploit واقعی اجرا نکنید، فهمیدن اینکه یک فریمورک حرفهای چطور شناسایی، اکسپلویت، و Payload را از هم جدا و سازماندهی میکند، دید عمیقی نسبت به کل فرآیند تست نفوذ میدهد — دقیقاً همان دیدی که در دورههای امنیت و تست نفوذ من، در کنار تمرین روی ماشینهای آزمایشگاهی مجاز، منتقل میشود.
وبلاگ