الـ Attack Surface والـ Attack Vectors

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

01 / ملخص الدرس

الـ Attack Surface والـ Attack Vectors

كل الأبواب اللي المهاجم ممكن يدخل منها: المواقع والـ ports والـ users والموبايلات وحتى الموظفين، وإزاي بنرتّبها.

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

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

أهلاً بيك. المهاجم مابيبدأش يهاجم على طول. الأول بيرسم خريطة لكل الأبواب اللي ممكن يدخل منها. والخريطة دي اسمها Attack Surface.

الـ Attack Surface هو كل حتة الشركة مكشوفة منها. المواقع والـ subdomains. الـ ports المفتوحة على الإنترنت. حسابات الموَزَّفين والإيميلات. والـ apps والـ cloud والـ VPN. والقاعدة بسيطة: كل ما الـ Attack Surface يكبر، كل ما فرصة المهاجم تزيد. موقع تجارب قديم حد نسيه، أو port مفتوح من غير سبب… كل ده أبواب زيادة.

أما الـ Attack Vector، فهو الطريقة اللي المهاجم بيدخل بيها من الباب ده. ثَغْرة في موقع. إيميل Phishing. باسورد ضعيف أو متسرّب. أو USB مرمي قدام الشركة. وفيه نوعين من الـ Surface. External، اللي باين من الإنترنت. و Internal، اللي جُوّه الشبكة… وده بيبان بس بعد ما المهاجم يدخل أول جهاز. وفي OSCP، هتشتغل على الاتنين. نعمل خريطة صغيرة بـ Python لحاجات لقيناها. نشغّل…

main.py
surface = [
    {"asset": "shop.example.com", "port": 443, "service": "HTTPS"},
    {"asset": "dev.example.com", "port": 80, "service": "HTTP"},
    {"asset": "10.0.0.5", "port": 3306, "service": "MySQL"},
]

for item in surface:
    print(item["asset"], item["port"], item["service"])

المخرجات

shop.example.com 443 HTTPS
dev.example.com 80 HTTP
10.0.0.5 3306 MySQL

ونفكر زي المهاجم: أنهي واحدة فيهم تلفت النزر؟ نضيف ملاحزات أوتوماتيك. نشغّل… موقع dev مكشوف ومن غير تشفير… ده أول حاجة هبص عليها.

main.py
surface = [
    {"asset": "shop.example.com", "port": 443, "service": "HTTPS"},
    {"asset": "dev.example.com", "port": 80, "service": "HTTP"},
    {"asset": "10.0.0.5", "port": 3306, "service": "MySQL"},
]

for item in surface:
    note = ""
    if item["service"] == "HTTP":
        note = "no encryption"
    if "dev" in item["asset"]:
        note += " dev server exposed"
    print(item["asset"], item["service"], note)

المخرجات

shop.example.com HTTPS 
dev.example.com HTTP no encryption dev server exposed
10.0.0.5 MySQL

ليه الـ dev؟ لأن مواقع التجارب غالباً: ما بتتحدِّسش. فيها debug شغال. وباسوردات افتراضية زي admin admin. وساعات متوصّلة بنفس قاعدة البيانات الحقيقية. دورك: ضيف تنبيه لأي قاعدة بيانات مكشوفة، يعني لو الـ service هي MySQL، ضيف database exposed.

تمرين

ضيف شرط: لو service == "MySQL" ضيف " database exposed" للـ note.

الحل: نشغّل…

main.py
surface = [
    {"asset": "shop.example.com", "port": 443, "service": "HTTPS"},
    {"asset": "dev.example.com", "port": 80, "service": "HTTP"},
    {"asset": "10.0.0.5", "port": 3306, "service": "MySQL"},
]

for item in surface:
    note = ""
    if item["service"] == "HTTP":
        note = "no encryption"
    if "dev" in item["asset"]:
        note += " dev server exposed"
    if item["service"] == "MySQL":
        note += " database exposed"
    print(item["asset"], item["service"], note)

المخرجات

shop.example.com HTTPS 
dev.example.com HTTP no encryption dev server exposed
10.0.0.5 MySQL  database exposed

الدرس الجاي: أسهل باب للدخول ساعات مش جهاز خالص… ده بني آدم. الـ Social Engineering. يلا بينا.

03 / دروس المسار (23)
  1. 01أهلاً بيك — يعني إيه أمن سيبراني؟
  2. 02الكمبيوتر بيشتغل إزاي من جُوّه؟
  3. 03نظام التشغيل: المدير اللي بيدير كل حاجة
  4. 04الملفات والـ Users والصلاحيات
  5. 05صفر وواحد: Binary و Hex و Encoding
  6. 06الشبكات والـ IP Address
  7. 07الـ Ports والـ Protocols
  8. 08الـ DNS والـ HTTP: إزاي الموقع بيفتح؟
  9. 09تطبيق الويب: Client و Server و Database
  10. 10مفاهيم الحماية: CIA Triad
  11. 11Vulnerability و Threat و Risk
  12. 12Authentication و Authorization
  13. 13Least Privilege و Defense in Depth
  14. 14الـ Hashing: إزاي نحفَظ الباسورد صح
  15. 15الـ Encryption: Symmetric و Asymmetric و HTTPS
  16. 16تفكير المهاجم: الثقة والمدخلات
  17. 17الـ Attack Surface والـ Attack Vectorsانت هنا
  18. 18الـ Social Engineering والـ Phishing
  19. 19أنواع المهاجمين، والأخلاق، والقانون
  20. 20أنواع الاختبار والـ Scope والـ Rules of Engagement
  21. 21مراحل اختبار الاختراق
  22. 22جهّز الـ Lab بتاعك
  23. 23مراجعة نهائية: سيناريو كامل، وإنت رايح فين