يعني إيه جمع معلومات (Recon)؟

جارٍ التحميل…

01 / ملخص الدرس

يعني إيه جمع معلومات (Recon)؟

إيه هو الـ Reconnaissance، وليه هو أهم مرحلة في اختبار الاختراق، ومكانه فين في مراحل الـ Pentest، وخريطة الكورس.

02 / شرح الدرس مكتوبًا

نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.

أهلاً بيك في كورس جمع المعلومات. قبل ما أي حد يهاجم أي هدف، بيعمل حاجة واحدة الأول: بيعرف الهدف ده كويس جداً.

الـ Reconnaissance، أو اختصاراً Recon، معناه إنك تجمع كل معلومة ممكنة عن الهدف. الـ domains والـ IPs بتاعته. الأجهزة الشغّالة والـ ports المفتوحة. الخدمات وإصداراتها. وكمان الموظفين والتكنولوجيا اللي بيستخدموها.

ليه ده مهم أوي كده؟ كل ثَغْرة هتلاقيها بعدين، بتبدأ من معلومة لقيتها هنا. اللي بيجمع معلومات أكتر، بيلاقي ثَغَرات أكتر. وفي امتحان OSCP بيقولوا جملة مشهورة: لو اتزنقت، ارجع اعمل Enumeration تاني.

الـ Recon هو أول مرحلة في اختبار الاختراق. الأول Recon. بعدين Scanning للثَغَرات. بعدين Exploitation. بعدين Post Exploitation. وفي الآخر التقرير اللي اتعلمناه في الكورس اللي فات.

وده اللي هنمشي فيه في الكورس: الأول الفرق بين الجمع السلبي والنشط، والحدود القانونية. بعدين الجمع السلبي، من غير ما نلمس الهدف. بعدين اكتشاف الأجهزة والـ ports والخدمات بـ Nmap. بعدين تعداد خدمات زي الويب و SMB. وفي الآخر نِنَظّم النتايج ونعمل أتمتة بـ Python. خلّينا نبدأ بحاجة بسيطة: ملف للهدف. dictionary فيه اسم الشركة، والـ domain، والـ IPs، والـ subdomains، ومكان فاضي للـ ports اللي لسه ما نعرفهاش. نشغّل… كل معلومة في سطر، وآخر سطر بيقولنا إن الـ ports لسه مش معروفة. ده بالظبط الإحساس اللي هنبدأ بيه: ملف ناقص، وكل درس هيملا جزء منه.

main.py
target = {
    "company": "Example Corp",
    "domain": "example.com",
    "ips": ["203.0.113.10"],
    "subdomains": ["www", "mail", "dev"],
    "open_ports": {},
}

for key, value in target.items():
    print(f"{key:12} -> {value}")

print("ports still unknown:", not target["open_ports"])

المخرجات

company      -> Example Corp
domain       -> example.com
ips          -> ['203.0.113.10']
subdomains   -> ['www', 'mail', 'dev']
open_ports   -> {}
ports still unknown: True

دورك: ضيف key اسمه technologies، وقيمته list فيها nginx و PHP.

تمرين

ضيف "technologies": ["nginx", "PHP"] جوه الـ dictionary.

الحل: نشغّل…

main.py
target = {
    "company": "Example Corp",
    "domain": "example.com",
    "ips": ["203.0.113.10"],
    "subdomains": ["www", "mail", "dev"],
    "open_ports": {},
    "technologies": ["nginx", "PHP"],
}

for key, value in target.items():
    print(f"{key:12} -> {value}")

print("ports still unknown:", not target["open_ports"])

المخرجات

company      -> Example Corp
domain       -> example.com
ips          -> ['203.0.113.10']
subdomains   -> ['www', 'mail', 'dev']
open_ports   -> {}
technologies -> ['nginx', 'PHP']
ports still unknown: True

الدرس الجاي: الفرق بين الجمع السلبي والجمع النشط، وإمتى يبقى اللي بتعمله قانوني، وإمتى يبقى جريمة. يلا بينا.

03 / دروس المسار (22)
  1. 01يعني إيه جمع معلومات (Recon)؟انت هنا
  2. 02سلبي ولا نشط؟ والنطاق القانوني
  3. 03WHOIS: مين صاحب الـ Domain؟
  4. 04سجلات DNS: كنز المعلومات
  5. 05اكتشاف الـ Subdomains
  6. 06Certificate Transparency: الشهادات بتتكلم
  7. 07Google Dorking
  8. 08OSINT: الموظفين والإيميلات
  9. 09الـ Metadata: أسرار جُوّه الملفات
  10. 10اكتشاف الأجهزة الشغّالة (Host Discovery)
  11. 11الـ Port Scanning بيشتغل إزاي؟
  12. 12Nmap: البداية
  13. 13أنواع الـ Scan والسرعة في Nmap
  14. 14كشف الخدمات والإصدارات ونظام التشغيل
  15. 15NSE Scripts وحفظ النتايج
  16. 16تعداد الويب: الـ Headers والتكنولوجيا
  17. 17الـ Directory Brute Force
  18. 18تعداد SMB
  19. 19تعداد خدمات تانية: FTP و DNS و SNMP وغيرهم
  20. 20تنظيم نتايج الـ Recon
  21. 21أتمتة الـ Recon بـ Python
  22. 22مراجعة شاملة وخطة Recon