متاسپلویت ۱ (معرفی)

متاسپلویت ۱ (معرفی)
متاسپلویت ۱ (معرفی)

در اولین قسمت از سری متاسپلویت می‌خواهم شمارا با یکی از قدرتمندترین پلتفرم‌های هکینگ دنیا یعنی Metasploit آشنا کنم.

معرفی و نصب Metasploit

Metasploit توسط HD Moore تحت یک پروژه متن‌باز در سال 2003 ایجاد شد. این پروژه ابتدا در Perl نوشته‌شده بود، که در سال 2007 به‌طور کامل در Ruby بازنویسی شد. در سال 2009 توسط Rapid7 یک شرکت امنیتی IT که اسکنر آسیب‌پذیر Nexpose را تولید می‌کرد، خریداری شد.

Metasploit در توزیع‌های تست نفوذ لینوکس مانند kali linux موجود است. اگر از توزیع دیگری از لینوکس یا یونیکس (مانند Mac OS) استفاده می‌کنید، می‌توانید Metasploit را از وب‌سایت Rapid7 یا Metasploit دانلود کنید.

همچنین اگر از ویندوز استفاده می‌کنید می‌توانید آن را از Rapid7 دانلود و نصب کنید، اما این کار پیشنهاد نمی‌شود، زیرا برخی از قابلیت‌های این framework در سیستم‌عامل ویندوز ترجمه نمی‌شود. علاوه بر این بسیاری از تکنیک‌های هکینگ در ویندوز کار نمی‌کند.

Metasploit در حال حاضر دارای دو نسخه است، نسخه Metasploit Pro (کامل و تجاری) و نسخه Open Source (رایگان) که در Kali موجود است.

آموزش استفاده از Metasploit

به چند روش می‌توانیم Metasploit را اجرا و از آن استفاده کنیم. رایج‌ترین روش، استفاده از کنسول Metasploit است که با تایپ کردن msfconsole در خط فرمان Kali آن را اجرا می‌کنیم. چند روش دیگر نیز وجود دارد.

msfconsole

Msfcli

ما می‌توانیم Metasploit را از خط فرمان یا در حالت msfcli اجرا کنیم. اگرچه زمانی که در کنسول هستیم به نظر می‌رسد که داریم از خط فرمان استفاده می‌کنیم، اما درواقع داریم از یک کنسول تعاملی با کلمات خاص و دستورات استفاده می‌کنیم. در msfcli، ما واقعاً از خط فرمان لینوکس استفاده می‌کنیم.

نکته: msfcli از نسخه 2.0 kali به بعد حذف شده است.

برای اینکه راهنمای استفاده از msfcli را ببینیم دستور زیر را تایپ می‌کنیم.

msfcli -h

نحوه اجرای یک اکسپلویت با استفاده از msfcli، این‌گونه است:

msfcli <the exploit> payload=<the payload> rhost=<IP> lhost=<IP> E

E مخفف execute به معنای اجرا کردن است.

ایراد اصلی msfcli این است که به‌خوبی از msfconsole پشتیبانی نمی‌کند. شما در آن فقط به یک شل محدود می‌شوید و اجرای برخی از اکسپلویت های پیچیده غیرممکن است.

Armitage

اگر می‌خواهید Metasploit را در حالت GUI (حالت گرافیکی) استفاده کنید، چندین گزینه وجود دارد که Armitage گزینه مناسبی است. توسعه‌دهنده Armitage آقای Raphael Mudge است.

برای اجرای Armitage در کالی، به‌سادگی تایپ کنید:

armitage

اگر Armitage نتوانست اتصال برقرار کند، این دستورات را اجرا کنید:

in kali v1.x
service postgresql start
service metasploit start
service metasploit stop

in kali v2.x 
msfdb init

Armitage رابط گرافیکی Metasploit است که بین کلاینت/سرور کار می‌کند. شما Metasploit را به‌عنوان یک سرور اجرا می‌کنید و Armitage به کلاینت تبدیل می‌شود، درنتیجه به شما امکان دسترسی کامل به ویژگی‌های Metasploit را از طریق یک رابط کاربری گرافیکی GUI می‌دهد. من نمی‌خواهم شمارا در استفاده از Armitage ممنوع کنم، اما تسلط بر خط فرمان برای هکرهای حرفه‌ای یک امر ضروری است.

این مطلب را از دست ندهید:
متاسپلویت ۳ (دستورات Meterpreter)

Modules ماژول‌ها

Metasploit دارای شش نوع ماژول‌ مختلف است. که این‌ها هستند:

  1. payloads
  2. exploits
  3. post
  4. nops
  5. auxiliary
  6. encoders

Payloads کدهایی هستند که در سیستم هک شده قرار می‌دهیم. بعضی از افراد آن را listeners, rootkits و غیره می‌خوانند. در Metasploit، به عنوان payloads نامیده می‌شوند. Payload ها شامل command shells, Meterpreter و غیره می‌باشد.

Exploits یک shellcode است که از یک آسیب‌پذیری یا باگ در سیستم سوء استفاده می‌کند. اکسپلویت ها روی سیستم عامل، سرویس پک، سرویس، پورت، و حتی برنامه خاصی اجرا می‌شوند. بنابراین اکسپلویت ویندوز در لینوکس کار نمی‌کند و بالعکس.

Post ماژول‌هایی هستند که ما می‌توانیم از آن به‌عنوان post exploitation روی سیستم استفاده کنیم.

Nops مخفف No OPerationS است که یعنی “کاری انجام نده”. در CPU های x86، معمولاً با hex 0x90 نشان داده می‌شود. این می‌تواند در ایجاد یک buffer overflow بسیار مهم باشد. ما می‌توانیم با استفاده از دستور show ماژول‌های nops را مشاهده کنیم.

show nops

Auxiliary شامل ماژول‌های متعددی است که شامل مواردی مانند fuzzers, scanners, denial of service attacks و غیره است.

Encoders ماژول‌هایی هستند که ما را قادر می‌سازند تا با Encode کردن payload های خود، آنتی‌ویروس AV و دیگر دستگاه‌های امنیتی را دور بزنیم. ما می‌توانیم encoder ها را با تایپ کردن دستور زیر ببینیم:

show encoders

همان‌طور که می‌بینید، Encoder های متعددی در Metasploit ساخته‌شده است. یکی از موارد موردعلاقه من shikata_ga_nai است، که به ما اجازه می‌دهد تا payload را به روش XOR رمزگذاری کنیم تا توسط نرم افزارهای AV و دستگاه‌های امنیتی قابل‌شناسایی نباشد.

Searching جستجو کردن

قابلیت search از نسخه Metasploit 4 به بعد اضافه‌شده است. پیش از این، شما مجبور بودید از msfcli و grep برای پیدا کردن ماژول‌هایی که به دنبالشان بودید استفاده کنید، اما در حال حاضر Rapid7 دستور search را اضافه کرده است.

در هنگام search ما می‌توانیم با استفاده از عبارت type، نوع ماژول را جستجو کنیم.

search type:exploit

هنگامی که این کار را انجام می‌دهیم، Metasploit تمام 1886 اکسپلویت را نشان می‌دهد که جستجوی مفید نیست.

اگر بدانیم که می‌خواهیم به یک دستگاه Sun Microsystems که روی Solaris (یونیکس خورشید) در حال اجرا هست حمله کنیم، کافی هست جستجوی‌مان را فقط با اکسپلویت های سیستم solaris فیلتر کنیم، و می‌توانیم از عبارت platform استفاده کنیم.

search type:exploit platform:solaris

اکنون ما جستجوی خود را به اکسپلویت هایی که فقط روی سیستم عامل Solaris کار می‌کنند محدود کردیم.

برای جستجوی دقیق‌تر، فرض کنید می‌خواهیم به یک sunrpc حمله کنیم، پس ما فقط می‌خواهیم اکسپلویت های این سرویس را ببینیم. بنابراین عبارت “sunrpc” را به موارد زیر اضافه کنیم:

search type:exploit platform:solaris sunrpc

همان‌طور که می‌بینید با یک جستجوی دقیق سه ماژول اکسپلویت پیدا کردیم!

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

منتظر آموزش بعدی ما باشید و اگر سؤالی داشتید، حتماً در نظرات زیر بپرسید.

حتما نگاهی به این مطالب بیندازید

نظرتان را بگویید

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

دانلود PDF مقاله
حجم فایل حدود 2 مگابایت است

نگران نباشید، ایمیل‌های مزاحم نمی‌فرستیم
close-link
دریافت هدیه
حجم فایل حدود 1 مگابایت است

نگران نباشید، ایمیل‌های مزاحم نمی‌فرستیم
close-link