
دستور banner یک دستور بسیار ساده است که برای نمایش اطلاعات بنر فریمورک Metasploit استفاده میشود. این اطلاعات معمولاً شامل جزئیات نسخه و تعداد اکسپلویتها، ماژولهای کمکی (auxiliaries)، پیلودها، انکودرها و مولدهای NOP موجود در نسخه نصبشده فعلی است.
نحوه استفاده (Syntax):
msf> banner
اسکرینشات زیر نحوه استفاده از دستور banner را نشان میدهد:

دستور version برای بررسی نسخه نصبشده فعلی فریمورک Metasploit استفاده میشود.
نحوۀ استفاده:
msf> version
اسکرینشات زیر نحوه استفاده از دستور version را نشان میدهد.

دستور connect در فریمورک Metasploit قابلیتی مشابه ابزارهای PuTTY یا Netcat ارائه میدهد. از این قابلیت میتوان برای انجام یک اسکن سریع پورت یا دریافت بنر پورت (Port Banner Grabbing) استفاده کرد.
نحوۀ استفاده:
msf> connect <ip:port>
تصویر زیر نحوه استفاده از دستور connect را نشان میدهد:

همانطور که از نامش مشخص است، دستور help اطلاعات تکمیلی درباره نحوه استفاده از هر یک از دستورات داخل فریمورک Metasploit ارائه میدهد.
ساختار دستور:
msf> help
دستور route برای افزودن، مشاهده، ویرایش یا حذف مسیرهای شبکه استفاده میشود. این دستور معمولاً در سناریوهای پیشرفته و برای Pivoting (حرکت جانبی در شبکه پس از نفوذ اولیه) به کار میرود که در بخشهای بعدی این کتاب به آن خواهیم پرداخت.
ساختار دستور:
msf> route
در برخی مواقع، هنگام انجام تست نفوذ روی یک محیط هدف پیچیده، تغییرات پیکربندی زیادی در فریمورک Metasploit اعمال میشود. حال اگر لازم باشد تست نفوذ در زمان دیگری دوباره ادامه داده شود، پیکربندی مجدد Metasploit از ابتدا میتواند بسیار زمانبر و آزاردهنده باشد.
دستور save تمام پیکربندیهای فعلی را در یک فایل ذخیره میکند و این تنظیمات در اجرای بعدی Metasploit بهصورت خودکار بارگذاری میشوند؛ در نتیجه، نیازی به انجام دوباره تنظیمات نخواهد بود.
ساختار دستور:
msf> save

پس از اینکه هدف با موفقیت اکسپلویت شد، معمولاً یک session شِل روی سیستم هدف دریافت میکنیم. اگر بهصورت همزمان روی چندین هدف کار کنیم، ممکن است چندین session فعال بهطور همزمان وجود داشته باشد.
فریمورک Metasploit این امکان را فراهم میکند که هر زمان لازم بود بین sessionهای مختلف جابهجا شویم. دستور sessions تمام sessionهای فعالی را که در حال حاضر با سیستمهای هدف مختلف برقرار شدهاند، نمایش میدهد.
ساختار دستور:
msf> sessions
تصویر زیر نحوه استفاده از دستور sessions را نشان میدهد:

دستور show برای نمایش ماژولهای موجود در چارچوب Metasploit یا برای نمایش اطلاعات تکمیلی هنگام استفاده از یک ماژول خاص به کار میرود.
ساختار دستور:
msf> show
دستور info برای نمایش جزئیات مربوط به یک ماژول خاص در چارچوب Metasploit استفاده میشود.
برای مثال، ممکن است بخواهید اطلاعات مربوط به payload متـرپرتر (Meterpreter) را مشاهده کنید؛ مانند معماریهای پشتیبانیشده و گزینههایی که برای اجرای آن لازم است.
ساختار دستور:
msf> info
دستور irb پلتفرم تعاملی Ruby را از داخل چارچوب Metasploit اجرا میکند. پلتفرم تعاملی Ruby معمولاً برای ایجاد و اجرای اسکریپتهای سفارشی، بهویژه در مرحلهی پس از بهرهبرداری (Post-Exploitation)، استفاده میشود.
ساختار دستور:
msf> irb
چارچوب Metasploit شامل تعداد زیادی اکسپلویت و پیلود است. گاهی پیدا کردن ماژول یا اکسپلویت دقیق میتواند گیجکننده باشد. در چنین مواقعی، دستور search بسیار کاربردی است.
برای مثال، اگر بخواهیم بررسی کنیم چه اکسپلویتهایی برای VLC وجود دارد، میتوانیم از دستور search استفاده کنیم.
ساختار دستور:
msf> search <string>

حتی امکان جستجو بر اساس نویسنده (author)، آسیبپذیریها و مواجهههای رایج (CVE)، تاریخ، پورت، پلتفرم و موارد دیگر نیز وجود دارد.
برای مشاهده پارامترهای بیشتر جستجو، کافی است از دستور help search استفاده کنید؛ همانطور که در اسکرینشات زیر نشان داده شده است.

برای بیشتر اکسپلویتهایی که در چارچوب Metasploit استفاده میکنیم، لازم است مقادیری را برای برخی از متغیرها تنظیم کنیم. در ادامه، برخی از رایجترین و مهمترین متغیرها در Metasploit Framework آورده شدهاند.
نام متغیر
LHOST
توضیح متغیر
میزبان محلی: این متغیر شامل آدرس IP سیستم مهاجم است؛ یعنی آدرس IP سیستمی که اکسپلویت از آن آغاز میشود.
نام متغیر
LPORT
توضیح متغیر
پورت محلی: این متغیر شامل شماره پورت (محلی) سیستم مهاجم است. این مورد معمولاً زمانی لازم است که انتظار داریم اکسپلویت یک شل معکوس (Reverse Shell) به ما بدهد.
نام متغیر
RHOST / RHOSTS
توضیح متغیر
میزبان راهدور: این متغیر شامل آدرس IP سیستم هدف ما است.
اگر بخواهیم یک اکسپلویت را بهصورت همزمان علیه چندین هدف اجرا کنیم، میتوانیم از RHOSTS استفاده کنیم. برای مثال:
RHOSTS 192.168.0.1/24
همچنین میتوان یک فایل کامل شامل IP اهداف را به متغیر RHOSTS داد. برای مثال:
RHOSTS file:///opt/targets.txt
نام متغیر
RPORT
توضیح متغیر
پورت راهدور: این متغیر شامل شماره پورتی روی سیستم هدف است که قصد حمله/اکسپلویت آن را داریم. برای مثال، برای اکسپلویت یک آسیبپذیری FTP روی سیستم هدف، مقدار RPORT برابر با 21 تنظیم میشود.
اکنون که متغیرهای مختلف را بررسی کردیم، بیایید نگاهی به برخی از دستورات رایج برای مقداردهی به متغیرها بیندازیم.
دستور get برای دریافت مقدار ذخیرهشده در یک متغیر محلی مشخص در چارچوب Metasploit استفاده میشود.
برای مثال، ممکن است بخواهید آدرس IP سیستم هدفی را که برای یک اکسپلویت خاص تنظیم کردهاید مشاهده کنید.
نحوۀ استفاده:
msf> get
دستور getg بسیار شبیه به دستور get است، با این تفاوت که مقدار ذخیرهشده در متغیرهای سراسری (Global Variables) را برمیگرداند.
نحوۀ استفاده:
msf> getg
دستور set برای اختصاص دادن یک مقدار جدید به یکی از متغیرهای محلی (Local) در چارچوب Metasploit استفاده میشود (مانند RHOST، RPORT، LHOST و LPORT). اما مقدار تنظیمشده با دستور set فقط برای همان نشست/نمونۀ فعلی معتبر است.
در مقابل، دستور setg یک مقدار جدید را به متغیر سراسری (Global) اختصاص میدهد و این مقدار بهصورت دائمی ذخیره میشود تا هر زمان که لازم بود دوباره قابل استفاده باشد.
نحوۀ استفاده:
msf> set <VARIABLE> <VALUE> msf> setg <VARIABLE> <VALUE>
دستور unset مقداری را که قبلاً با دستور set در یک متغیر محلی (Local) ذخیره شده است، پاک میکند.
دستور unsetg نیز مقداری را که قبلاً با دستور setg در یک متغیر سراسری (Global) ذخیره شده است، حذف میکند.
نحوۀ استفاده:
msf> unset <VARIABLE>
msf> unsetg <VARIABLE>


Telegram: @CaKeegan
Gmail : amidgm2020@gmail.com