هجمات Azure — الاشتراكات والهويات المدارة
استغلال Azure RBAC و Managed Identity و Key Vault
لماذا Azure مختلف عن AWS و GCP
Azure مدمج بعمق مع Entra ID (هوية المستخدمين) و Active Directory الكلاسيكي. الاختراق يقفز بين الطبقات: من حساب M365 → إلى Subscription → إلى VM → إلى on-prem AD. هذه الجسور هي ما يجعل Azure هدفاً ذهبياً للمهاجمين الحكوميين.
نموذج الصلاحيات — RBAC + Entra Roles
الاستطلاع — معرفة Tenant بدون اعتماد
Managed Identity — جوهرة المهاجم
عندما تشغّل VM أو Function App في Azure، يمكن منحها Managed Identity — هوية تلقائية مع صلاحيات على موارد أخرى. الفائدة: لا كلمات مرور. المشكلة: من يخترق الـ VM يصبح هذه الهوية فوراً.
Storage Accounts — أكبر مصدر تسريب
- Public containers — مثل S3 buckets، لكن أصعب اكتشافاً (DNS غير قابل للحرث بسهولة).
- SAS Tokens — مفاتيح مؤقتة. تظهر في كود JavaScript على الـ frontend، Postman, GitHub commits.
- Storage Account Keys — مفتاحان أزليان لكل حساب. من يحصل عليهما = SYSTEM على البيانات.
Key Vault — صندوق الأسرار الذهبي
Key Vault يحوي certificates, secrets, keys. الهجوم لا يكسر التشفير — يكسر سياسة الوصول.
# كل من له get/list secrets يستطيع تنزيل كل شيء
az keyvault secret list --vault-name target-kv --query '[].name' -o tsv \
| while read name; do
echo "=== $name ==="
az keyvault secret show --vault-name target-kv --name "$name" --query value -o tsv
done
# Soft-delete لا يحميك — يمكن استعادة secret محذوف لمدة 90 يوماً
az keyvault secret list-deleted --vault-name target-kvAutomation Accounts و Runbooks
Runbook = سكريبت PowerShell يعمل بصلاحيات Run-As Account (غالباً Contributor على Subscription). من يستطيع تعديله = من يصبح Contributor.
السكريبت evil.ps1 يمكنه إنشاء Service Principal بصلاحيات Owner و إرسال credentials خارج البيئة.
القفز إلى on-prem — Azure AD Connect
الخادم الذي يشغّل Azure AD Connect يحوي حسابي خدمة كلاهما خطر:
- MSOL_* — له صلاحية DCSync على on-prem AD. من يحصل على hash هذا الحساب = يقرأ كل كلمات المرور.
- Sync_* — له صلاحية على Entra لمزامنة الكلمات. كافٍ لإعادة تعيين كلمة مرور Global Admin سحابي إذا لم يكن "cloud-only".
# على خادم AAD Connect — استخراج credentials
adconnectdump.exe # أو AADInternals: Get-AADIntSyncCredentials
# ثم DCSync بحساب MSOL_ من أي مكان داخل الشبكة
mimikatz # lsadump::dcsync /domain:corp.local /user:Administrator /authuser:MSOL_xxx /authpassword:xxxالكشف و الدفاع
- Sign-in Logs — تسجيل دخول من IP غير معتاد لمسؤول. UEBA risk score > 70.
- Audit Logs — إضافة credential على Service Principal، تغيير Conditional Access policies، رفع role.
- Activity Log — على Subscription: Microsoft.Authorization/roleAssignments/write، Microsoft.KeyVault/vaults/secrets/getSecret من principal غير معتاد.
- Defender for Cloud — يكشف Managed Identity token abuse و IMDS من شبكة غير معتادة.
- طبّق Conditional Access على كل دور إداري — تصلب MFA + Trusted Locations + Compliant Device.
- استخدم Privileged Identity Management (PIM) — أدوار Just-In-Time مع تفعيل و موافقة.
- فصل Break-Glass accounts (2 على الأقل) خارج Conditional Access مع تنبيه عند كل استخدام.
- راجع Service Principals كل أسبوع — كثير منها ينسى مع credentials لا تنتهي.