Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BARK — BloodHound Attack Research Kit | Kitploit
أدوات/GitHubGitHub/bloodhoundad/bark
تصعيد الامتيازاتالاستطلاعالاستغلالجمع المعلوماتاختبار الاختراقأمن السحابةإدارة الهوية والوصول (IAM)المصادقةالفريق الأحمر
GitHubbloodhoundad/bark

BARK

BloodHound Attack Research Kit

6047119منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

BARK

BARK Logo

BARK هي اختصار لـ BloodHound Attack Research Kit. وهي سكريبت PowerShell صُمم لمساعدة فريق BloodHound Enterprise في البحث والتحقق المستمر من بدائل الإساءة (abuse primitives). تركز BARK حالياً على مجموعة منتجات وخدمات Microsoft Azure.

لا تتطلب BARK أي تبعيات خارجية. صُممت دوال BARK لتكون بسيطة وقابلة للصيانة قدر الإمكان. معظم الدوال هي مجرد أغلفة بسيطة لإجراء طلبات إلى نقاط نهاية REST API المختلفة. حتى أن الدوال الأساسية في BARK لا تحتاج بعضها البعض - يمكنك سحب أي دالة من BARK تقريباً وستعمل بشكل مثالي كدالة مستقلة في سكريبتاتك الخاصة.

المؤلف والمساهمون

المؤلف الأساسي: Andy Robbins @_wald0

المساهمون:

  • Jonas Bülow Knudsen @Jonas_B_K
  • Fabian Bader @fabian_bader
  • CravateRouge @CravateRouge
  • g60ocR @g60ocR

بدء الاستخدام

هناك عدة طرق لاستيراد سكريبت PowerShell. إليك إحداها:

أولاً، قم بتحميل BARK.ps1 عن طريق استنساخ هذا المستودع أو ببساطة نسخ محتوياته الخام من GitHub.

git clone https://github.com/BloodHoundAD/BARK

الآن، انتقل إلى الدليل الذي يوجد به ملف PS1:

cd BARK

أخيراً، يمكنك استيراد الملف PS1 باستخدام نقطة (dot import) كما يلي:

. .\BARK.ps1

اضغط Enter، وسيكون لديك الآن إمكانية الوصول إلى جميع دوال BARK في جلسة PowerShell الخاصة بك.

تشغيل أول أوامر BARK

باستثناءات قليلة جداً، تتطلب نقاط نهاية Azure API المصادقة للتفاعل معها. تأتي BARK مع بعض الدوال التي ستساعدك في الحصول على الرموز المميزة (tokens) اللازمة للتفاعل مع MS Graph وAzure REST APIs. أي دالة في BARK تتفاعل مع Azure API تتطلب المصادقة، ستحتاج إلى تزويدها برمز مميز.

لنفترض أنك تريد سرد جميع المستخدمين في مستأجر Entra ID. تحتاج أولاً إلى الحصول على رمز مميز مُحدد النطاق لـ MS Graph. هناك طرق عديدة للحصول على هذا الرمز:

إذا كان لديك اسم مستخدم/كلمة مرور لمستخدم Entra في ذلك المستأجر، يمكنك أولاً الحصول على رمز تحديث (refresh token) للمستخدم باستخدام دالة Get-EntraRefreshTokenWithUsernamePassword من BARK:

$MyRefreshTokenRequest = Get-EntraRefreshTokenWithUsernamePassword -username "[email protected]" -password "MyVeryCoolPassword" -TenantID "contoso.onmicrosoft.com"

الكائن الناتج الذي أنشأته للتو، $MyRefreshTokenRequest، سيحتوي على رمز تحديث لمستخدمك. يمكنك الآن طلب رمز مميز مُحدد النطاق لـ MS Graph باستخدام رمز التحديث هذا:

$MyMSGraphToken = Get-MSGraphTokenWithRefreshToken -RefreshToken $MyRefreshTokenRequest.refresh_token -TenantID "contoso.onmicrosoft.com"

الآن هذا الكائن الجديد، $MyMSGraphToken، سيكون لديه كإحدى خصائصه JWT مُحدد النطاق لـ MS Graph لمستخدمك. أنت الآن جاهز لاستخدام هذا الرمز لسرد جميع المستخدمين في مستأجر Entra:

$MyUsers = Get-AllEntraUsers -Token $MyMSGraphToken.access_token -ShowProgress

بمجرد الانتهاء، سيمتلئ المتغير $MyEntraUsers بكائنات تمثل جميع المستخدمين في مستأجر Entra الخاص بك.

دوال إدارة الرموز المميزة ومعالجتها

  • Get-AzureKeyVaultTokenWithClientCredentials يطلب رمزاً مميزاً من STS مع تحديد Azure Vault كمورد/جمهور مقصود باستخدام معرف العميل وسر.
  • Get-AzureKeyVaultTokenWithUsernamePassword يطلب رمزاً مميزاً من STS مع تحديد Azure Vault كمورد/جمهور مقصود باستخدام اسم مستخدم وكلمة مرور يقدمهما المستخدم.
  • Get-AzurePortalTokenWithRefreshToken يطلب رمز تحديث بوابة Azure (Azure Portal Auth Refresh token) باستخدام رمز تحديث يقدمه المستخدم.
  • Get-AzureRMTokenWithClientCredentials يطلب JWT مُحدد النطاق لـ AzureRM باستخدام معرف العميل وسر. مفيد للمصادقة كمدير خدمة (service principal) في Entra.
  • Get-AzureRMTokenWithPortalAuthRefreshToken يطلب JWT مُحدد النطاق لـ AzureRM باستخدام رمز تحديث بوابة Azure يقدمه المستخدم.
  • Get-AzureRMTokenWithRefreshToken يطلب JWT مُحدد النطاق لـ AzureRM باستخدام رمز تحديث يقدمه المستخدم.
  • Get-AzureRMTokenWithUsernamePassword يطلب JWT مُحدد النطاق لـ AzureRM باستخدام اسم مستخدم وكلمة مرور يقدمهما المستخدم.
  • Get-EntraRefreshTokenWithUsernamePassword يطلب مجموعة من الرموز المميزة، بما في ذلك رمز التحديث، من login.microsoftonline.com باستخدام اسم مستخدم وكلمة مرور يقدمهما المستخدم. سيفشل هذا إذا كان المستخدم لديه متطلبات المصادقة متعددة العوامل (MFA) أو متأثر بسياسة الوصول الشرطي (Conditional Access Policy).
  • Get-MSGraphTokenWithClientCredentials يطلب JWT مُحدد النطاق لـ MS Graph باستخدام معرف العميل وسر. مفيد للمصادقة كمدير خدمة في Entra.
  • Get-MSGraphTokenWithPortalAuthRefreshToken يطلب JWT مُحدد النطاق لـ MS Graph باستخدام رمز تحديث بوابة Azure يقدمه المستخدم.
  • Get-MSGraphTokenWithRefreshToken يطلب JWT مُحدد النطاق لـ MS Graph باستخدام رمز تحديث يقدمه المستخدم.
  • Get-MSGraphTokenWithUsernamePassword يطلب JWT مُحدد النطاق لـ MS Graph باستخدام اسم مستخدم وكلمة مرور يقدمهما المستخدم.
  • Parse-JWTToken يأخذ JWT مشفر بـ Base64 كمدخل ويقوم بتحليله لك. مفيد للتحقق من الجمهور (audience) والمطالبات (claims) الصحيحة للرمز.

الدوال القائمة على رمز التحديث في BARK مبنية على دوال في TokenTactics بواسطة Steve Borosh.

دوال تعداد Entra

  • Get-AllEntraApps يجمع جميع كائنات تسجيل التطبيقات في Entra.
  • Get-AllEntraGroups يجمع جميع مجموعات Entra.
  • Get-AllEntraRoles يجمع جميع أدوار المسؤول في Entra.
  • Get-AllEntraServicePrincipals يجمع جميع كائنات مديري الخدمة في Entra.
  • Get-AllEntraUsers يجمع جميع مستخدمي Entra.
  • Get-EntraAppOwner يجمع مالكي تسجيل تطبيق Entra.
  • Get-EntraDeviceRegisteredUsers يجمع مستخدمي جهاز Entra.
  • Get-EntraGroupMembers يجمع أعضاء مجموعة Entra.
  • Get-EntraGroupOwner يجمع مالكي مجموعة Entra.
  • Get-EntraRoleTemplates يجمع قوالب أدوار المسؤول في Entra.
  • Get-EntraServicePrincipal يجمع مدير خدمة في Entra.
  • Get-EntraServicePrincipalOwner يجمع مالكي مدير خدمة في Entra.
  • Get-EntraTierZeroServicePrincipals يجمع مديري الخدمة في Entra الذين لديهم تعيين دور مسؤول Entra من المستوى الصفري (Tier Zero) أو تعيين دور تطبيق MS Graph من المستوى الصفري.
  • Get-MGAppRoles يجمع أدوار التطبيق المتاحة من مدير خدمة MS Graph.
تنزيل الأداة