منصة pentest modular مبنية على Ruby. تحتوي آلاف الـ exploits والـ payloads والـ auxiliary modules. كل الملفات في /usr/share/metasploit-framework/
| الجزء | الوصف | أمثلة |
|---|---|---|
| Type | نوع الـ module | exploit, auxiliary, post |
| OS | نظام التشغيل المستهدف | windows, linux, multi, osx |
| Service | الخدمة المستهدفة | smb, http, ftp, ssh |
| Name | اسم الثغرة/الأداة | ms17_010_eternalblue |
| النوع | الوظيفة | مثال على الاستخدام |
|---|---|---|
| Auxiliary | Scanning, fuzzing, sniffing, brute force | auxiliary/scanner/smb/smb_ms17_010 |
| Encoders | تشفير الـ payloads — AV evasion | x86/shikata_ga_nai |
| Exploits | استغلال الثغرات الفعلية | exploit/windows/smb/ms17_010_eternalblue |
| NOPs | No Operation — يحافظ على حجم الـ payload | x86/single_byte |
| Payloads | الكود اللي يشتغل بعد الاختراق | windows/x64/meterpreter/reverse_tcp |
| Plugins | إضافات تتكامل مع msfconsole | nessus.rb, openvas.rb |
| Post | Post-exploitation: pivot، جمع معلومات | post/multi/recon/local_exploit_suggester |
| النوع | الوصف | المميزات | العيوب |
|---|---|---|---|
| Singles | كود كامل مستقل في ملف واحد | مستقر جداً، يعطي النتيجة فوراً | حجم كبير، بعض الثغرات ما تستحمله |
| Stagers | كود صغير يفتح اتصال ويستقبل Stage | حجم صغير، يتجاوز الـ Firewall | يحتاج اتصال ثاني للـ Stage |
| Stages | أكواد ضخمة متقدمة (Meterpreter) | ميزات غير محدودة، قوية جداً | يحتاج Stager لتنزيله |
يشتغل بتقنية DLL Injection — يعيش كاملاً في الذاكرة (RAM) ولا يكتب أي ملفات على الهارد ديسك = Antivirus وForensics ما يشوفونه! كل الاتصالات مشفرة بـ AES Encryption.
| الـ Payload | الوظيفة |
|---|---|
| generic/shell_reverse_tcp | Shell عادي باتصال عكسي (multi-platform) |
| windows/x64/exec | ينفذ أمر واحد فقط |
| windows/x64/messagebox | يطلع رسالة popup |
| windows/x64/meterpreter/reverse_tcp | Meterpreter متطور ← الأفضل! 🎯 |
| windows/x64/shell/reverse_tcp | Shell عادي (Stager + Stage) |
تشفير الـ payloads عشان تكون متوافقة مع architectures مختلفة + تجاوز الـ Antivirus. تدعم: x64, x86, sparc, ppc, mips
بعد 2015 دمجوا msfpayload + msfencode في أداة واحدة: msfvenom. تولّد الـ payloads وتشفرها بأمر واحد.
| الخيار | الوظيفة | مثال |
|---|---|---|
| -a | Architecture | x86, x64 |
| --platform | نظام التشغيل | windows, linux |
| -p | اسم الـ payload | windows/meterpreter/reverse_tcp |
| LHOST | IP جهازك (المخترِق) | 10.10.14.5 |
| LPORT | Port جهازك | 4444, 8080 |
| -b | Bad characters تحذفها | "\x00" |
| -e | الـ encoder | x86/shikata_ga_nai |
| -i | عدد الـ iterations | 10 |
| -f | صيغة الـ output | exe, perl, python, raw |
| -o | اسم الملف الناتج | ./payload.exe |
Session = خط الاتصال المفتوح بين جهازك والضحية. Metasploit تسمح بعشرات الجلسات في نفس الوقت.
بعد ما تخترق جهاز وترسل الجلسة للخلفية، تشغّل عليها Post modules لتعميق الاختراق.
| النوع | الوظيفة | مثال |
|---|---|---|
| Credential Gatherers | سرقة usernames وpasswords وhashes | post/windows/gather/hashdump post/multi/gather/ssh_creds |
| Local Exploit Suggesters | يقترح ثغرات لرفع الصلاحيات (PrivEsc) | post/multi/recon/local_exploit_suggester |
| Internal Network Scanners | يفحص الشبكة الداخلية لإيجاد أجهزة ثانية (Pivoting) | post/multi/gather/ping_sweep auxiliary/scanner/portscan/tcp |
Jobs = مهام تشتغل في الخلفية بشكل مستقل. مفيدة للـ listeners اللي لازم تفضل شغالة.
Metasploit يستخدم PostgreSQL لحفظ نتائج الـ scans والـ credentials والـ loot. مفيد جداً لو عندك شبكة كبيرة فيها 50+ جهاز.
| الـ Option | الوظيفة |
|---|---|
| RHOSTS | IP الضحية (الهدف) |
| LHOST | IP جهازك أنت (المخترِق) |
| LPORT | Port جهازك (default: 4444) |
| RPORT | Port الخدمة المستهدفة (SMB=445) |
| SESSION | رقم الجلسة للـ Post modules |