Skip to content
KitploitKITPLOIT
OutilsBlog
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
ShareHound — Un outil Python permettant de cartographier facilement les droits d’accès des partages réseau dans les OpenGraphs BloodHound | Kitploit
Outils/GitHubGitHub/p0dalirius/sharehound
ReconnaissanceCartographie RéseauAudit de ConfigurationCollecte d'InformationsPost-ExploitationSécurité RéseauTests d'IntrusionRed Teaming
GitHubp0dalirius/sharehound

ShareHound

Un outil Python permettant de cartographier facilement les droits d’accès des partages réseau dans les OpenGraphs BloodHound

Voir le dépôt
31027il y a 3 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 →
Site web
Partager

ShareHound : cartographier les droits des partages réseau avec BloodHound OpenGraph

Un outil pour cartographier les droits d'accès des partages réseau dans des OpenGraphs BloodHound.
Get BloodHound Enterprise Get BloodHound Community

Lisez l'article de blog associé : https://specterops.io/blog/2025/10/30/sharehound-an-opengraph-collector-for-network-shares/

Deux implémentations

Ce dépôt contient deux implémentations de ShareHound. Elles partagent le même objectif — produire du JSON OpenGraph BloodHound à partir des permissions SMB des partages — mais diffèrent par le langage, l'exécution et l'ensemble des fonctionnalités. Choisissez celle qui correspond à votre flux de travail.

ImplémentationCheminAuteurIdéal pour
PythonPython/Remi Gascou (@podalirius_) @ SpecterOpsL'implémentation de référence ; facile à étendre et à script
GoGo/Javier Azofra @ Siemens HealthineersAnalyses à grande échelle (60 000+ hôtes), points de contrôle, binaires statiques

Chaque sous-répertoire possède son propre README avec l'installation complète, l'utilisation et la configuration :

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

Fonctionnalités (communes aux deux)

  • Cartographier les partages réseau d'un domaine et leurs droits au format OpenGraph BloodHound
  • Correspondance de règles hautement personnalisable via le langage ShareQL
  • Découverte multithread des partages (recherche en largeur)
  • Authentification NTLM, Kerberos et pass-the-hash
  • Prise en charge des plages CIDR et des fichiers de cibles

Fonctionnalités supplémentaires de l'implémentation Go

  • Sortie en continu compressée en ZIP (gère des millions d'arêtes)
  • Analyses reprenables via des fichiers de points de contrôle
  • Mode --effective-access-only pour réduire drastiquement la taille du graphe sur les grands environnements
  • Builds statiques multiplateformes (Linux, Windows, macOS)

Requêtes Cypher de démarrage rapide

Une fois l'OpenGraph importé dans BloodHound, ces requêtes couvrent les besoins les plus courants. Pour plus de détails, consultez les README de chaque implémentation.

Rechercher les principaux ayant un accès Full Control à un partage

root@kitploit:~
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

Rechercher les principaux ayant un accès Write à un partage

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

Rechercher des fichiers par nom (insensible à la casse)

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

Rechercher des fichiers par extension (insensible à la casse)

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

Rechercher les fichiers qu'un principal peut effectivement lire (Go uniquement)

Les arêtes CanEffectiveRead / CanEffectiveWrite / CanEffectiveExecute sont émises par l'implémentation Go lorsque le même SID possède des droits correspondants à la fois sur le partage et au niveau NTFS — c'est-à-dire l'accès réel accordé via SMB.

root@kitploit:~
MATCH p=(principal)-[:CanEffectiveRead]->(f:File)
RETURN p

Crédits

  • Projet original : Remi Gascou (@podalirius_) @ SpecterOps — p0dalirius/ShareHound
  • Implémentation Go : Javier Azofra @ Siemens Healthineers
  • Article de blog associé : ShareHound: An OpenGraph Collector for Network Shares

Contribuer

Les pull requests sont les bienvenues pour l'une ou l'autre implémentation. Ouvrez une issue si vous souhaitez discuter d'une nouvelle fonctionnalité au préalable.

Télécharger l’outil