Try Hack Box
5.9K subscribers
685 photos
65 videos
125 files
692 links
1 Nov 2020
1399/08/11
آموزش تست نفوذ و ردتیم

https://linkedin.com/company/tryhackbox-org/

یوتیوب
https://youtube.com/@tryhackbox

کانال ها :
@TryHackBoxOfficial ( نقشه راه )
@TryHackBoxStory ( اخبار و داستانهای هک )
پشتیبانی : @ThbxSupport
Download Telegram
زرادخانه Metasploit شامل چندین رابط کاربری، یک مجموعه اکسپلویت و یک مجموعه پیلودگذاری است. در زمینه Metasploit، یک اکسپلویت قطعه کدی است که می‌تواند از یک آسیب‌پذیری معین در یک برنامه تارگت استفاده کند و آن را به صورت payload اجرا کند. payload قطعه ای از کد است که کاری را بر روی یک ماشین تارگت برای کاربر Metasploit انجام می دهد، مانند باز کردن یک شل فرمان قابل دسترسی از راه دور یا به دست آوردن کنترل از راه دور رابط کاربری گرافیکی ماشین تارگت. با جداسازی اکسپلویت ها از پیلود ها، Metasploit به ما این امکان را می دهد که یک اکسپلویت معین را برای یک آسیب پذیری که در یک محیط تارگت کشف کرده ایم، با یک پیلود خاص انتخابی ما که نوع کنترلی را که بر روی یک هدف نیاز داریم، به ما می دهد، ترکیب و مطابقت دهیم. به عنوان مثال، ممکن است یک پیلود را انتخاب کنید که به شل فرمان از راه دور در یک دستگاه ویندوز مورد نظر دسترسی داشته باشد زیرا مهارت های خط فرمان خوبی در ویندوز دارید. یا ممکن است یک پیلود با کنترل رابط کاربری گرافیکی از راه دور انتخاب کنید زیرا بیشتر به رابط کاربری گرافیکی گرایش دارید. یا ممکن است انعطاف‌پذیری بسیار زیاد بار Meterpreter را ترجیح دهید، که بعداً با جزئیات بیشتر به آن خواهیم پرداخت. برای هر اکسپلویت معین، ما اغلب ده ها پیلود یا بیشتر سازگار داریم که می توانیم از بین آنها انتخاب کنیم.

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

علاوه بر این، Metasploit شامل ماژول‌های کمکی متعددی است که قابلیت‌های حمله دیگری از جمله اسکن پورت، بررسی آسیب‌پذیری، interrogation DNS و انواع ویژگی‌های دیگر را ارائه می‌کنند.

متاسپلویت همچنین شامل ماژول های پست است. تسترهای نفوذ پس از بهره برداری موفقیت آمیز از یک ماشین هدف از آنها استفاده می کنند.
بسیاری از آنها با هدف برای کسب اطلاعات ارزشمند مرتبط هستند، در حالی که برخی دیگر بر پیکربندی مجدد سیستم هدف تمرکز می کنند تا آن را به خواست مهاجم خم کنند.

بسیاری از محققان امنیتی به طور منظم برای آسیب پذیری های جدید کشف شده به عنوان ماژول های Metasploit، ادغام شده در چارچوب Metasploit و آماده استفاده، اکسپلویت های جدیدی را منتشر می کنند. برخی از محققان بر روی پیلودهای جدید کار می کنند و قابلیت های جدیدی را ایجاد می کنند که توسط اکسپلویت های موجود در Metasploit قابل استفاده است.

#Metasploit
@TryHackBox
👍4
گشت و گذار در Metasploit

اکنون، ما به یک تور با راهنما در Metasploit خواهیم رفت.

تسترهای نفوذ و هکرهای اخلاقی و مجرمان سایبری که به شدت به Metasploit متکی هستند، اغلب باید یک قطعه مشخص از Metasploit را بررسی کنند تا با جزئیات بیشتری بفهمند که چه کاری انجام می دهد. کد Metasploit به خوبی توضیح داده شده و ساختار خوبی دارد. حتی اگر Ruby را درک نکنید، احتمالاً با بررسی کد آن که از طریق تکنیک‌هایی که در این تور به آنها خواهیم پرداخت به آن دسترسی خواهید داشت، متوجه خواهید شد که یک مؤلفه مشخص چه کاری انجام می‌دهد.
#Metasploit
@TryHackBox
👍3
Try Hack Box
اجزای MSF @TryHackBox
عناصر اصلی Metasploit عبارتند از:

• Documentation: این دایرکتوری حاوی اطلاعاتی در مورد نحوه استفاده از جنبه های مختلف Metasploit است.
• رابط های کاربری: Metasploit چندین ابزار مختلف برای تعامل با فریم ورک فراهم می کند. خوب
در ادامه این موارد را با جزئیات بیشتری تحلیل کنید.
• ماژول ها: این جزء حیاتی چارچوب، دایرکتوری است که شامل چندین زیر شاخه است. دو تا از مهم ترین زیرشاخه ها، اکسپلویت ها هستند، جایی که ماژول های اکسپلویت در آن زندگی می کنند، و پیلودهای/ پیلود، که بلوک های سازنده پیلود مختلف در آن قرار دارند. این موارد را نیز با جزئیات بیشتری بررسی خواهیم کرد. انواع دیگر ماژول ها شامل ماژول های کمکی است که شامل ابزارهای مختلف حمله اضافی مانند پورت ها و اسکنرهای آسیب پذیری می شود. ماژول های رمزگذار در تلاش برای فرار از شناسایی توسط IDS، IPS و ابزارهای آنتی ویروس، اکسپلویت ها و پیلودگذاری ها را تغییر می دهند. ماژول‌های Nop سورتمه‌های NOP را می‌سازند، یک ساختار داده شامل اکسپلویت‌ها که احتمال اجرای موفقیت‌آمیز کد مهاجم را پس از بهره‌برداری افزایش می‌دهد.
• ابزارهای ایجاد اکسپلویت: از آنجایی که متاسپلویت یک چارچوب بهره برداری جامع است، شامل ابزارهایی برای یافتن آسیب پذیری ها، ایجاد اکسپلویت های جدید و توسعه پیلودهای جدید است. دایرکتوری tools شامل چندین مورد دیگر است که در تجزیه و تحلیل آسیب پذیری ها و ایجاد اکسپلویت ها مفید هستند.
• موارد دیگر: موارد متفرقه مختلفی نیز در این دایرکتوری وجود دارد، مانند کتابخانه هایی از کدهای مشترک استفاده شده در سرتاسر فریم ورک، افزونه هایی که عملکرد Metasploit را تغییر می دهند، اسکریپت هایی که برخی از ویژگی های Meterpreter را خودکار می کنند، و ابزارهای مختلف دیگر. .

#Metasploit
@TryHackBox
👍3
رابط های کاربری مفید Metasploit

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

بیایید با رابط های کاربری شروع کنیم و روی مفیدترین آن، رابط کنسول Metasploit به نام msfconsole تمرکز کنیم. این یک خط فرمان سفارشی Metasploit با انواع ویژگی های مفید، از جمله تکمیل خودکار TAB، متغیرهای محیطی، و قابلیت اجرای دستورات محلی در سیستم عامل محلی، و همچنین دستورات مختلف Metasploit سفارشی، مانند exploit، فرمانی است که راه اندازی می شود. یک اکسپلویت در یک هدف برای این کلاس، ما به طور انحصاری بر این رابط تکیه می کنیم زیرا با انعطاف پذیری زیاد و ویژگی های مفید، برای آزمایش کنندگان نفوذ و هکرهای اخلاقی بهترین است.

از طرف دیگر، برنامه msfd یک شبح محلی ایجاد می کند که به پورت TCP 55554 گوش می دهد. اگر کسی به آن متصل شود (مثلاً با استفاده از یک کلاینت Netcat، که می تواند به یک پورت TCP دلخواه متصل شود)، دسترسی کنسول Metasploit را دریافت می کند. ایده اینجا این است که ما می‌توانیم چندین تستر Metasploit داشته باشیم که همگی از یک نسخه متاسپلیت در یک جعبه استفاده می‌کنند تا نگران نباشیم که آنها ممکن است از نسخه‌های مختلف با به‌روزرسانی‌های مختلف استفاده کنند. به‌طور پیش‌فرض، msfd اجازه اتصالات را فقط از localhost می‌دهد، اما می‌توان آن را طوری پیکربندی کرد که برای اتصالات راه دور گوش کند. متأسفانه msfd نیازی به احراز هویت ندارد و جلسه را رمزگذاری نمی کند. بنابراین، توصیه می کنیم از آن برای تست نفوذ استفاده نکنید.

msfrpcd نمونه ای از Metasploit است که در پورت TCP 55553 (با گزینه ای برای استفاده از SSL یا عدم استفاده از آن)، در انتظار پیام های کنترلی با استفاده از XML روی RPC است. این به افراد اجازه می دهد تا نرم افزار مشتری دلخواه ایجاد کنند که می تواند با Metasploit تعامل داشته باشد و آن را کنترل کند.

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

رابط msfvenom برای گرفتن پیلود Metasploit (مانند پیلودی که یک شل ویندوز قابل دسترسی به شبکه راه اندازی می کند) و تبدیل آن به فایلی که می تواند به نوعی اجرا شود مفید است. گزینه‌های خروجی شامل باینری خام، ویندوز EXE، فایل‌های اجرایی باینری لینوکس، جاوا اسکریپت و VBA است.

#Metasploit
@TryHackBox
👍3
Try Hack Box
رابط های کاربری مفید Metasploit توجه داشته باشید که ما به تک تک موارد در این دایرکتوری ها نمی پردازیم، بلکه بر روی مواردی تمرکز می کنیم که برای آزمایش کنندگان نفوذ و هکرهای اخلاقی که به Metasploit متکی هستند، مهم ترین هستند. بیایید با رابط های کاربری شروع…
msfconsole:
یک خط فرمان سفارشی Metasploit ... از این استفاده کنید!
msfd:
دیمونی (daemon)که به طور پیش‌فرض به پورت TCP 55554 گوش می‌دهد و دسترسی msfconsole را به هر کسی که متصل می‌شود ارائه می‌کند:
- مفید برای داشتن یک نصب Metasploit که توسط چندین کاربر قابل دسترسی است، همه از یک نسخه به طور همزمان استفاده می کنند.
- بدون احراز هویت یا رمزگذاری
msfrpcd:
متاسپلویت قابل کنترل از طریق XML از طریق Remote Procedure Call، گوش دادن به پورت TCP 55553، ارائه دسترسی از طریق SSL
msfcli:
خط فرمان، همه گزینه‌های مشخص شده در یک دستور، مفید برای اسکریپت‌ها
msfvenom:
یک پیلود متاسپلویت را به یک فایل مستقل (EXE، لینوکس باینری، جاوا اسکریپت، VBA یا خام) تبدیل کنید و برای کمک به فرار از آن کدگذاری کنید.

#Metasploit
@TryHackBox
👍1
ماژول های متاسپلویت

متاسپلویت دارای انواع ماژول های زیر است:
• auxiliary:
این فهرست شامل ماژول های مرتبط با اسکن پورت، اسکن برای آسیب پذیری است
سیستم ها، راه اندازی حملات دیداس و بورت فورس و جمع اوری اطلاعات هست، و موارد دیگر .... .

• Encoders:
این دایرکتوری ماژول هایی را در خود نگه می دارد که یک ترکیب اکسپلویت و پیلودگذاری را به فرم دیگری تبدیل می کند و آن را به گونه ای رمزگذاری می کند که از کاراکترها یا مجموعه کاراکترهای خاصی که ممکن است توسط سیستم تارگت فیلتر شوند اجتناب کند. این رمزگذارها همچنین می‌توانند با تغییر دادن اکسپلویت‌ها و پیلودها به گونه‌ای که با امضای یک ابزار IPS یا IDS مطابقت نداشته باشند، به شناسایی کمک کنند.

مثلا زمانی که یک IDS/IPS داریم میخواهیم یکسری Signature ها مارو نگیرن از encoders استفاده میکنیم.

• exploits:

اکسپلویت ها مهمترین بخش فریم ورک Metasploit هستند. اکسپلویت قطعه کد واقعی است که به شما دسترسی لازم را به سیستم هدف می دهد. 2500 اکسپلویت به علاوه در بیش از 20 دسته بر اساس پلتفرمی که اکسپلویت پشتیبانی می شود وجود دارد.
اکنون، ممکن است به این فکر کنید که از میان بسیاری از اکسپلویت های موجود، باید از آن استفاده شود. تصمیم به استفاده از یک اکسپلویت خاص علیه یک تارگت تنها پس از شمارش گسترده و ارزیابی آسیب پذیری تارگت ما می تواند اتخاذ شود.
شمارش صحیح و ارزیابی آسیب پذیری تارگت موارد زیر را در اختیار ما قرار می دهد اطلاعاتی که بر اساس آن می توانیم اکسپلویت صحیح را انتخاب کنیم:

+ سیستم عامل سیستم تارگت (شامل نسخه و معماری دقیق)
+ باز کردن پورت ها در سیستم هدف (TCP و UDP)
+ سرویس ها به همراه نسخه های در حال اجرا در سیستم تارگت
+ احتمال آسیب پذیر بودن یک سرویس خاص
• nops:
⭕️ شما بنویسید . . . ‼️
• payloads:
برای اینکه بفهمیم یک پیلود چه کاری انجام می دهد، اجازه دهید یک مثال واقعی را در نظر بگیریم. یک واحد نظامی از یک کشور خاص موشک جدیدی تولید می کند که می تواند برد 500 کیلومتری را با سرعت بسیار بالا طی کند. اکنون، بدنه موشک هیچ فایده ای ندارد مگر اینکه با مهمات مناسب پر شود. اکنون یگان نظامی تصمیم گرفت مواد انفجاری قوی را در داخل موشک بارگیری کند تا در هنگام اصابت موشک به هدف، مواد منفجره داخل موشک منفجر شود و خسارت لازم را به دشمن وارد کند. بنابراین، در این مورد، مواد انفجاری بالا در موشک، پیلود است. پیلود را می توان بر اساس شدت آسیبی که پس از شلیک موشک ایجاد می شود، تغییر داد.

به طور مشابه، payloadها در چارچوب Metasploit به ما این امکان را می دهند که تصمیم بگیریم پس از موفقیت آمیز بودن اکسپلویت چه عملکردی روی سیستم هدف انجام دهیم. در زیر دسته بندی های مختلف محموله موجود در Metasploit Framework آمده است:

Singles:
گاهی اوقات به آنها پیلودهای درون خطی یا غیر مرحله‌ای نیز گفته می‌شود. پیلودهای موجود در این دسته یک واحد کاملاً مستقل از اکسپلویت هستند و به شل کد نیاز دارند، به این معنی که آنها همه چیز مورد نیاز برای سوء استفاده از آسیب پذیری در تارگت را دارند. عیب چنین پیلود هایی اندازه آنهاست. از آنجایی که آنها حاوی اکسپلویت و شل کد کامل هستند، ممکن است گاهی اوقات بسیار حجیم باشند و در سناریوهای خاص با محدودیت اندازه، آنها را بی فایده می کند.

Stagers:
سناریوهای خاصی وجود دارد که در آن اندازه پیلود اهمیت زیادی دارد. یک پیلود با حتی یک بایت اضافی ممکن است در سیستم تارگت به خوبی عمل نکند. پیلود مرحله‌ای در چنین شرایطی مفید است. پیلودگذاری مرحله‌ای به سادگی بین سیستم مهاجم و سیستم تارگت ارتباط برقرار می‌کند. شل کد لازم برای سوء استفاده از آسیب پذیری در سیستم تارگت را ندارد. از نظر اندازه بسیار کوچک، در بسیاری از سناریوها به خوبی جا می گیرد.

Stages:
هنگامی که پیلود نوع مرحله‌ای ارتباطی بین سیستم مهاجم و سیستم تارگت برقرار کرد، پیلودهای «مرحله‌ای» بر روی سیستم تارگت دانلود می‌شوند. آنها حاوی شل کد مورد نیاز برای سوء استفاده از آسیب پذیری در سیستم تارگت هستند.
• post:
ماژول‌های پست حاوی اسکریپت‌ها و ابزارهای مختلف هستند که به ما کمک می‌کنند پس از یک بهره‌برداری موفق، بیشتر به سیستم هدفمان نفوذ کنیم. هنگامی که ما با موفقیت از یک آسیب پذیری بهره برداری می کنیم و وارد سیستم تارگت خود می شویم، ماژول های پس از بهره برداری ممکن است به روش های زیر به ما کمک کنند:


+ افزایش دسترسی های کاربر
+ اعتبار سیستم عامل را تخلیه کنید
+ کوکی ها و رمزهای عبور ذخیره شده را سرقت کنید
+ گزارش های کلیدی را از سیستم تارگت دریافت کنید
+ اسکریپت های PowerShell را اجرا کنید
+ دسترسی ما را دائمی کنید
#metasploit
@tryhackbox
👍12
The Metasploit Exploit Arsenal

حالا بیایید روی اکسپلویت ها زوم کنیم. در Metasploit، اکسپلویت ها بر اساس سیستم عامل، با مجموعه ای برای aix، bsdi، dialup، freebsd، hpux، irix، linux، netware، osx (Apple Macintosh OS X)، Solaris، یونیکس و ویندوز مرتب می شوند. دایرکتوری چندگانه حاوی اکسپلویت هایی است که ممکن است روی چندین سیستم عامل کار کنند (از جمله برخی حملات مرورگر، سوء استفاده های PHP و سوء استفاده های سامبا). یکی از مهم‌ترین ماژول‌های چند اکسپلویتی، exploit/multi/handler است که یک شنونده عمومی است که منتظر اتصال از سیستمی است که خارج از این نمونه از Metasploit یک کد اکسپلویت یا حمله اجرا می‌کند. این به اصطلاح "مولتی/هندلر" سپس یک پیلود را برای اجرای آن اکسپلویت تحویل می دهد.

هر دایرکتوری از اکسپلویت ها برای یک سیستم عامل معین شامل اکسپلویت هایی است که نرم افزارهای ساخته شده در آن سیستم عامل و همچنین برنامه های شخص ثالثی که روی سیستم عامل اجرا می شوند را هدف قرار می دهد. به عنوان مثال، دایرکتوری ویندوز نه تنها برای ویندوز، بلکه برای ابزارهایی که در ویندوز اجرا می‌شوند، مانند ابزارهای آنتی ویروس، برنامه‌های پشتیبان، بازی‌ها، سرورهای پست الکترونیکی (IMAP و POP3) و غیره، شامل اکسپلویت می‌شود.

#metasploit
@TryHackBox
👍2
Windows Exploits

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

smb:
این اکسپلویت‌های سمت سرویس از نقص‌های پیاده‌سازی بلاک پیام سرور مایکروسافت (SMB) بهره می‌برند که برای اشتراک‌گذاری فایل‌ها و چاپ ویندوز و همچنین بسیاری از ویژگی‌های مدیریت و دسترسی از راه دور ویندوز استفاده می‌شود. در میان سایر اکسپلویت‌ها، این دایرکتوری ماژول PsExec را نیز در خود جای داده است که باعث می‌شود یک ماشین ویندوز هدف برنامه‌ای را که مهاجم انتخاب می‌کند، به جای برنامه Microsoft Syslntemals PsExec اجرا کند. یک پنتستر این ماژول را با اعتبارنامه مدیریت پیکربندی می کند و سپس از پروتکل SMB استفاده می کند تا ماشین مورد نظر برنامه را با دسترسی های SYSTEM محلی اجرا کند. این ماژول Metasploit PsExec از آنجایی که به آسیب‌پذیری نرم‌افزاری متکی نیست، در عوض از عملکرد معمولی ویندوز برای اجرای برنامه استفاده می‌کند، این ماژول Metasploit PsExec یکی از مفیدترین ماژول‌ها در تمام Metasploit در برابر یک محیط هدف ویندوز کاملاً اصلاح‌شده است که در آن مهاجم به SMB دسترسی دارد. (مانند در سراسر یک اینترانت) و اعتبار ادمین.

dcerpc:
این اکسپلویت‌های سمت سرویس به اجرای سرویس‌های فراخوان رویه از راه دور محیط محاسباتی توزیع شده (DCERPC) توسط مایکروسافت حمله می‌کنند که اغلب برای دسترسی از راه دور به و مدیریت ماشین‌های ویندوز استفاده می‌شود.

مرورگر: این اکسپلویت های سمت کلاینت بر مرورگرهای مختلفی که روی ویندوز اجرا می شوند، به ویژه اینترنت اکسپلورر، اما همچنین شامل AIM، RealPlayer، QuickTime، iTunes و Winamp تمرکز می کنند.
scada:
این اکسپلویت‌ها سیستم‌های مدیریت کنترل و جمع‌آوری داده‌های نظارتی (SCADA) و سرورهای کنترلی که در ویندوز اجرا می‌شوند را هدف قرار می‌دهند.
vnc:
این اکسپلویت ها به نقص های نسخه ویندوز ابزار محاسبات شبکه مجازی (VNC) مورد استفاده برای کنترل از راه دور رابط کاربری گرافیکی سیستم ها حمله می کنند.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


• smb:
اکسپلویت های سمت سرویس برای اجرای بلوک پیام سرور مایکروسافت، از جمله PsExec، یکی از مفیدترین ماژول ها برای حمله به یک محیط ویندوز کاملاً اصلاح شده در صورتی که دسترسی SMB و اعتبار مدیریت (مانند اینترانت) داشته باشیم.
• مرورگر: اکسپلویت های سمت کلاینت، بیشتر برای اینترنت اکسپلورر، اما همچنین شامل AIM، RealPlayer، QuickTime، lTunes، Winamp و غیره است.
• dcerpc:
اجرای فراخوان رویه از راه دور محیط محاسباتی توزیع شده توسط مایکروسافت، که اغلب برای دسترسی از راه دور و مدیریت ویندوز استفاده می شود.
• scada:
سوء استفاده هایی که به سیستم های مدیریت SCADA و سرورهای کنترل SCADA که در ویندوز اجرا می شوند حمله می کنند
• vnc:
حملاتی علیه سرویس گیرندگان و سرورهای محاسبات شبکه مجازی



#metasploit
@TryHackBox
Exploit Rankings

Rapid7
اکسپلویت ها را در متاسپلویت بر اساس احتمال موفقیت رتبه بندی کرده اند. در زیر گزیده ای از ویکی Metasploit GitHub آمده است.

Excellent :
اگر اکسپلویت هرگز سرویس را خراب نمی کند، باید از ExcellentRanking استفاده شود. این مورد برای SQL Injection، اجرای CMD، RFI، LFI، و غیره است. هیچ گونه سوء استفاده معمولی برای تخریب حافظه نباید این رتبه بندی داده شود، مگر اینکه شرایط فوق العاده ای وجود داشته باشد (WMF Escape()).

Great :
اگر اکسپلویت دارای یک تارگت پیش‌فرض باشد و تارگت مناسب را به طور خودکار شناسایی کند یا پس از بررسی نسخه از یک آدرس بازگشتی خاص برنامه استفاده کند، باید از GreatRanking استفاده شود.

Good :
اگر اکسپلویت یک تارگت پیش‌فرض داشته باشد و «مورد مشترک» برای این نوع نرم‌افزار باشد (انگلیسی، ویندوز XP برای یک برنامه دسکتاپ، 2003 برای سرور، و غیره) باید از GoodRanking استفاده شود.
Normal :
اگر اکسپلویت در غیر این صورت قابل اعتماد است، اما به یک نسخه خاص بستگی دارد و نمی تواند به طور قابل اعتماد به طور خودکار شناسایی شود (یا به طور خودکار شناسایی نمی شود)، باید از NormalRanking استفاده شود.
Average :
اگر اکسپلویت به طور کلی غیرقابل اعتماد یا استفاده از آن دشوار است، باید از AverageRanking استفاده شود.
Low :
اگر بهره برداری از اکسپلویت برای پلتفرم های رایج تقریبا غیرممکن باشد (یا کمتر از 50%)، باید از LowRanking استفاده کرد.
Manual :
اگر اکسپلویت بسیار ناپایدار یا دشوار است و اساساً یک DoS است، باید از ManualRanking استفاده شود. این رتبه بندی همچنین زمانی استفاده می شود که ماژول هیچ استفاده ای نداشته باشد مگر اینکه به طور خاص توسط کاربر پیکربندی شده باشد (به عنوان مثال: php_eval).

منبع :
https://github.com/rapid7/metasploit-framework/wiki/Exploit-Ranking/ddd025ad1c34501b923253a0652cb003d7404b03
#Metasploit
@TryHackBox
Metasploit Exploits:Looking at Windows Server Service Exploit


حالا بیایید به یک ماژول اکسپلویت خاص متاسپلویت نگاه کنیم و کد Ruby آن را در یک ویرایشگر متن باز کنیم. ما روی یک ماژول Metasploit تمرکز می کنیم که PsExec را برای اجرای کد از راه دور بر روی یک ماشین ویندوز تارگت با استفاده از SMB پیاده سازی می کند.

برای باز کردن ماژول در gedit از این دستورات استفاده کنید:

$ gedit /opt/metasploit-framework/modules/exploits/windows/smb/psexec.rb


به عنوان یک تستر نفوذ حرفه ای یا هکر اخلاقی، معمولاً ایده خوبی است که قبل از اجرای کورکورانه کد یک اکسپلویت بر روی یک تارگت، آن را بررسی کنید تا بتوانید عملکرد آن را بهتر درک کنید.

در داخل کد اکسپلویت، شروع به صفحه‌بندی پایین کنید. خواهید دید که کد کاملاً مستند است و در اکثر موارد قابل درک است حتی اگر روبی را نشناسید. می‌توانید توضیحاتی درباره نحوه عملکرد آن در نزدیکی موردی که روی آن توضیح داده شده است، مشاهده کنید. این اکسپلویت از یک نام کاربری و رمز عبور ادمین معتبر (یا هش رمز عبور) برای اجرای پیلود متاسپلویت بر روی ماشین تارگت استفاده می کند.

با ادامه کد اکسپلویت، می‌توانید مراجع مختلفی را مشاهده کنید تا بتوانید درباره آسیب‌پذیری‌هایی که اکسپلویت تارگت قرار می‌دهد، از جمله شماره CVE آن (قابل جستجو در cve.mitre.org) و شماره شناسه Bugtraq آن (در صورت اختصاص دادن) اطلاعات بیشتری کسب کنید. . در ادامه، می توانید نویسنده این اکسپلویت را ببینید («hdm» به HD Moore اشاره دارد). همچنین می توانید انواع مختلف تارگت را مشاهده کنید که نشان دهنده سیستم عامل خاصی است که اکسپلویت در برابر آن عمل می کند. همچنین می توانید وابستگی ها و فراخوانی های مختلف به ماژول های دیگر ساخته شده توسط این اکسپلویت را مشاهده کنید.

#Metasploit
@TryHackBox
Metasploit Payloads:Windows Singles


بیایید زرادخانه پیلود سینگل ویندوز را در نظر بگیریم. به یاد داشته باشید، هر یک از این پیلودها مستقل هستند، شامل تمام قابلیت‌ها برای بارگذاری پیلود در حافظه تارگت، برقراری ارتباط با مهاجم و انجام پیشنهادات مهاجم بر روی سیستم تارگت. این پیلود های سینگل عبارتند از:

• adduser:
همانطور که از نامش پیداست، این payload یک حساب کاربری با نام و رمز عبور به انتخاب مهاجم ایجاد می کند و آن حساب را به localgroup Administrators اضافه می کند. می توانید این اسکریپت روبی را در gedit (gedit adduser.rb) باز کنید و کد آن را بررسی کنید. اگر این کار را انجام دهید، دستوراتی را خواهید دید که روی تارگت اجرا می شود:

"cmd.exe /c net user #{user} #{pass} /ADD" and "net localgroup Administrators #{user} /ADD".

• exec:
این payload فرمانی را که مهاجم انتخاب می کند بر روی ماشین تارگت اجرا می کند.
• download_exec:
این payload یک برنامه را از طریق HTTP به ماشین مورد نظر دانلود می کند و سپس برنامه دانلود شده را اجرا می کند.
• dns_txt_query_exec:
یک دستور را از طریق رکورد DNS TXT دانلود کرده و اجرا می کند.
• shell_bind_tcp:
این payload دسترسی شل cmd.exe را از طریق یک پورت TCP شنود در ماشین قربانی فراهم می کند.
• shell reverse tcp:
این payload یک اتصال شل معکوس به مهاجم ایجاد می کند و دسترسی شل ورودی به ماشین تارگت را از طریق outbound اتصال TCP به مهاجم برمی‌گرداند.

مفید برای زمانی که استیج یا استیجر شما توسط یک ابزار دفاعی علامت گذاری می شود.

#Metasploit
@TryHackBox
👍1
Metasploit Payloads:Windows Stagers


مرحله‌گرها قطعات محموله‌ای هستند که می‌توانند بقیه پیلود را در حافظه تارگت بارگذاری کنند و سپس توانایی‌های ارتباطی مفیدی را بین مهاجم و پیلود بارگذاری‌شده فراهم کنند. Metasploit مراحل مفید زیر را ارائه می دهد:

• bind_tcp:
این مرحله‌گر به یک پورت TCP ارائه‌شده توسط مهاجم در ماشین تارگت گوش می‌دهد و به متاسپلویت اجازه می‌دهد تا برای ارتباط با استیج، به این پورت متصل شود.
• bind_ipv6_tcp:
این مرحله مشابه bind tcp است اما از IPv6 به جای IPv4 برای ارتباطات شبکه استفاده می کند.
• reverse_tcp:
این مرحله‌گر یک اتصال TCP خروجی را از ماشین تارگت به مهاجمی که متاسپلویت را اجرا می‌کند، ایجاد می‌کند. ارتباطات ورودی را از طریق یک اتصال خروجی پیاده سازی می کند.
• reverse_ipv6_tcp:
این مرحله مشابه reverse_tcp است اما از IPv6 استفاده می کند.
• reverse_http:
این مرحله‌گر جلسه‌ای را با استفاده از outbound HTTP از سیستم اکسپلویت شده به مهاجم برمی‌گرداند و از طریق فایروال شبکه و/یا پروکسی وب، شبکه را طی می‌کند.
• reverse_https:
این مرحله‌گر جلسه‌ای را با استفاده از outbound HTTPS با تمام داده‌های رمزگذاری‌شده در stager انجام می‌دهد.
• reverse_tcp_allports:
این مرحله‌گر سعی می‌کند در تمام پورت‌های TCP خروجی (از 1 تا 65535) در تلاش برای بازگشت به مهاجم برای ارسال دستورات به stager باشد.


همانطور که از این لیست می بینیم، متاسپلویت با حملات IPv6 سازگار است. هر اکسپلویت و مرحله ای می تواند از یک stager IPv6 استفاده کند که به مهاجم اجازه می دهد با سیستم اکسپلویت شده از طریق شبکه IPv6 ارتباط برقرار کند.

خلاصه :

• Windows stagerشامل:
- bind_tcp:
در پورت TCP گوش می دهد
- bind_ipv6_tcp:
با استفاده از IPv6 به پورت TCP گوش می دهد
- reverse_tcp:
اتصال به پورت TCP را معکوس می کند
- reverse_ipv6_tcp:
TCP را از IPv6 معکوس می کند
- reverse_http:
جلسه خروجی را روی اتصالات HTTP انجام می دهد
- reverse_https:
جلسه خروجی را روی اتصالات HTTPS انجام می دهد
- reverse_tcp_allports:
سعی می‌کند به connecting back,شود، از تمام پورت‌های TCP استفاده کند (l تا 65535)
• متاسلویت دارای IPv6 با استفاده از مراحل ipv6 است. همه اکسپلویت ها و مراحل می توانند از این گزینه های مرحله برای حملات به شبکه های IPv6 استفاده کنند
خواندن توصیه می شود:
https://buffered.io/nosts/staged-vs stageless-handlers/
#Metasploit
@TryHackBox
Metasploit Payloads:Windows Stages


کار stager's این است که یک stage را در حافظه بارگذاری کند و توانایی های ارتباطی را برای آن فراهم کند. مرحله عملکردی است که مهاجم می‌خواهد روی ماشین تارگت اجرا کند و به مهاجم اجازه می‌دهد با آن تعامل داشته باشد و احتمالا ماشین تارگت را کنترل کند. اما متاسلویت چه مراحلی را به تسترهای نفوذ و هکرهای اخلاقی ارائه می دهد؟ ما چندین گزینه برای دستگاه های ویندوز داریم، از جمله:
• dllinject:
این مرحله یک DLL به انتخاب مهاجم را به حافظه ماشین تارگت تزریق می کند. هر چند مهاجم برای استفاده به یک DLL ارزشمند نیاز دارد - شاید کد سفارشی که مهاجم فقط برای این آزمایش یا این تارگت نوشته است.
• upexec:
این مرحله یک فایل اجرایی را در ماشین مورد نظر آپلود می کند و آن را اجرا می کند.
• shell:
این مرحله یک شل استاندارد cmd.exe را پیاده سازی می کند. بنابراین، همانطور که مشاهده کردید که یک saw و couple یک اسلاید به عقب می‌روند، شما یک پیلود singles shell_bind_tcpو همچنین یک مرحله شل دارید که می‌تواند از طریق bind_tcp stager بارگذاری شود. هر دو دارای عملکرد ضروری یکسانی هستند: یک cmd.exe که به یک پورت TCP به انتخاب مهاجم گوش می دهد.
• vncinject:
این مرحله به محاسبات شبکه مجازی (VNC) از راه دور کنترل تارگت را می دهد و به مهاجم اجازه می دهد رابط کاربری گرافیکی تارگت را مشاهده کند و ماوس و صفحه کلید آن را کنترل کند. به طور پیش‌فرض، این مرحله یک Metasploit Courtesy Shell را روی دستگاه مورد نظر باز می‌کند، که به کاربر در کنسول نشان می‌دهد که متاسپلویت برای کنترل VNC بر روی سیستم استفاده شده است.

• meterpreter:
این مرحله شگفت انگیز یک محیط شل تخصصی طراحی شده برای مهاجمان رایانه فراهم می کند و یک پلت فرم ایده آل برای آزمایش کنندگان نفوذ و هکرهای اخلاقی برای کنترل یک ماشین تارگت است. در بخش بعدی قابلیت‌های Meterpreter را به طور کامل بزرگنمایی می‌کنیم.

توجه به این نکته ضروری است که هر دو نسخه 32 بیتی (x86) و 64 بیتی (x64) مراحل Meterpreter، Shell و VNCinject در دسترس هستند.

خلاصه :

• dllinject:
DLL دلخواه را به حافظه تارگت تزریق می کند
• upexec:
یک فایل اجرایی را آپلود و اجرا می کند
• شل: شل cmd.exe ویندوز
• vncinject:
کنترل رابط کاربری گرافیکی از راه دور محاسبات شبکه مجازی

• مترپرتر: محیط شل تخصصی انعطاف پذیر
#Metasploit
@TryHackBox
دوستان یک لابراتور بالابیارید یک ویندوز نصب کنید و یک لینوکس برای کارهای زیر :


هدف ما استفاده از چندین ویژگی متاسپلویت برای حمله و دسترسی شل به یک ماشین ویندوز است. برای رسیدن به این هدف، ما از انواع اجزای فوق العاده مفید متاسپلویت و همچنین یک وب سرور مبتنی بر پایتون به نام http.server استفاده می کنیم.

به طور خاص، در اینجا اجزای متاسپلویت وجود دارد که در این آزمایشگاه با آنها آشنا خواهید شد:

msfvenom:
پنتسترها می‌توانند از این برنامه فریم ورک متاسپلویت برای ایجاد فایل‌های بارگذاری مستقل مخرب استفاده کنند. در این آزمایشگاه، شما یک فایل EXE مخرب ایجاد می‌کنید که دسترسی شل را به یک ماشین ویندوزی که در آن اجرا می‌شود را فراهم می‌کند.

http.server:
این وب سرور مبتنی بر پایتون بخشی از متاسپلویت نیست، اما می تواند با متاسلویت برای ارائه فایل ها به شیوه ای راحت و انعطاف پذیر استفاده شود.
msfconsole:
برنامه Metasploit Framework Console مرکز فرمان متاسپلویت است که به شما امکان می دهد فریم ورک را پیکربندی کنید و با جلسات یا sessions در ماشین های در معرض خطر تعامل داشته باشید.

exploit/multi/handler:
این اکسپلویت عمومی به شما امکان می دهد متاسپلویت را پیکربندی کنید تا منتظر اتصالات ورودی (یعنی "تلفن خانه") از اهداف در معرض خطر باشد. هنگامی که این به اصطلاح multi/handler یک اتصال دریافت می‌کند، یک پیلود متاسپلویت را به عقب می راند تا روی تارگت اجرا شود.

payload/shell/reverse_tcp:
این پیلود یک اتصال از ماشین تارگت به متاسپلویت برقرار می کند و به شما امکان دسترسی شل به تارگت را می دهد - یعنی شل معکوس. از مرحله shell و stager reverse_tcp ساخته شده است.

#Metasploit
@TryHackBox
👍2
مرحله 1: ساخت فایل مخرب

msfvenom
را با گزینه -help اجرا کنید تا بتوانید خلاصه مختصری از نحو آن را دریافت کنید. برای استفاده از ابزار، باید پیلود مورد نظر خود را با فلگ -p مشخص کنید، لیستی از متغیرها برای آن payload (شامل شماره پورت به وصل شوید)، و فرمت پیلودی که می خواهید (از جمله EXE، که با -f exe مشخص می کنید):

به نتایج msfvenom -help نگاه کنید.
#Metasploit
@TryHackBox
👍5🔥2👎1
اندازه of file.exe را بررسی کنید. باید بسیار نزدیک به 73802 بایت باشد (اگرچه ممکن است یک یا دو بایت بزرگتر باشد):
Is -1 /tmp/file.exe

اگر /tmp/file.exe 73802 بایت نیست (احتمالاً به اضافه یک یا دو بایت)، آن را حذف کنید (با rm /tmp/file.exe)، سینتکس خود را از نظر msfvenom دوباره بررسی کنید، و دوباره ایجاد کنید.
#Metasploit
@TryHackBox
👍1
مرحله 2: فایل را از لینوکس Serve کنید

یک وب سرور لینوکس را پیکربندی کنید تا محتویات دایرکتوری /tmp شما (شامل fiie.exe) را ارائه دهد.

حالا cdرا وارد دایرکتوری کنید که می خواهید محتوای آن از طریق HTTP ارائه شود. سپس مفسر پایتون را اجرا کنید تا ماژولی به نام http,server , listening on TCP 8000 port 8000 (پیش‌فرض) فراخوانی شود:

$ cd /tmp/
/tmp$ python -m http.server

با اجرای http.server در یک پنجره، اکنون به مرحله 3 می رویم و msfconsole Metasploit را فراخوانی و پیکربندی می کنیم.
#Metasploit
@TryHackBox
👍1
مرحله 3: msfconsole را پیکربندی کنید

یک پنجره ترمینال دیگر را باز کنید! در این پنجره ترمینال دوم (جدا از شما
دستور http.server)، برنامه msfconsole را فراخوانی کنید.

msfconsole

در اعلان msf، دستورات را به صورت تعاملی به متاسپلویت صادر کنید. به آن بگویید تمام ماژول های اکسپلویت را که در دسترس است نشان دهد.
#Metasploit
@TryHackBox
وقتی file.exe را ساختیم، به msfvenom گفتیم که یک فایل EXE مخرب با استفاده از همین پیلود (windows/shell/reveise_tcp) بسازد. جالب است بدانید که اگر فایل مخربی مانند file.exe را با پیلودی متفاوت از پیلودی که با استفاده از multi/handler در msfconsole ارسال می کنیم پیکربندی کنیم، پیلود ارسال شده توسط multi/handler اولویت دارد! فایل مخرب ایجاد شده توسط متاسپلویت (مانند file.exe) یک پیلود متفاوت از مولتی/هندلر دریافت می‌کند که با آن پیلود متفاوت ساخته شده است و اجرا می‌کند، و هر یک از قابلیت‌های payload خودش را نادیده می‌گیرد. با این حال، برای این آزمایشگاه، از همان payload در multi/handler استفاده خواهیم کرد که در file.exe با msfvenom استفاده کردیم. بیشتر پنتسترها از یک پیلود استفاده می کنند، بنابراین این همان کاری است که ما در اینجا انجام خواهیم داد.

پس از انتخاب یک پیلود، به تمام گزینه‌هایی که می‌توانید با اجرای گزینه‌های show options کنید، نگاه کنید.
#metasploit
@TryHackBox