
مجموعة من الأدوات الهجومية التي تستهدف Microsoft Azure والمكتوبة بلغة Python لتكون غير مرتبطة بمنصة معينة. يمكن العثور على قائمة الأدوات الحالية أدناه مع وصف موجز لوظائفها.
./Device_Code/device_code_easy_mode.py
- يُنشئ رمزًا لإدخاله من قبل المستخدم المستهدف
- يمكن استخدامه لتوليد الرموز المميزة العامة أو أثناء حملات التصيد/الهندسة الاجتماعية.
./Access_Tokens/token_juggle.py
- يأخذ رمز تحديث بطرق مختلفة ويسترد رمز تحديث جديد ورمز وصول للمورد المحدد
./Access_Tokens/read_token.py
- يأخذ رمز وصول ويحلل معلومات المطالبات المضمنة، ويتحقق من انتهاء الصلاحية، ويحاول التحقق من التوقيع
./Outsider_Recon/outsider_recon.py
- يأخذ نطاقًا ويعدد أكبر قدر ممكن من المعلومات حول المستأجر دون الحاجة إلى المصادقة
./User_Enum/user_enum.py
- يأخذ اسم مستخدم أو قائمة بأسماء المستخدمين ويحاول تعداد الحسابات الصالحة باستخدام إحدى الطرق الثلاث
- يمكن استخدامه أيضًا لتنفيذ هجوم رش كلمات المرور (password spray)
./Azure_AD/get_tenant.py
- يأخذ رمز وصول أو رمز تحديث، ويخرج معرف المستأجر واسم المستأجر
- ينشئ ملف إخراج نصي بالإضافة إلى ملف aztenant متوافق مع BloodHound
./Azure_AD/get_users.py
- يأخذ رمز وصول أو رمز تحديث، ويخرج جميع المستخدمين في Azure AD وجميع خصائص المستخدم المتاحة في Microsoft Graph
- ينشئ ثلاثة ملفات بيانات، ملف JSON مضغوط، وملف JSON خام، وملف azusers متوافق مع BloodHound
./Azure_AD/get_groups.py
- يأخذ رمز وصول أو رمز تحديث، ويخرج جميع المجموعات في Azure AD وجميع خصائص المجموعة المتاحة في Microsoft Graph
- ينشئ ثلاثة ملفات بيانات، ملف JSON مضغوط، وملف JSON خام، وملف azgroups متوافق مع BloodHound
./Azure_AD/get_group_members.py
- يأخذ رمز وصول أو رمز تحديث، ويخرج جميع عضويات المجموعات في Azure AD وجميع خصائص أعضاء المجموعة المتاحة في Microsoft Graph
- ينشئ ثلاثة ملفات بيانات، ملف JSON مضغوط، وملف JSON خام، وملف azgroups متوافق مع BloodHound
./Azure_AD/get_subscriptions.py
- يأخذ رمز ARM أو رمز تحديث، ويخرج جميع الاشتراكات في Azure وجميع خصائص الاشتراك المتاحة في Azure Resource Manager
- ينشئ ثلاثة ملفات بيانات، ملف JSON مضغوط، وملف JSON خام، وملف azgroups متوافق مع BloodHound
./Azure_AD/get_resource_groups.py
- يأخذ رمز ARM أو رمز تحديث، ويخرج جميع مجموعات الموارد في Azure وجميع خصائص مجموعة الموارد المتاحة في Azure Resource Manager
- ينشئ ملفي بيانات، ملف JSON خام، وملف azgroups متوافق مع BloodHound
./Azure_AD/get_vms.py
- يأخذ رمز ARM أو رمز تحديث، ويخرج جميع الأجهزة الافتراضية في Azure وجميع خصائص VM المتاحة في Azure Resource Manager
- ينشئ ملفي بيانات، ملف JSON خام، وملف azgroups متوافق مع BloodHound
التثبيت
يمكن تثبيت Offensive Azure بعدة طرق أو عدم تثبيته مطلقًا.
يمكنك استنساخ المستودع وتنفيذ البرامج النصية المحددة التي تريدها. يتم تضمين ملف requirements.txt لكل وحدة لتسهيل ذلك قدر الإمكان.
Poetry
المشروع مبني للعمل مع poetry. للاستخدام، اتبع الخطوات التالية:
git clone https://github.com/blacklanternsecurity/offensive-azure.git
cd ./offensive-azure
poetry install
Pip
يتم أيضًا حفظ الإصدار المعبأ من المستودع على pypi لذا يمكنك استخدام pip للتثبيت أيضًا. نوصي باستخدام pipenv للحفاظ على بيئتك نظيفة قدر الإمكان.
pipenv shell
pip install offensive_azure
الاستخدام
الأمر متروك لك في كيفية استخدام مجموعة الأدوات هذه. يمكن تشغيل كل وحدة بشكل مستقل، أو يمكنك تثبيتها كحزمة واستخدامها بهذه الطريقة. يتم تصدير كل وحدة إلى برنامج نصي بنفس اسم ملف الوحدة. على سبيل المثال:
Poetry
poetry install
poetry run outsider_recon your-domain.com
Pip
pipenv shell
pip install offensive_azure
outsider_recon your-domain.com