إعدادات IAM الخاطئة
أدوار مفرطة الصلاحيات
إعدادات IAM الخاطئة درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
لماذا تُعد IAM المحيط الحقيقي
في السحابة، الهوية هي المحيط الجديد. تحدد IAM (إدارة الهوية والوصول) من يستطيع تنفيذ أي إجراء. ويتيح الخلل في IAM للمهاجم الانتقال من موطئ قدم منخفض الصلاحيات إلى السيطرة الكاملة على الحساب.
- المستخدمون والأدوار وحسابات الخدمة هويات
- تحدد السياسات الأذونات
- تُعد السياسات التي أسيء إعدادها الخطر السحابي الأول
ترتبط معظم عمليات تصعيد الصلاحيات السحابية بمشكلة في IAM.
المستخدمون والأدوار والسياسات
تتضمن AWS IAM ثلاث لبنات أساسية يجب فهمها:
- المستخدمون — هويات طويلة الأمد مزودة بمفاتيح وصول
- الأدوار — هويات مؤقتة يمكن للمستخدمين أو الخدمات تولّيها
- السياسات — مستندات JSON تمنح إجراءات على الموارد أو تمنعها
يؤدي إرفاق سياسة على نطاق واسع جدًا إلى منح أذونات مفرطة.
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports-bucket/*"
}خطر المحارف البديلة
يُعد نمط سياسة wildcard أخطر أنماط IAM على الإطلاق. فهو يمنح جميع الإجراءات على جميع الموارد.
إذا اخترق مهاجم هويةً تحمل هذه السياسة، فسيستولي على الحساب بالكامل.
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.حصر أذوناتكم الخاصة
بمجرد امتلاككم بيانات اعتماد، اسردوا ما يمكنها تنفيذه. توفر IAM واجهات API للقراءة تكشف السياسات المرفقة.
بل إن بعض الحسابات تمنح المستخدمين العاديين iam:Get* وiam:List*، فتقدم لكم خريطة جاهزة.
# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser
# Get the JSON of a managed policy version
aws iam get-policy-version \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
--version-id v1تصعيد الصلاحيات عبر iam:PassRole
إحدى طرق التصعيد الكلاسيكية: يمتلك المستخدم iam:PassRole إلى جانب إذن إنشاء خدمة. ويمكنه تشغيل مورد يتولى دورًا عالي الصلاحيات، ثم يرث صلاحياته.
- يمتلك المستخدم
ec2:RunInstances+iam:PassRole - يشغّل مثيل EC2 مرفقًا به دور مسؤول
- يحمل المثيل الآن بيانات اعتماد المسؤول، ويستعيدها المستخدم
لم يمتلك المستخدم صلاحيات المسؤول مباشرة، لكنه صعّد صلاحياته إليها.
تركيبات الأذونات الخطرة
قد تكون الأذونات الفردية غير ضارة، لكنها تصبح مسارات لتصعيد الصلاحيات عند جمعها. ومن التركيبات الخطرة المعروفة:
iam:CreatePolicyVersion— إعادة كتابة سياسة موجودة لمنح صلاحيات المسؤولiam:AttachUserPolicy— إرفاق AdministratorAccess بأنفسكمiam:CreateAccessKeyلمستخدم آخر — انتحال هويتهsts:AssumeRoleلدور يثق بالجهات على نحو مفرط
تسرد الأدوات هذه التركيبات تلقائيًا.
سياسات الثقة وAssumeRole
تتضمن الأدوار سياسة ثقة تحدد من يمكنه تولّيها. وتمثل سياسة الثقة الواسعة جدًا بابًا خلفيًا.
إذا وثق دور بالحساب بالكامل أو حتى بحساب خارجي عن طريق الخطأ، فيمكن للمهاجم تولّيه.
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole"
}
# Trusting the entire account root means ANY identity in it can assume the role.أتمتة اكتشاف مسارات التصعيد
يُعد فحص كل تركيبة من السياسات يدويًا أمرًا شاقًا. وتضع الأدوات خريطة لمسارات التصعيد نيابةً عنكم.
- Pacu — إطار استغلال AWS يتضمن وحدات لتصعيد الصلاحيات
- PMapper — ينشئ رسمًا بيانيًا لعلاقات IAM ويكتشف روابط تصعيد الصلاحيات
- enumerate-iam — يختبر بالقوة استدعاءات API التي يستطيع المفتاح تنفيذها
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan
# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'السياسات المضمنة مقابل المُدارة
يمكن منح الأذونات بطريقتين، ويفحص المهاجمون كلتيهما:
- السياسات المُدارة — قابلة لإعادة الاستخدام ومرفقة بعدة هويات
- السياسات المضمنة — مدمجة مباشرة في مستخدم أو دور واحد
من السهل إغفال السياسات المضمنة أثناء عمليات التدقيق، ولذلك كثيرًا ما تخفي أذونات مفرطة. احرصوا دائمًا على حصر النوعين عند تقييم هوية.
# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inlineالتدعيم: أقل قدر من الصلاحيات
يتمثل علاج أخطاء إعداد IAM في تطبيق مبدأ أقل قدر من الصلاحيات: منح الأذونات المطلوبة بالضبط فقط.
- استبدلوا المحارف البديلة بإجراءات صريحة وARNs للموارد
- استخدموا أدوارًا ببيانات اعتماد قصيرة الأجل بدلًا من المفاتيح طويلة الأجل
- دققوا في الأذونات غير المستخدمة باستخدام Access Analyzer
- أجبِروا الهويات ذات الصلاحيات العالية على استخدام MFA
ينبغي أن يربط تقريركم كل نتيجة بإجراء معالجة يستند إلى أقل قدر من الصلاحيات.
الالتزام بالتفويض
يؤدي اختبار تصعيد الصلاحيات إلى تغيير حالة الحساب فعليًا. لذا توخوا الحذر:
- يُعد إنشاء السياسات أو المفاتيح أو الأدوار إجراءً تدخليًا؛ احصلوا على موافقة خطية
- وثّقوا كل تغيير كي يمكن التراجع عنه
- فضّلوا الحصر للقراءة فقط لإثبات المسار قبل استغلاله
غالبًا ما يكفي إثبات أن مسار تصعيد الصلاحيات موجود؛ فلا تحتاجون دائمًا إلى استغلاله بالكامل.
اختبار سريع
ما تركيبة الأذونات التي تمثل مسارًا كلاسيكيًا لتصعيد الصلاحيات في AWS؟
مراجعة: أخطاء إعداد IAM
تعلّمتم لماذا تُعد IAM المحيط الحقيقي للسحابة، وكيف يستغلها المهاجمون.
- تُعد سياسات
Action:* Resource:*ذات المحارف البديلة كارثية - يتيح
iam:PassRole+ إنشاء خدمة تصعيد الصلاحيات - تسمح سياسات الثقة الواسعة جدًا للمهاجمين بتولّي الأدوار
- تؤتمت أدوات مثل Pacu وPMapper اكتشاف المسارات
- تتمثل المعالجة دائمًا في تطبيق مبدأ أقل قدر من الصلاحيات
بعد ذلك، سنلقي نظرة على S3 والتعرض التخزيني.
الأسئلة الشائعة
هل درس «إعدادات IAM الخاطئة» مجاني؟
نعم — نص درس «إعدادات IAM الخاطئة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «إعدادات IAM الخاطئة»؟
أدوار مفرطة الصلاحيات تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «إعدادات IAM الخاطئة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- سطح الهجوم السحابي
- إعدادات IAM الخاطئة
- انكشاف S3 والتخزين
- البيانات الوصفية وSSRF