Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ShareHound — Una herramienta en Python para mapear fácilmente los derechos de acceso de los recursos compartidos de red hacia los OpenGraphs de BloodHound | Kitploit
Herramientas/GitHubGitHub/p0dalirius/sharehound
ReconocimientoMapeo de RedesAuditoría de ConfiguraciónRecopilación de InformaciónPost-ExplotaciónSeguridad de RedesPruebas de PenetraciónRed Teaming
GitHubp0dalirius/sharehound

ShareHound

Una herramienta en Python para mapear fácilmente los derechos de acceso de los recursos compartidos de red hacia los OpenGraphs de BloodHound

Ver Repositorio
31027hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

ShareHound: Mapeo de derechos de recursos compartidos de red mediante BloodHound OpenGraph

Una herramienta para mapear los derechos de acceso de los recursos compartidos de red en OpenGraphs de BloodHound.
Get BloodHound Enterprise Get BloodHound Community

Lee el artículo de blog asociado: https://specterops.io/blog/2025/10/30/sharehound-an-opengraph-collector-for-network-shares/

Dos implementaciones

Este repositorio contiene dos implementaciones de ShareHound. Ambas comparten el mismo objetivo — generar JSON de OpenGraph de BloodHound a partir de los permisos de recursos compartidos SMB — pero difieren en lenguaje, tiempo de ejecución y conjunto de funciones. Elige la que mejor se adapte a tu flujo de trabajo.

ImplementaciónRutaAutorIdeal para
PythonPython/Remi Gascou (@podalirius_) @ SpecterOpsLa implementación de referencia; fácil de ampliar y automatizar
GoGo/Javier Azofra @ Siemens HealthineersEscaneos a gran escala (60,000+ hosts), puntos de control, binarios estáticos

Cada subdirectorio tiene su propio README con todos los detalles de instalación, uso y configuración:

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

Características (comunes a ambos)

  • Mapea los recursos compartidos de red de un dominio y sus derechos en formato OpenGraph de BloodHound
  • Coincidencia de reglas altamente personalizable mediante el lenguaje ShareQL
  • Descubrimiento de recursos compartidos con múltiples hilos (búsqueda en anchura)
  • Autenticación NTLM, Kerberos y pass-the-hash
  • Soporte para rangos CIDR y archivos de objetivos

Características adicionales en la implementación Go

  • Salida en streaming comprimida en ZIP (maneja millones de aristas)
  • Escaneos reanudables mediante archivos de checkpoint
  • Modo --effective-access-only para reducir drásticamente el tamaño del grafo en entornos grandes
  • Compilaciones estáticas multiplataforma (Linux, Windows, macOS)

Consultas Cypher de inicio rápido

Una vez que hayas importado el OpenGraph en BloodHound, estas consultas cubren las necesidades más comunes. Para más, consulta los README de cada implementación.

Buscar principales con acceso de Control total a un recurso compartido

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

Buscar principales con acceso de Escritura a un recurso compartido

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

Buscar archivos por nombre (sin distinguir entre mayúsculas y minúsculas)

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

Buscar archivos por extensión (sin distinguir entre mayúsculas y minúsculas)

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

Buscar archivos que un principal puede leer de forma efectiva (solo Go)

Las aristas CanEffectiveRead / CanEffectiveWrite / CanEffectiveExecute son emitidas por la implementación Go cuando el mismo SID tiene derechos coincidentes tanto a nivel de recurso compartido como de NTFS, es decir, el acceso real otorgado a través de SMB.

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

Créditos

  • Proyecto original: Remi Gascou (@podalirius_) @ SpecterOps — p0dalirius/ShareHound
  • Implementación Go: Javier Azofra @ Siemens Healthineers
  • Artículo de blog asociado: ShareHound: An OpenGraph Collector for Network Shares

Contribuciones

Las pull requests son bienvenidas para cualquiera de las dos implementaciones. Abre un issue si quieres discutir primero una nueva funcionalidad.

Descargar herramienta