
مجموعة أدوات Go لتقييمات أمان Azure المصرح بها: تُعدّد الاشتراكات والموارد، وتدقّق في حالات الضبط الخاطئ، وتهاجم تخزين Blob العام بشكل مجهول.
azpt)🚧 إصدار تجريبي عام.
azptقيد التطوير النشط — قد تتغير الأوامر والعلامات وتنسيقات المخرجات بين الإصدارات. نرحب بتقارير الأخطاء والملاحظات عبر مشكلات GitHub.
azpt هي مجموعة أدوات بلغة Go لتقييمات أمان Azure المصرّح بها. وهي تعمل
من منظورين:
⚠️ للاستخدام المصرّح به فقط. شغّل هذا فقط ضد المستأجرين والاشتراكات وحسابات التخزين التي لديك إذن كتابي صريح باختبارها. تلمس أوامر
blobالمجهولة بنية تحتية تابعة لطرف ثالث عبر الإنترنت — احصر نطاقها ضمن نطاق مهمتك.
تستهدف جميع الأمثلة أدناه شركة خيالية Acme Corp التي يُستضاف موقعها
التسويقي الثابت من حساب تخزين Azure يُدعى acmewebsite
(https://acmewebsite.blob.core.windows.net).
التوثيق الكامل موجود في docs/:
docs/guides/) — لكل ميزة: كيف تعمل
التقنية، وصلاحية Azure RBAC / Microsoft Graph المطلوبة بالضبط، والعلامات
الرئيسية مشروحة، وأمثلة، وملاحظات OPSEC / الكشف — منظمة حسب مرحلة
المهمة.docs/guides/scenarios/)
— سرديات هجوم من البداية إلى النهاية تربط الأوامر عبر المراحل (الرمز المميز →
Global Admin، الاستيلاء عبر Golden SAML، سرقة PRT، تصيّد الموافقة → M365،
الحركة الجانبية عبر الهوية المُدارة، البحث في الدليل دون اتصال، تصيّد
رمز الجهاز)، كل منها مع OPSEC والتنظيف.docs/reference/) — صفحة مُولّدة
تلقائيًا لكل أمر تتضمن كل علامة (الاسم، والاختصار، والنوع، والقيمة
الافتراضية، والوصف). أعد التوليد باستخدام azpt gen-docs docs/reference؛
وتُطبع المعلومات نفسها من azpt <command> --help.نزّل الأرشيف الخاص بمنصتك من أحدث إصدار، وتحقق منه، ثم استخرجه:```bash
tar -xzf azpt_.tar.gz sha256sum -c --ignore-missing SHA256SUMS
الملفات الثنائية ثابتة (`CGO_ENABLED=0`) ولا تحتاج إلى أي تبعيات وقت التشغيل.
تُنشر الإصدارات المُبنية لنظامي linux و darwin على معماريتي amd64 و arm64.
لا تُنشر ملفات ثنائية لنظام Windows. لا تزال الأدوات المساعدة الخاصة بـ Windows فقط (`prt extract`،
`adconnect sync-creds`، DPAPI) تُبنى من المصدر باستخدام `go build -o
azpt.exe .` على مضيف Windows.
### من المصدر
يتطلب Go 1.26+.```bash
git clone https://github.com/hac01/azure-pentesting-suite.git
cd azure-pentesting-suite
go build -o azpt .
ينتج عن هذا ملف azpt ثنائي مكتفٍ ذاتيًا في جذر المستودع. يمكنك أيضًا التشغيل
دون البناء عبر go run . <command> من دليل المستودع.
لا حاجة لتسجيل الدخول إلى Azure لأوامر blob المجهولة:```bash
./azpt blob hunt --account acmewebsite
باستخدام بيانات اعتماد Azure (`az login`)، قم بالتقييم من الداخل — سواء من مستوى الموارد (ARM) أو من الدليل (Entra ID / Graph):```bash
./azpt enum whoami # who am I authenticated as?
./azpt enum subscriptions # what subscriptions can this principal see?
./azpt audit storage # misconfigured storage accounts
./azpt enum users # dump the Entra ID directory (Graph)
سلسلة شائعة: استرجع بيانات اعتماد بشكل مجهول باستخدام blob hunt، ثم سجّل الدخول بصفة ذلك المستخدم (az login)، وتحقق مما يمكنه فعله باستخدام enum access، ثم انهب أي Key Vaults يمكنك الوصول إليها:```bash
./azpt enum access # token scopes, directory roles, groups, RBAC roles
./azpt enum resources # find Key Vaults (type: vaults)
./azpt vault list --vault ext-contractors # secrets, keys, certs in that vault
./azpt vault dump --vault ext-contractors # read every secret value (the loot)
## المصادقة
لا تحتاج أوامر `blob` المجهولة إلى **أي** مصادقة. كل ما عدا ذلك يستخدم
سلسلة بيانات الاعتماد الافتراضية في Azure، والتي تجرّب بالترتيب: متغيرات
البيئة، وهوية عبء العمل، والهوية المُدارة، وAzure CLI (`az login`).```bash
az login
./azpt enum subscriptions
فرض مصادقة service-principal صريحة (مفيدة لهوية تقييم محدودة النطاق) عبر الأعلام أو متغيرات البيئة. ليس لديك واحد بعد؟ الأمر az ad sp create-for-rbac --name azpt-assessment --role Reader --scopes /subscriptions/<subscription-id> ينشئ واحدًا — راجع Getting
started للحصول على
الدليل الكامل، بما في ذلك أذونات Graph التي لن يمنحك إياها RBAC وحده:```bash
./azpt --tenant --client-id --client-secret
enum subscriptions
export AZURE_TENANT_ID=... AZURE_CLIENT_ID=... AZURE_CLIENT_SECRET=... ./azpt enum subscriptions
**المصادقة القائمة على الشهادات** (PFX أو PEM):```bash
./azpt --tenant <tenant-id> --client-id <app-id> \
--certificate ./cert.pfx --cert-password 'P@ss' \
enum subscriptions
حدد نطاق عمليات التشغيل الموثقة لاشتراكات محددة باستخدام --subscription
(قابل للتكرار)؛ الافتراضي هو كل اشتراك يمكن للهوية الأساسية الوصول إليه:```bash
./azpt --subscription 00000000-1111-2222-3333-444444444444 audit storage
---
## مرجع الأوامر
🧪 تشير إلى أمر لا يزال في مرحلة **beta**: مُنفَّذ وقابل للاستخدام، لكنه أقل
اختبارًا ميدانيًا من بقية المجموعة — توقّع حوافًا خشنة، ويرجى
الإبلاغ عن المشكلات التي تواجهها.