Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
GitHound — BloodHound OpenGraph collector per GitHub che mappa la struttura organizzativa, le autorizzazioni e i percorsi di attacco cross-cloud in un grafo navigabile per audit di sicurezza e risposta agli incidenti. | Kitploit
Strumenti/GitHubGitHub/specterops/githound
RicognizioneAnalisi delle VulnerabilitàRaccolta InformazioniPenetration TestingSicurezza CloudGestione Identità e Accessi (IAM)Sicurezza della Supply Chain
GitHubspecterops/githound

GitHound

BloodHound OpenGraph collector per GitHub che mappa la struttura organizzativa, le autorizzazioni e i percorsi di attacco cross-cloud in un grafo navigabile per audit di sicurezza e risposta agli incidenti.

Vedi Repository
14318742 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

GitHound

GitHound

Panoramica

GitHound è un collector OpenGraph di BloodHound per GitHub, progettato per mappare la struttura e le autorizzazioni della tua organizzazione in un grafico di percorsi di attacco navigabile. Esso:

  • Modella le Entità Chiave di GitHub

    • GH_Organization: I metadati della tua org GitHub
    • GH_User: Gli account utente individuali nell'org
    • GH_Team: I team che raggruppano gli utenti per l'accesso condiviso
    • GH_Repository: I repository all'interno dell'org
    • GH_Branch: I branch nominati in ogni repo
    • GH_OrgRole, GH_TeamRole, GH_RepoRole: Ruoli/autorizzazioni a livello di org, team e repo
  • Visualizza e Analizza in BloodHound

    • Audit degli Accessi: Scopri a colpo d'occhio chi ha accesso admin/scrittura/lettura su repo e branch
    • Controlli di Conformità: Valida il principio del minimo privilegio tra team e repo
    • Risposta agli Incidenti: Traccia le escalation di privilegi e le appartenenze ai gruppi

Con GitHound ottieni un grafico chiaro e interattivo del panorama delle autorizzazioni GitHub—perfetto per revisioni di sicurezza, audit di conformità e rapide indagini sugli incidenti.

Documentazione

Per la documentazione dettagliata, consulta BloodHound Docs - GitHound.

Avvio Rapido

# 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

Se la raccolta viene interrotta, riprendi da dove eri rimasto:

Invoke-GitHound -Session $session -Resume

Sessioni GitHub App

GitHound supporta sia le sessioni con Personal Access Token sia le sessioni di installazione GitHub App. Il flusso di lavoro esistente per GitHub App con ambito organizzazione è invariato:

. ./githound.ps1

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

Invoke-GitHound -Session $session -CollectAll

La stessa funzione può anche creare sessioni abilitate per l'enterprise:

. ./githound.ps1

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

Le sessioni abilitate per l'enterprise mantengono più contesti di autenticazione sulla GitHound.Session restituita:

  • Headers: gli header del token di installazione della GitHub App usati per la raccolta normale
  • JwtHeaders: gli header JWT della GitHub App usati per gli endpoint a livello di app, come l'enumerazione delle installazioni
  • PatHeaders: header opzionali del Personal Access Token per i percorsi di raccolta che richiedono l'autenticazione con token utente

Per enumerare le installazioni che appartengono alla GitHub App autenticata:

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

Analisi dei Workflow

Il parsing dei workflow è ora integrato in Invoke-GitHound quando usi -CollectAll. Il collector:

  • raccoglie i nodi GH_Workflow grezzi e i contenuti dei workflow
  • analizza i workflow in GH_WorkflowJob e GH_WorkflowStep
  • calcola GH_CanPwnRequest e GH_CanDispatchTo
  • unisce i risultati nell'output consolidato normale githound_<orgId>.json

Per scopi di ripresa/debug, il checkpoint intermedio dell'analisi dei workflow viene scritto come githound_WorkflowAnalysis_<orgId>.json.

Base di Raccolta Enterprise

GitHound ora include una base minima di raccolta enterprise tramite Git-HoundEnterprise. Questo collector attualmente crea:

  • GH_Enterprise
  • nodi stub leggeri GH_Organization per le organizzazioni membro
  • archi GH_Contains dall'enterprise alle sue organizzazioni

La raccolta degli utenti enterprise tramite Git-HoundEnterpriseUser aggiunge:

  • GH_User
  • archi GH_HasMember dall'enterprise a quegli utenti

La raccolta SAML enterprise tramite Git-HoundEnterpriseSamlProvider aggiunge:

  • GH_SamlIdentityProvider
  • GH_ExternalIdentity
  • GH_HasSamlIdentityProvider dall'enterprise al provider
  • gli stessi archi di correlazione delle identità usati dal collector SAML dell'organizzazione

Questo percorso richiede una sessione basata su PAT perché GitHub espone il SAML enterprise tramite enterprise.ownerInfo.

La raccolta dei team enterprise tramite Git-HoundEnterpriseTeam aggiunge:

  • GH_EnterpriseTeam
  • archi GH_AssignedTo dai team enterprise alle organizzazioni assegnate
  • archi GH_MemberOf dai team enterprise ai nodi GH_Team ent: visibili all'org usando il matching delle proprietà
  • ruoli members dei team enterprise e archi GH_HasRole dagli utenti a questi ruoli

La raccolta dei ruoli enterprise tramite Git-HoundEnterpriseRole aggiunge:

  • GH_EnterpriseRole
  • archi GH_Contains dall'enterprise a questi ruoli
  • archi GH_HasRole dagli utenti assegnati direttamente e dai team enterprise
  • un ruolo owners predefinito popolato da enterprise.ownerInfo.admins quando i dati admin enterprise basati su PAT sono disponibili

Per ora, le stringhe grezze delle autorizzazioni enterprise sono conservate sul nodo GH_EnterpriseRole nella sua proprietà permissions invece di essere espanse in archi di autorizzazione dedicati.

La raccolta SCIM enterprise attualmente aggiunge:

  • SCIM_User
  • SCIM_Group
  • SCIM_Provisioned da SCIM_User a GH_ExternalIdentity
  • SCIM_Provisioned da SCIM_Group a GH_EnterpriseTeam quando GitHub espone il group_id del team enterprise
  • SCIM_MemberOf da SCIM_User a SCIM_Group

Questo offre a GitHound un ponte indipendente dal provider dallo schema SCIM condiviso al modello nativo di identità e team enterprise di GitHub.

Quando un GH_SamlIdentityProvider raccolto identifica l'IdP a monte, GitHound può anche aggiungere archi di correlazione SCIM consapevoli del provider nell'output sidecar SCIM:

  • Okta_User -> SCIM_User
    • abbinati tramite Okta_User.id = SCIM_User.externalId
  • Okta_Group -> SCIM_Group
    • abbinati tramite Okta_Group.name = SCIM_Group.externalId
    • e Okta_Group.oktaDomain = GH_SamlIdentityProvider.foreign_environmentid

GitHound mantiene il layer SCIM nel proprio output sidecar, così queste mappature restano visibili senza mescolare i nodi nativi SCIM nel grafico enterprise principale nativo di GitHub:

  • githound_<entId>.json contiene i dati enterprise nativi di GitHub
  • githound_scim_<entId>.json contiene i nodi nativi SCIM e gli archi ponte SCIM
  • githound_saml_<entId>.json contiene i dati SAML e delle identità esterne
  • githound_hybrid_<entId>.json contiene gli archi tra modelli come SAML_Implements, SAML_HasAccount e GH_SyncedTo
  • githound_saml_<entId>.json contiene anche la topologia SAML normalizzata per il service provider GitHub, inclusi SAML_TrustsIssuer e SAML_HasAssertionConsumerService

Il modello nativo del provider di identità GitHub rimane intatto negli output nativi GitHub/SAML:

  • GH_ExternalIdentity
  • GH_HasExternalIdentity
  • GH_MapsToUser

Il layer SAML normalizzato in githound_hybrid_<entId>.json ora colloca SAML_HasAccount direttamente su GH_User, derivando match_values dalle proprietà SAML della GH_ExternalIdentity collegata, come saml_identity_name_id e saml_identity_username.

Scarica lo strumento