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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ShareHound — Uno strumento python per mappare facilmente i diritti di accesso delle condivisioni di rete in OpenGraphs di BloodHound. | Kitploit
Strumenti/GitHubGitHub/p0dalirius/sharehound
RicognizioneMappatura della ReteAudit di ConfigurazioneRaccolta InformazioniPost-ExploitSicurezza di RetePenetration TestingRed Teaming
GitHubp0dalirius/sharehound

ShareHound

Uno strumento python per mappare facilmente i diritti di accesso delle condivisioni di rete in OpenGraphs di BloodHound.

Vedi Repository
310272129 giorni 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 →
Sito web
Condividi

ShareHound: mappatura dei diritti delle condivisioni di rete con BloodHound OpenGraph

Uno strumento per mappare i diritti di accesso delle condivisioni di rete in OpenGraph di BloodHound.
Get BloodHound Enterprise Get BloodHound Community

Leggi il post del blog associato: https://specterops.io/blog/2025/10/30/sharehound-an-opengraph-collector-for-network-shares/

Due implementazioni

Questo repository contiene due implementazioni di ShareHound. Condividono lo stesso obiettivo — produrre JSON OpenGraph BloodHound dai permessi delle condivisioni SMB — ma differiscono per linguaggio, runtime e funzionalità. Scegli quella che si adatta al tuo flusso di lavoro.

ImplementazionePercorsoAutoreIdeale per
PythonPython/Remi Gascou (@podalirius_) @ SpecterOpsL'implementazione di riferimento; facile da estendere e scriptare
GoGo/Javier Azofra @ Siemens HealthineersScansioni su larga scala (oltre 60.000 host), checkpointing, binari statici

Ogni sottodirectory ha il proprio README con dettagli completi su installazione, utilizzo e configurazione:

  • Python/README.md
  • Go/README.md

Funzionalità (comuni a entrambi)

  • Mappa le condivisioni di rete di un dominio e i loro diritti in formato BloodHound OpenGraph
  • Corrispondenza delle regole altamente personalizzabile tramite il linguaggio ShareQL
  • Scoperta multithread delle condivisioni (Breadth First Search)
  • Autenticazione NTLM, Kerberos e pass-the-hash
  • Supporto per intervalli CIDR e file di destinazione

Funzionalità aggiuntive nell'implementazione Go

  • Output in streaming compresso ZIP (gestisce milioni di archi)
  • Scansioni riprendibili tramite file di checkpoint
  • Modalità --effective-access-only per ridurre drasticamente le dimensioni del grafo in ambienti di grandi dimensioni
  • Build statiche multipiattaforma (Linux, Windows, macOS)

Query Cypher di avvio rapido

Dopo aver importato l'OpenGraph in BloodHound, queste query coprono le esigenze più comuni. Per ulteriori informazioni, consulta i README delle singole implementazioni.

Trova i principal con accesso Full Control a una condivisione

MATCH (p)-[r]->(s:NetworkShareSMB)
WHERE (p)-[:CanDelete]->(s)
  AND (p)-[:CanDsControlAccess]->(s)
  AND (p)-[:CanDsCreateChild]->(s)
  AND (p)-[:CanDsDeleteChild]->(s)
  AND (p)-[:CanDsDeleteTree]->(s)
  AND (p)-[:CanDsListContents]->(s)
  AND (p)-[:CanDsListObject]->(s)
  AND (p)-[:CanDsReadProperty]->(s)
  AND (p)-[:CanDsWriteExtendedProperties]->(s)
  AND (p)-[:CanDsWriteProperty]->(s)
  AND (p)-[:CanReadControl]->(s)
  AND (p)-[:CanWriteDacl]->(s)
  AND (p)-[:CanWriteOwner]->(s)
RETURN p,r,s

Trova i principal con accesso Write a una condivisione

MATCH x=(p)-[r:CanWriteDacl|CanWriteOwner|CanDsWriteProperty|CanDsWriteExtendedProperties]->(s:NetworkShareSMB)
RETURN x

Trova file per nome (senza distinzione tra maiuscole e minuscole)

MATCH p=(h:NetworkShareHost)-[:HasNetworkShare]->(s:NetworkShareSMB)-[:Contains*0..]->(f:File)
WHERE toLower(f.name) = toLower("flag.txt")
RETURN p

Trova file per estensione (senza distinzione tra maiuscole e minuscole)

MATCH p=(h:NetworkShareHost)-[:HasNetworkShare]->(s:NetworkShareSMB)-[:Contains*0..]->(f:File)
WHERE toLower(f.extension) = toLower(".vmdk")
RETURN p

Trova i file che un principal può effettivamente leggere (solo Go)

Le relazioni CanEffectiveRead / CanEffectiveWrite / CanEffectiveExecute vengono generate dall'implementazione Go quando lo stesso SID ha diritti corrispondenti sia a livello di condivisione che NTFS — ovvero l'accesso reale concesso su SMB.

MATCH p=(principal)-[:CanEffectiveRead]->(f:File)
RETURN p

Crediti

  • Progetto originale: Remi Gascou (@podalirius_) @ SpecterOps — p0dalirius/ShareHound
  • Implementazione Go: Javier Azofra @ Siemens Healthineers
  • Post del blog associato: ShareHound: An OpenGraph Collector for Network Shares

Contributi

Le pull request sono benvenute per entrambe le implementazioni. Apri una issue se vuoi discutere prima una nuova funzionalità.

Scarica lo strumento