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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
GitHound — مجمّع BloodHound OpenGraph لـ GitHub يقوم برسم هيكل المنظمة، والأذونات، ومسارات الهجوم عبر السحابات في رسم بياني قابل للتنقل لعمليات تدقيق الأمن والاستجابة للحوادث. | Kitploit
أدوات/GitHubGitHub/specterops/githound
الاستطلاعتحليل الثغرات الأمنيةجمع المعلوماتاختبار الاختراقأمن السحابةإدارة الهوية والوصول (IAM)أمن سلسلة التوريد
GitHubspecterops/githound

GitHound

مجمّع BloodHound OpenGraph لـ GitHub يقوم برسم هيكل المنظمة، والأذونات، ومسارات الهجوم عبر السحابات في رسم بياني قابل للتنقل لعمليات تدقيق الأمن والاستجابة للحوادث.

عرض المستودع
1431860منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

GitHound

GitHound

نظرة عامة

GitHound هو أداة جمع بيانات OpenGraph من BloodHound لـ GitHub، مصممة لرسم هيكل مؤسستك وأذوناتها في رسم بياني قابل للتصفح لمسارات الهجوم. يقوم بـ:

  • نمذجة الكيانات الرئيسية لـ GitHub

    • GH_Organization: بيانات وصف منظمة GitHub الخاصة بك
    • GH_User: حسابات المستخدمين الفرديين في المنظمة
    • GH_Team: فرق تجمع المستخدمين للوصول المشترك
    • GH_Repository: المستودعات داخل المنظمة
    • GH_Branch: الفروع المسماة في كل مستودع
    • GH_OrgRole و GH_TeamRole و GH_RepoRole: أدوار/أذونات على مستوى المنظمة والفريق والمستودع
  • التصور والتحليل في BloodHound

    • تدقيقات الوصول: رؤية من لديه صلاحيات إدارة/كتابة/قراءة على المستودعات والفروع بنظرة سريعة
    • فحوصات الامتثال: التحقق من أقل الصلاحيات عبر الفرق والمستودعات
    • الاستجابة للحوادث: تتبع تصعيد الصلاحيات وعضويات المجموعات

مع GitHound، تحصل على رسم بياني واضح وتفاعلي لمشهد أذونات GitHub الخاص بك - مثالي لمراجعات الأمان وعمليات التدقيق الامتثالي والتحقيقات السريعة في الحوادث.

التوثيق

للحصول على توثيق مفصل، راجع BloodHound Docs - GitHound.

بداية سريعة

# 1. Load the collector
. ./githound.ps1

# 2. Create a session with your Personal Access Token
$session = New-GitHubSession -OrganizationName "YourOrgName" -Token (Get-Clipboard)

# 3. Run the collection
Invoke-GitHound -Session $session

# 4. Upload the resulting githound_<orgId>.json file to BloodHound

إذا تمت مقاطعة التجميع، استأنف من حيث توقفت:

Invoke-GitHound -Session $session -Resume

جلسات تطبيق GitHub

يدعم GitHound كلًا من جلسات رمز الوصول الشخصي وجلسات تثبيت تطبيق GitHub. سير عمل تطبيق GitHub الموجود على نطاق المنظمة لم يتغير:

. ./githound.ps1

$session = New-GitHubJwtSession `
  -OrganizationName "YourOrgName" `
  -ClientId $clientId `
  -PrivateKeyPath $privateKeyPath `
  -InstallationId $installationId

Invoke-GitHound -Session $session -CollectAll

يمكن للدالة نفسها أيضًا إنشاء جلسات قادرة على التعامل مع المؤسسات:

. ./githound.ps1

$session = New-GitHubJwtSession `
  -EnterpriseName "YourEnterpriseSlug" `
  -ClientId $clientId `
  -PrivateKeyPath $privateKeyPath `
  -InstallationId $installationId `
  -PersonalAccessToken $pat

تحتفظ الجلسات القادرة على التعامل مع المؤسسات بسياقات مصادقة متعددة على الكائن المرتجع GitHound.Session:

  • Headers: رؤوس رمز تثبيت تطبيق GitHub المستخدمة للتجميع العادي
  • JwtHeaders: رؤوس JWT لتطبيق GitHub المستخدمة لنقاط النهاية على مستوى التطبيق مثل تعداد التثبيتات
  • PatHeaders: رؤوس رمز الوصول الشخصي الاختيارية لمسارات التجميع التي تتطلب مصادقة رمز المستخدم

لتعداد التثبيتات التي تنتمي إلى تطبيق GitHub المُوثق:

Get-GitHubAppInstallation -Session $session |
  Select-Object TargetType, InstallationId, Login, Name, SuspendedAt

تحليل سير العمل

تم دمج تحليل سير العمل الآن في Invoke-GitHound عند استخدام -CollectAll. سيقوم المُجمّع بـ:

  • جمع العقد الأولية GH_Workflow ومحتويات سير العمل
  • تحليل سير العمل هذه إلى GH_WorkflowJob و GH_WorkflowStep
  • حساب GH_CanPwnRequest و GH_CanDispatchTo
  • دمج النتائج في المخرجات المجمعة العادية githound_<orgId>.json

لأغراض الاستئناف/التصحيح، تتم كتابة نقطة التفتيش الوسيطة لتحليل سير العمل كـ githound_WorkflowAnalysis_<orgId>.json.

أساس جمع المؤسسات

يتضمن GitHound الآن أساسًا بسيطًا لجمع المؤسسات من خلال Git-HoundEnterprise. يقوم هذا المُجمّع حاليًا بإنشاء:

  • GH_Enterprise
  • عُقد غلاف GH_Organization خفيفة الوزن للمنظمات الأعضاء
  • حواف GH_Contains من المؤسسة إلى منظماتها

جمع مستخدمي المؤسسة من خلال Git-HoundEnterpriseUser يضيف:

  • GH_User
  • حواف GH_HasMember من المؤسسة إلى هؤلاء المستخدمين

جمع SAML للمؤسسة من خلال Git-HoundEnterpriseSamlProvider يضيف:

  • GH_SamlIdentityProvider
  • GH_ExternalIdentity
  • GH_HasSamlIdentityProvider من المؤسسة إلى الموفر
  • نفس حواف ارتباط الهوية المستخدمة بواسطة جامع SAML للمنظمة

يتطلب هذا المسار جلسة مدعومة بـ PAT لأن GitHub يعرض SAML للمؤسسة من خلال enterprise.ownerInfo.

جمع فريق المؤسسة من خلال Git-HoundEnterpriseTeam يضيف:

  • GH_EnterpriseTeam
  • حواف GH_AssignedTo من فرق المؤسسة إلى المنظمات المعينة
  • حواف GH_MemberOf من فرق المؤسسة إلى عُقد GH_Team المرئية للمنظمة ent: باستخدام مطابقة الخصائص
  • أدوار members في فريق المؤسسة وحواف GH_HasRole من المستخدمين إلى تلك الأدوار

جمع دور المؤسسة من خلال Git-HoundEnterpriseRole يضيف:

  • GH_EnterpriseRole
  • حواف GH_Contains من المؤسسة إلى تلك الأدوار
  • حواف GH_HasRole من المستخدمين المعينين مباشرة وفرق المؤسسة
  • دور owners افتراضي يتم ملؤه من enterprise.ownerInfo.admins عندما تكون بيانات مشرف المؤسسة المدعومة بـ PAT متاحة

في الوقت الحالي، يتم الاحتفاظ بسلاسل أذونات المؤسسة الأولية على عقدة GH_EnterpriseRole في خاصية permissions الخاصة بها بدلاً من توسيعها إلى حواف أذونات مخصصة.

جمع SCIM للمؤسسة يضيف حاليًا:

  • SCIM_User
  • SCIM_Group
  • SCIM_Provisioned من SCIM_User إلى GH_ExternalIdentity
  • SCIM_Provisioned من SCIM_Group إلى GH_EnterpriseTeam عندما يعرض GitHub group_id لفريق المؤسسة
  • SCIM_MemberOf من SCIM_User إلى SCIM_Group

يمنح هذا GitHound جسرًا غير مرتبط بالموفر من مخطط SCIM المشترك إلى نموذج هوية المؤسسة والفريق الأصلي لـ GitHub.

عندما يحدد GH_SamlIdentityProvider الذي تم جمعه موفر الهوية العلوي، يمكن لـ GitHound أيضًا إضافة حواف ارتباط SCIM الواعية بالموفر داخل مخرجات الـ sidecar لـ SCIM:

  • Okta_User -> SCIM_User
    • متطابق مع Okta_User.id = SCIM_User.externalId
  • Okta_Group -> SCIM_Group
    • متطابق مع Okta_Group.name = SCIM_Group.externalId
    • و Okta_Group.oktaDomain = GH_SamlIdentityProvider.foreign_environmentid

يحتفظ GitHound بطبقة SCIM في مخرجات sidecar الخاصة بها بحيث تظل هذه التعيينات مرئية دون خلط العُقد الأصلية لـ SCIM في الرسم البياني للمؤسسة الأصلي لـ GitHub:

  • githound_<entId>.json يحتوي على بيانات المؤسسة الأصلية لـ GitHub
  • githound_scim_<entId>.json يحتوي على عُقد SCIM الأصلية وحواف جسر SCIM
  • githound_saml_<entId>.json يحتوي على بيانات SAML وهوية خارجية
  • githound_hybrid_<entId>.json يحتوي على حواف عبر النماذج مثل SAML_Implements و SAML_HasAccount و GH_SyncedTo
  • githound_saml_<entId>.json يحتوي أيضًا على طوبولوجيا SAML الموحدة لموفر خدمة GitHub، بما في ذلك SAML_TrustsIssuer و SAML_HasAssertionConsumerService

يبقى نموذج موفر الهوية الأصلي لـ GitHub سليمًا في مخرجات GitHub/SAML الأصلية:

  • GH_ExternalIdentity
  • GH_HasExternalIdentity
  • GH_MapsToUser

طبقة SAML الموحدة في githound_hybrid_<entId>.json تضع الآن SAML_HasAccount مباشرة على GH_User، مع استخلاص match_values من خصائص GH_ExternalIdentity الموجهة لـ SAML مثل saml_identity_name_id و saml_identity_username.

تم وضع علامة collected = false على عُقد الغلاف GH_Organization التي يصدرها جمع المؤسسة عمدًا. إنها تمثل اكتشافًا هيكليًا من سياق المؤسسة ومن المقرر إثراؤها لاحقًا بواسطة جمع المنظمة العادي.

للتنسيق القائم على المؤسسة أولاً، سيقوم Invoke-GitHoundEnterprise بجمع البيانات المدعومة في نطاق المؤسسة، وتعداد تثبيتات المنظمة ذات الصلة، ثم تشغيل سير العمل الحالي Invoke-GitHound لكل منظمة في دليله الفرعي الخاص ضمن مسار نقطة التفتيش المختار.

مثال:

$session = New-GitHubJwtSession `
  -EnterpriseName "your-enterprise-slug" `
  -ClientId $clientId `
  -PrivateKeyPath $privateKeyPath `
  -InstallationId $enterpriseInstallationId `
  -PersonalAccessToken $pat

Invoke-GitHoundEnterprise -Session $session -CheckpointPath "./output/your-enterprise" -CollectAll

للاختبار الخاص بالمؤسسة فقط دون تعداد المنظمات ذات الصلة:

Invoke-GitHoundEnterprise -Session $session -CheckpointPath "./output/your-enterprise" -EnterpriseOnly

المخطط

Mermaid Schema

تنزيل الأداة