# نصوص Bash وPowerShell لتقييمات أمان Azure، تغطي تصعيد الامتيازات في IAM، واستغلال سجل الحاويات، وكشف Key Vault، وإعدادات Entra ID، وتدقيق SQL.
| السكربت | الصدفة | الوصف |
|---|
IAMPrivz.sh | Bash | يدقق جميع تعريفات وتعيينات أدوار RBAC عبر كامل المستأجر (tenant) بحثًا عن صلاحيات تصعيد الامتيازات الخطيرة: roleAssignments/write وroleDefinitions/write وfederatedIdentityCredentials/write. يحدد هويات الكيانات الأمنية (المستخدمين، وكيانات الخدمة، والمجموعات) لكل تعيين يتم الإبلاغ عنه. ينتج تقارير بصيغة JSON ونصية. |
EntraUserSettings.sh | Bash | يُبلغ عن إعدادات المستخدم على مستوى المستأجر في Entra ID عبر Microsoft Graph — صلاحيات تسجيل التطبيقات، وإنشاء المستأجرين، وإنشاء مجموعات الأمان، ومستوى تقييد وصول الضيوف، وقيود مركز الإدارة. |
EntraUserSettings.ps1 | PowerShell | نسخة PowerShell المكافئة من EntraUserSettings.sh. |
GlobalAdmins.sh | Bash | يستخرج جميع أعضاء دور مسؤول الدليل العام (Global Administrator). يجمع الاسم المعروض، وUPN، ونوع الكائن، وحالة الحساب، ومعرف الكائن. يقوم بتفعيل الدور إذا لم يكن مفعلاً في الدليل. ينتج جدولًا منسقًا + ملف CSV بطابع زمني. |
GlobalAdmin.ps1 | PowerShell | نسخة PowerShell المكافئة من GlobalAdmins.sh. |
GuestInvite.sh | Bash | يدقق سياسات دعوة الضيوف وإعدادات التعاون الخارجي — من يمكنه دعوة الضيوف، ومستويات تقييد وصول الضيوف، وصلاحيات التسجيل عبر البريد الإلكتروني. يرصد التكوينات عالية الخطورة (مثل "السماح للجميع بالدعوة"). ينتج تقريرًا بطابع زمني. |
GuestInvite.ps1 | PowerShell | نسخة PowerShell المكافئة من GuestInvite.sh. |
JoinableGroups.sh | Bash | يكتشف مجموعات Entra ID التي يمكن الانضمام إليها علنًا (رؤية عامة، عضوية غير ديناميكية). يجمع البيانات الوصفية، وأعداد الأعضاء، وأدوار الدليل المعينة. يوفر قائمة تفاعلية لاختيار المجموعات والانضمام إليها. ينتج CSV. |
JoinableGroups.ps1 | PowerShell | نسخة PowerShell المكافئة من JoinableGroups.sh. |
| السكربت | الصدفة | الوصف |
|---|---|---|
Conreg.sh | Bash | يعدد تعيينات الأدوار عبر جميع الاشتراكات وسجلات ACR، مع الربط بينها وبين 14 صلاحية ACR خطيرة (الوصول إلى بيانات اعتماد المسؤول، وتوليد الرموز، وإنشاء المهام بهويات مدارة، وتغييرات تكوين السجل). ينفذ اختبارات قدرة فعلية — يحاول فعليًا تنفيذ العمليات لتأكيد قابلية الاستغلال، ثم ينظف موارد الاختبار. ينتج تقريرًا بطابع زمني. |
ContainerPermz.sh | Bash | يدقق موارد الحاويات (ACR، وتطبيقات الحاويات، ومثيلات الحاويات) عبر جميع الاشتراكات. يعدد تعيينات الأدوار المقتصرة على خدمات الحاويات، ويحدد الكيانات التي تملك صلاحيات الكتابة/المالك/المساهم، ويتحقق من تطبيقات ومثيلات الحاويات التي لديها هويات مدارة مفعّلة. ينتج ملفي CSV. |
ContainerPermz.ps1 | PowerShell | نسخة PowerShell المكافئة من ContainerPermz.sh. |
| السكربت | الصدفة | الوصف |
|---|---|---|
KV-Access.sh | Bash | يختبر ما إذا كان المستخدم الحالي يملك وصولًا فعليًا إلى مستوى البيانات (data-plane) لمخازن المفاتيح عبر الاشتراكات المحددة. يحاول سرد الأسرار والمفاتيح والشهادات في كل مخزن. يدعم اختيار الاشتراكات تفاعليًا أو محددًا (-s) أو الكل (-a). ينتج تقريرًا بطابع زمني. |
KV-Access.ps1 | PowerShell | نسخة PowerShell المكافئة من KV-Access.sh. يستخدم العلَمين -SubscriptionIds و-All. |
KV-PublicAccess.sh | Bash | يدقق إعدادات الشبكة لكل مخزن مفاتيح عبر جميع الاشتراكات. يصنف كل مخزن إلى: متاح للعموم، أو مقيد بجدار الحماية، أو خاص فقط، أو محدود. يتحقق من الوصول إلى الشبكة العامة، وإجراء ACL الافتراضي، وقواعد IP/VNet، ونقاط النهاية الخاصة. ينتج CSV. |
KV-PublicAccess.ps1 | PowerShell | نسخة PowerShell المكافئة من KV-PublicAccess.sh. |
| السكربت | الصدفة | الوصف |
|---|---|---|
RunbookGrabz.sh | Bash | تدقيق شامل لجميع حسابات Azure Automation عبر جميع الاشتراكات. يستخرج الكود المصدري لـ runbook، وإعدادات webhook، والجداول، وسجل الوظائف (آخر 30 يومًا)، وتفاصيل العامل الهجين (hybrid worker). ينتج بنية دليل هرمية تحتوي ملفات تفاصيل لكل حساب ومجلدات مخصصة لمحتوى runbook. |
RunbookGrabz.ps1 | PowerShell | نسخة PowerShell المكافئة من RunbookGrabz.sh. |
| السكربت | الصدفة | الوصف |
|---|---|---|
SQLAuditing.sh | Bash | يتحقق من حالة التدقيق لجميع خوادم وقواعد بيانات Azure SQL عبر جميع الاشتراكات. يتحقق من أهداف blob وLog Analytics وEvent Hub. منطق ذكي: يتخطى الفحوصات على مستوى قاعدة البيانات عندما يكون تدقيق مستوى الخادم مفعلاً بالفعل. يرصد قواعد البيانات غير المغطاة. ينتج CSV. |
SQLAuditing.ps1 | PowerShell | نسخة PowerShell المكافئة من SQLAuditing.sh. |
az login) أو جلسة Azure Cloud Shelljq — مطلوب لجميع نصوص Bash.ps1 (Az.Accounts، Az.KeyVault، Az.Sql، وغيرها)Conreg.sh تختبر عمليات الكتابة)# Run from Azure Cloud Shell or any authenticated terminal
az login
# IAM privilege escalation audit
bash Cloudshell/IAMPrivz.sh
# Container registry permission check with live tests
bash Cloudshell/Conreg.sh
# Key Vault access test (all subscriptions)
bash Cloudshell/KV-Access.sh -a
# Key Vault public exposure audit
bash Cloudshell/KV-PublicAccess.sh
# PowerShell equivalents
pwsh Cloudshell/KV-Access.ps1 -All
pwsh Cloudshell/ContainerPermz.ps1
Azure/
├── README.md
└── Cloudshell/
├── IAMPrivz.sh
├── Conreg.sh
├── ContainerPermz.sh
├── ContainerPermz.ps1
├── EntraUserSettings.sh
├── EntraUserSettings.ps1
├── GlobalAdmins.sh
├── GlobalAdmin.ps1
├── GuestInvite.sh
├── GuestInvite.ps1
├── JoinableGroups.sh
├── JoinableGroups.ps1
├── KV-Access.sh
├── KV-Access.ps1
├── KV-PublicAccess.sh
├── KV-PublicAccess.ps1
├── RunbookGrabz.sh
├── RunbookGrabz.ps1
├── SQLAuditing.sh
└── SQLAuditing.ps1
هذه الأدوات مخصصة لتقييمات الأمن المصرح بها والأغراض التعليمية فقط. احصل دائمًا على إذن مناسب قبل تشغيل هذه البرامج النصية ضد أي بيئة Azure.