آموزش SEC580 – بخش دوم
سلام خدمت شما
با قسمت دوم از دوره SEC580 در خدمتتون هستم.
با توجه به درگیریهای کاری سعی می کنم هر هفته ۱ تا ۲ پارت از این آموزش را منتشر کنم.دوره به صورت فشرده و کوتاه خواهد بود.
انواع Payload:
Payload ها انواع مختلفی دارند که متاسپلویت از آنها پشتیبانی میکند و توانایی بهرهبرداری از آنان را به ما میدهد.
Inline و non-staged
به پیلودهای حاوی Exploit و یا Full Shell code به منظور اجرای یک کار خاص پیلودهای non-staged و یا Inline میگویند.
Stager:
این نوع پیلود با پیلود های Staged کار می کند و وظیفه برقراری ارتباط بین مهاجم و فرد قربانی را دارد و با ایجاد یک Channel اطلاعات مد نظر فرد مهاجم را از آن عبور میدهد
Meterperter:
یک پیلود چند وجهی و یا همان Multi-Faceted میباشد که با استفاده از dll injection از راه دور به سیستم فرد قربانی حمله میکند و موجب ایجاد دسترسی میشود.
این نوع پیلود هیج اثری بر روی Hard-Disk نمیگذارد و تمامی بدافزارها را در Memory اجرا میکند.
کشف و بازرسی این پیلود با روشهای ساده Digital Forensic بسیار سخت و دشوار میباشد.
PassiveX:
این نوع پیلود برای گذر از فایروال ها می باشند که از استفاده از ActiveX و IE به منظور ساخت یک http Tunnel به منظور ارسال و دریافت اطلاعات مد نظر فرد مهاجم مانع شناسایی شدن پیلود می شود.
NONX:
این پیلول وظیفه دور زدن NX را دارد، در برخی CPU ها به منظور جلوگیری از اجرای کد بر روی قسمتهای مختلف حافظه از NX استفاده میشود که در ویندوز NX با نام DEP مخفف Data Execution Prevention پیاده سازی میشود و NONX توانایی دورزدن آن را نیز دارد.
IPv6:
همانطور که از نام آن پیداست این نوع پیلود برای استفاده در شبکههای مجهز به IPv6 میباشد
لیستی از Payload های موجوددر متاسپلویت
bind_tcp
bind_tcp_ipv6
bind_nonx_tcp
reverse_tcp
reverse_http
reverse_tcp_ipv6
reverse_nonx_tcp
reverse_tcp_allport
x64/bind_tcp
x64/reverse_tcp
با دستور msfconsole محیط برنامه را باز میکنیم.با استفاده از دستور banner میتوانیم حالت شروع کنسول متاسپلویت را تغییر دهیم.
به منظور پیدا کردن سریعتر اکسپلویتها، ماژولها و یا Payloadها میتوانیم از دستور search استفاده کنیم.
برای مثال من قصد دارم اسکنر های Port در متاسپلویت را ببینم
search <name>
چند مثال عملی
search cve:2019 type:exploit platform:windows app:client firefox
تمامی اکسپلویتهای firefox با این مشخصات را برای ما نمایش میدهد
اگر زمانی بخواهیم کل اکسپلویتهای موجود در متاسپلویت را با این مشخصات ببینیم مرتبط به هر پروتکل و نرم افزاری از دستور بالا به شکل زیر استفاده میکنیم
search cve:2019 type:exploit platform:windows app:client
نکته: در صورت نمایش ندادن خروجی خاصی به معنی این است که مشخصاتی که وارد کرده اید، در متاسپلویت وجود ندارد.
به منظور وارد شدن و به کار گرفتن این ماژول ما از دستور use استفاده میکنیم و وارد آن میشویم.
اصول نوشتاری دستور use به این شکل میباشد
use <Module_name>
حالا مراحل رو با مثال دیگری دنبال کنیم:
search portscan
use /auxiliary/scanner/portscan/tcp
با استفاده از دستورات متنوع show ما توانایی دیدن مقدار اطلاعات مختلف در رابطه با ماژولها و اجزای مختلف متاسپلویت را داریم.
دستور show options برای ما پارامترهای مورد نیاز برای تنظیم آنها را نمایش میدهد که در ماژولهای مختلف متاسپلویت دوپارامتر کاربرد بسیار دارند، پارامترهای RHOSTS و RPORTS برای ما اهمیت ویژه دارند.
مقدار RHOSTS مخفف Remote HOSTS تایین کننده IP هدف ما میباشد و RPORTS مخفف Remote PORT تعیین کننده Port هدف ما میباشد.این مقدارها را با استفاده از دستور set میتوانیم تنظیم کنیم.
اصول نوشتاری دستور set:
set <Variable> <Vaule>
set RHOSTS TargetURL/TargetIP
set PORTS 80
همانطور که در بالا گفتیم دستور show محتویات بسیاری را برای ما نمایش میدهد. برای مثال ما میتوانیم از این دستور به منظور نمایش تمامی Exploit ها و یا ماژولهای Auxiliary استفاده کنیم.
نمونهای از این دستورات:
show exploits
نمایش تمامی اکسپلویتهای قایل استفاده در متاسپلویت
show auxiliary
نمایش تمامی ماژولهای Auxiliary در متاسپلویت
show payloads
فرض کنید قرار است از طریق یک اکسپلویت به یک سیستم حمله کنیم و برای گرفتن دسترسی نیاز به یک پیلود دارید و پیلودهای قابل استفاده برای آن اکسپلویت را با این دستور میتوانیم مشاهده کنیم
show encoders
نمایش تمامی Encoder های قابل استفاده در متاسپلویت
show post
نمایش تمامی ماژولهای Post-Exploiting قابل استفاده در متاسپلویت
show advanced
دیدن اطلاعات یک ماژول
از دستور Generate به منظور تبدیل یک پیلود به کد استفاده میکنیم.
دستور بعدی:
info <Module_name>
مثال:
info auxiliary/scanner/portmap/portmap_amp
دستوری بعدی help نام دارد که برای کمک کردن به ما آماده شده است.برای نمونه:
help set
دیدگاهتان را بنویسید