آموزش کار با متا اسپلویت در کالی لینوکس
در آموزش کار با متا اسپلویت در کالی لینوکس با سایت هوشیار همراه باشید.
متااسپلویت چیست و چه کاربردی دارد.؟
متااسپلویت فریم ورکی متن باز است که توسط آقای HD Moore به صورت اختصاصی برای متخصصان نفوذ، هکر ها، محققین امنیتی و دیگر فعالان موجود در زمینه امنیت شبکه نوشته شده است. شما با استفاده از این فریم ورک می توانید آسیب پذیری های موجود در سیستم ها، شبکه ها و نرم افزار های گوناگون را به کار گرفته و به آن ها نفوذ کنید. این فریم ورک به صورت پیش فرض دارای اکسپلویت های بسیاری می باشد ولی علاوه بر آن شما می توانید خودتان اکسپلویت دلخواه خود را ایجاد کنید و به آن اضافه کنید.
کلیه ی پروسه های عملیات هک با Metasploit شامل موارد زیر می شود:
- انتخاب یک اکسپلویت
- تنظیم آپشن ها و گزینه های اختیاری اکسپلویت
- انتخاب یک payload
- تنظیم آپشن ها و گزینه های اختیاری Payload
- اجرا کردن اکسپلویت
- برقررای ارتباط با سیستم مورد نظر (سیستم ریموت)
- اجرای فرآیند سوء استفاده از سیستم مورد نظر
ساختار فریم ورک متااسپلویت
متااسپلویت از اجزای مختلفی تشکیل شده است . این بخش ها و کامپوننت ها شامل همه کتابخانه های مهم، ماژول ها، پلاگین ها، و دیگر ابزار ها می باشند. دیاگرام زیر این ساختار را به بهترین شیوه نمایش میدهد.
کتابخانه REX: این کتابخانه تقریبا همه عملکردهای هسته ای مثل تنظیم سوکت ها، اتصالات، فرمت بندی و دیگر توابع خام را انجام می دهد.
کتابخانه MSF CORE : عملکرد API اساسی و هسته واقعی که فریم ورک را توصیف می کند را ارایه می دهد.
کتابخانه MSFBASE : پشتیبانی خوبی به ماژول ها ارایه می کند.
انواع ماژول در متااسپلویت
Payload : این ماژول به منظور انجام عملیات هایی مثل اتصال به سیستم هدف یا انجام کارهایی مثل نصب یک سرویس و غیره بکار می رود. اجرای پیلود گام بعدی پس از اینکه یک سیستم به کارگرفته شد می باشد. معروف ترین پیلود متااسپلویت Meterpreter می باشد که در ادامه این سری از آموزش متااسپلویت در مورد آن کامل صحبت خواهیم کرد.
Auxiliary : ماژول های اِگزلیِری یک نوع ویژه از ماژول ها هستند که وظایف خاصی را انجام می دهند. کارهایی مثل جمع آوری اطلاعات ، انگشت نگاری پایگاه داده ، اسکن شبکه به منظور پیدا کردن یک سرویس خاص و سرشماری و … که عملکرد های رایج ماژول های اِگزلیِری هستند
Encoder : از انکودر ها به منظور رمزنگاری پیلود ها و وکتور های حمله برای جلوگیری از شناسایی شدن توسط آنتی ویروس ها و فایروال ها بکار می روند.
NOPS : موجب پایدار شدن عملکرد پیلود ها می شوند.
Exploit : قطعه کدی است که به منظور اجرا بر روی سیستم قربانی و بکارگیری آسیب پذیری استفاده می شود.
Searching جستجو کردن : قابلیت search از نسخه Metasploit 4 به بعد اضافهشده است. پیش از این، شما مجبور بودید از msfcli و grep برای پیدا کردن ماژولهایی که به دنبالشان بودید استفاده کنید، اما در حال حاضر Rapid7 دستور search را اضافه کرده است.
در هنگام search ما میتوانیم با استفاده از عبارت type، نوع ماژول را جستجو کنیم.
آشنایی با دستورات متااسپلویت
یادگیری و استفاده از دستورات متاسپلویت میتواند شمارا در مدیریت این ابزار قدرتمند کمک کند. مهمترین دستورات آن به شرح ذیل است:
Show
“Show” یکی از اصلیترین دستورات متاسپلویت است. این دستور برای نمایش ماژولها استفاده میشود، مانند دستورات show payloads, show exploits و غیره. همچنین دستور show options برای نمایش گزینههای اکسپلویت انتخابشده ما، استفاده میشود.
اگر قبل از انتخاب یک اکسپلویت، دستور “show payloads” را اجرا کنیم تمام payload های موجود را نشان میدهد. اما اگر بعد از انتخاب یک اکسپلویت، دستور “show payloads” را اجرا کنیم فقط payload هایی که با اکسپلویت انتخابشده ما کار میکند نشان داده میشود.
دستور Show Option تنظیمات مربوط به payload را مشخص می کند و دستور Show Targets سیستم عامل قربانی را مشخص می کند.
Help
دستور “help” لیست دستورات msfconsole را نشان میدهد.
Info
“Info” ما را قادر میسازد تمام اطلاعات اکسپلویت را ببینیم. بعد از انتخاب یک اکسپلویت، میتوانیم “info” را تایپ کنیم تا تمام گزینهها، هدفها و توضیحات اکسپلویت را نمایش دهد. من ترجیح میدهم دستور info را روی هر اکسپلویتی که استفاده میکنم اجرا کنم تا تمام ویژگیها و الزامات آن اکسپلویت را ببینم.
Set
دستور “Set” برای تعیین پارامترها و متغیرهایی که برای اجرای اکسپلویت لازم است استفاده میشود. این متغیرها شامل payload, RHOST, LHOST, target, URIPATH و غیره است.برای مثال برای اختصاص دادن آی پی هدف به برنامه دستور set rhost 192.168.1.158 را وارد می کنیم.
Back
وقتی کار ما با یک ماژول تمام میشود و یا زمانی که ماژول اشتباهی را انتخاب کردیم، میتوانیم از دستور “back” برای بازگشت به پرامپ msfconsole استفاده کنیم.
Use
هنگامیکه تصمیم گرفتیم که کدام اکسپلویت را میخواهیم روی سیستم هدف استفاده کنیم، از دستور “use” برای load کردن اکسپلویت و آمادهسازی آن برای ارسال به سیستم هدف استفاده میکنیم.
مثلا با دستور [Use [Exploit Name پس از نمایش تمام exploit ها شما می توانید به کمک این دستور exploit مورد نظر خود را انتخاب کنید.
Exploit
بعد از این که مراحل انتخاب اکسپلویت موردنظر، تعیین تمامی متغیرها و انتخاب payload را انجام دادیم، آخرین چیزی که انجام میدهیم دستور “exploit” است تا اکسپلویت موردنظر روی سیستم هدف اجرا شود.
Sessions
دستور “sessions” برای لیست یا تعیین کردن یک session یا نشست استفاده میشود. برای لیست تمام session های باز از سوئیچ ” -l” میکنیم. هنگامیکه دستور با تعداد استفاده میشود برای مثال “sessions -1” یعنی متاسپلویت اولین session را فعال کند.
متاسپلویت به ما اجازه میدهد که چندین session را در یک یا در چندین سیستم اجرا کنیم. با استفاده از دستور sessions، میتوانیم session های باز را پیدا و فعال کنیم یا بینشان سوئیچ کنیم.
Exit
هنگامیکه بخواهیم از محیط msfconsole خارج شویم، ” exit” را تایپ میکنیم.
شروع کار با فریم ورک متااسپلویت در محیط عملی
برای کار با متااسپلویت ابتدا نسخه مورد نظر را از سایت متااسپلویت دانلود کنید.
اگر ازسیستم عامل کالی لینوکس استفاده می کنید متااسپلویت به صورت پیش فرض روی آن نصب است که می توانید در صفحه اصلی سیستم عامل کالی لینوکس، در بخش نوار ابزار سمت راست، برنامه متااسپلویت را باز کنید(روی آیکون M کلیک نمایید.) .ما در این آموزش از سیستم عامل کالی استفاده می کنیم.
اگر برای اولین بار است می خواهید از متااسپلویت استفاده کنید دستورات زیر را وارد کنید :
service postgresql start
msfdb init
پس از start شدن پایگاه داده و اتصال متااسپلویت به پایگاه داده حال دستور زیر را وارد کنید
msfconsole
با وارد کردن دستور فوق کنسول متااسپلویت برای شما نمایش داده می شود
در این کنسول شما می توانید با وارد کردن دستور help دستوراتی که می توانید در متااسپلویت استفاده کنید را مشاهده نمایید
بعد از اولین پروسه نفوذ یعنی جمع آوری اطلاعات میزبان هدف ، شما اطلاعات جامعی از قربانی بدست آورده اید که با استفاده از آن می توانید فیلتر جستجو را در متااسپلویت برای استفاده از ماژول و پیلود خاص بیشتر کنید.
سپس شما می توانید از دستور search استفاده کنید تا ماژول مورد نظر خودتان را پیدا کنید به طور مثال من می خواهم تمام اکسپلویت هایی که برای ویندوز وجود دارد برای من نمایش داده شود.برای همین منظور از دستور زیر استفاده کنید:
search platform:windows type:exploit
همچنین شما می توانید با اجرای دستور search تمامی پارامترهای مورد نیاز این دستور را ببینید
خب حالا میخواهیم با یکی از ماژول های پر کاربرد متااسپلویت آشنا بشیم . برای این که یک ماژول را انتخاب کنیم از دستور use استفاده میکنیم :
use auxiliary/scanner/smb/smb_version
با استفاده از این ماژول می توانیم نوع سیستم عامل یک میزبان را بدست بیاوریم . در متااسپلویت هر ماژول برای عملیات مورد نظر یکسری ورودی می گیرد .برای این که اطلاعاتی در مورد هر ماژول بدست بیارویم از دستور show option استفاده می کنیم
در ستون Required هر قسمت که yes بود و مقدار نداشت باید به آن فیلد مقدار بدهیم. در اینجا ما به فیلد RHOSTS بایستی مقدار بدهیم. من در اینجا آدرس میزبان هدف را وارد می کنم تا بتوانم نوع سیستم عامل آن را بدست بیاورم. برای اختصاص دادن مقدار به یک فیلد از دستور زیر استفاده میکنیم:
set RHOSTS 192.168.1.40
حال برای اجرای ماژول فوق کافی است تا دستور run را اجرا کنم
همانطور که مشاهده می کنید سیستم عامل میزبان مورد نظر ما با موفقیت اکسپلویت شده است.
درجلسه بعد کار با Meterpreter را در متااکسپلویت به شما عزیزان آموزش خواهیم داد.