Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
GitHound — BloodHound OpenGraph collector pour GitHub qui cartographie la structure organisationnelle, les permissions et les chemins d'attaque inter-cloud dans un graphe navigable pour les audits de sécurité et la réponse aux incidents. | Kitploit
Outils/GitHubGitHub/specterops/githound
ReconnaissanceAnalyse des VulnérabilitésCollecte d'InformationsTests d'IntrusionSécurité CloudGestion des Identités et des Accès (IAM)Sécurité de la Chaîne Logistique
GitHubspecterops/githound

GitHound

BloodHound OpenGraph collector pour GitHub qui cartographie la structure organisationnelle, les permissions et les chemins d'attaque inter-cloud dans un graphe navigable pour les audits de sécurité et la réponse aux incidents.

Voir le dépôt
1431860il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

GitHound

GitHound

Aperçu

GitHound est un collecteur OpenGraph pour GitHub, conçu pour cartographier la structure et les permissions de votre organisation sous forme de graphe de chemins d'attaque navigable. Il permet de :

  • Modéliser les entités GitHub clés

    • GH_Organization : les métadonnées de votre organisation GitHub
    • GH_User : les comptes utilisateurs individuels de l'organisation
    • GH_Team : les équipes qui regroupent les utilisateurs pour un accès partagé
    • GH_Repository : les dépôts de l'organisation
    • GH_Branch : les branches nommées de chaque dépôt
    • GH_OrgRole, GH_TeamRole, GH_RepoRole : les rôles/permissions au niveau organisation, équipe et dépôt
  • Visualiser et analyser dans BloodHound

    • Audits d'accès : voir d'un coup d'œil qui dispose des droits admin/écriture/lecture sur les dépôts et les branches
    • Contrôles de conformité : valider le moindre privilège entre équipes et dépôts
    • Réponse aux incidents : tracer les escalades de privilèges et les appartenances aux groupes

Avec GitHound, vous obtenez un graphe clair et interactif de votre paysage de permissions GitHub, idéal pour les revues de sécurité, les audits de conformité et les investigations rapides d'incidents.

Documentation

Pour une documentation détaillée, consultez BloodHound Docs - GitHound.

Démarrage rapide

# 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

Si la collecte est interrompue, reprenez là où vous vous étiez arrêté :

Invoke-GitHound -Session $session -Resume

Sessions GitHub App

GitHound prend en charge à la fois les sessions à jeton d'accès personnel et les sessions d'installation d'application GitHub. Le flux de travail existant de l'application GitHub à portée d'organisation est inchangé :

. ./githound.ps1

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

Invoke-GitHound -Session $session -CollectAll

La même fonction peut également créer des sessions compatibles entreprise :

. ./githound.ps1

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

Les sessions compatibles entreprise conservent plusieurs contextes d'authentification sur le GitHound.Session retourné :

  • Headers : les en-têtes de jeton d'installation de l'application GitHub utilisés pour la collecte normale
  • JwtHeaders : les en-têtes JWT de l'application GitHub utilisés pour les points de terminaison au niveau de l'application, comme l'énumération des installations
  • PatHeaders : en-têtes optionnels de jeton d'accès personnel pour les chemins de collecte nécessitant une authentification par jeton utilisateur

Pour énumérer les installations appartenant à l'application GitHub authentifiée :

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

Analyse des workflows

L'analyse des workflows est désormais intégrée à Invoke-GitHound lorsque vous utilisez -CollectAll. Le collecteur va :

  • collecter les nœuds bruts GH_Workflow et les contenus des workflows
  • analyser ces workflows en GH_WorkflowJob et GH_WorkflowStep
  • calculer GH_CanPwnRequest et GH_CanDispatchTo
  • fusionner les résultats dans la sortie consolidée normale githound_<orgId>.json

Pour les besoins de reprise/débogage, le point de contrôle intermédiaire de l'analyse des workflows est écrit sous la forme githound_WorkflowAnalysis_<orgId>.json.

Fondation de collecte entreprise

GitHound inclut désormais une base minimale de collecte entreprise via Git-HoundEnterprise. Ce collecteur crée actuellement :

  • GH_Enterprise
  • des nœuds factices légers GH_Organization pour les organisations membres
  • des arêtes GH_Contains de l'entreprise vers ses organisations

La collecte des utilisateurs d'entreprise via Git-HoundEnterpriseUser ajoute :

  • GH_User
  • des arêtes GH_HasMember de l'entreprise vers ces utilisateurs

La collecte SAML d'entreprise via Git-HoundEnterpriseSamlProvider ajoute :

  • GH_SamlIdentityProvider
  • GH_ExternalIdentity
  • GH_HasSamlIdentityProvider de l'entreprise vers le fournisseur
  • les mêmes arêtes de corrélation d'identité que celles utilisées par le collecteur SAML d'organisation

Ce chemin nécessite une session adossée à un PAT car GitHub expose le SAML d'entreprise via enterprise.ownerInfo.

La collecte des équipes d'entreprise via Git-HoundEnterpriseTeam ajoute :

  • GH_EnterpriseTeam
  • des arêtes GH_AssignedTo des équipes d'entreprise vers les organisations assignées
  • des arêtes GH_MemberOf des équipes d'entreprise vers les nœuds GH_Team visibles par l'organisation, de type ent:, via la correspondance de propriétés
  • les rôles members des équipes d'entreprise et les arêtes GH_HasRole des utilisateurs vers ces rôles

La collecte des rôles d'entreprise via Git-HoundEnterpriseRole ajoute :

  • GH_EnterpriseRole
  • des arêtes GH_Contains de l'entreprise vers ces rôles
  • des arêtes GH_HasRole depuis les utilisateurs et équipes d'entreprise directement assignés
  • un rôle owners par défaut, alimenté à partir de enterprise.ownerInfo.admins lorsque les données d'administration d'entreprise adossées à un PAT sont disponibles

Pour l'instant, les chaînes brutes de permissions d'entreprise sont conservées sur le nœud GH_EnterpriseRole dans sa propriété permissions, plutôt que d'être développées en arêtes de permissions dédiées.

La collecte SCIM d'entreprise ajoute actuellement :

  • SCIM_User
  • SCIM_Group
  • SCIM_Provisioned de SCIM_User vers GH_ExternalIdentity
  • SCIM_Provisioned de SCIM_Group vers GH_EnterpriseTeam lorsque GitHub expose le group_id de l'équipe d'entreprise
  • SCIM_MemberOf de SCIM_User vers SCIM_Group

Cela donne à GitHound un pont agnostique au fournisseur entre le schéma SCIM partagé et le modèle natif d'identité et d'équipe de GitHub.

Lorsqu'un GH_SamlIdentityProvider collecté identifie le fournisseur d'identité en amont, GitHound peut également ajouter des arêtes de corrélation SCIM tenant compte du fournisseur dans la sortie sidecar SCIM :

  • Okta_User -> SCIM_User
    • correspondance par Okta_User.id = SCIM_User.externalId
  • Okta_Group -> SCIM_Group
    • correspondance par Okta_Group.name = SCIM_Group.externalId
    • et Okta_Group.oktaDomain = GH_SamlIdentityProvider.foreign_environmentid

GitHound conserve la couche SCIM dans sa propre sortie sidecar afin que ces correspondances restent visibles sans mélanger les nœuds natifs SCIM dans le graphe principal natif GitHub de l'entreprise :

  • githound_<entId>.json contient les données natives GitHub de l'entreprise
  • githound_scim_<entId>.json contient les nœuds natifs SCIM et les arêtes de pont SCIM
  • githound_saml_<entId>.json contient les données SAML et d'identité externe
  • githound_hybrid_<entId>.json contient les arêtes inter-modèles telles que SAML_Implements, SAML_HasAccount et GH_SyncedTo
  • githound_saml_<entId>.json contient également la topologie SAML normalisée pour le fournisseur de services GitHub, y compris SAML_TrustsIssuer et SAML_HasAssertionConsumerService
Télécharger l’outil