Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ShareHound — Uma ferramenta Python para mapear facilmente os direitos de acesso de compartilhamentos de rede para os OpenGraphs do BloodHound | Kitploit
Ferramentas/GitHubGitHub/p0dalirius/sharehound
ReconhecimentoMapeamento de RedeAuditoria de ConfiguraçãoColeta de InformaçõesPós-ExploraçãoSegurança de RedeTestes de PenetraçãoRed Teaming
GitHubp0dalirius/sharehound

ShareHound

Uma ferramenta Python para mapear facilmente os direitos de acesso de compartilhamentos de rede para os OpenGraphs do BloodHound

Ver Repositório
3102721há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Site
Compartilhar

ShareHound: Mapeamento de direitos de compartilhamentos de rede usando BloodHound OpenGraph

Uma ferramenta para mapear os direitos de acesso de compartilhamentos de rede em OpenGraphs do BloodHound.
Obtenha BloodHound Enterprise Obtenha BloodHound Community

Leia o post do blog associado: https://specterops.io/blog/2025/10/30/sharehound-an-opengraph-collector-for-network-shares/

Duas implementações

Este repositório contém duas implementações do ShareHound. Elas compartilham o mesmo objetivo — produzir JSON de OpenGraph do BloodHound a partir de permissões de compartilhamento SMB — mas diferem em linguagem, runtime e conjunto de funcionalidades. Escolha a que melhor se adequa ao seu fluxo de trabalho.

ImplementaçãoCaminhoAutorMelhor para
PythonPython/Remi Gascou (@podalirius_) @ SpecterOpsA implementação de referência; fácil de estender e criar scripts
GoGo/Javier Azofra @ Siemens HealthineersVarreduras em grande escala (mais de 60.000 hosts), checkpointing, binários estáticos

Cada subdiretório tem seu próprio README com detalhes completos de instalação, uso e configuração:

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

Funcionalidades (comuns a ambos)

  • Mapear compartilhamentos de rede de um domínio e seus direitos no formato OpenGraph do BloodHound
  • Correspondência de regras altamente personalizável por meio da linguagem ShareQL
  • Descoberta de compartilhamentos com múltiplas threads (Breadth First Search)
  • Autenticação NTLM, Kerberos e pass-the-hash
  • Suporte a intervalos CIDR e arquivo de alvos

Funcionalidades adicionais na implementação em Go

  • Saída de streaming compactada em ZIP (lida com milhões de arestas)
  • Varreduras retomáveis por meio de arquivos de checkpoint
  • Modo --effective-access-only para reduzir drasticamente o tamanho do grafo em grandes ambientes
  • Builds estáticos multiplataforma (Linux, Windows, macOS)

Consultas Cypher de início rápido

Depois de importar o OpenGraph para o BloodHound, estas consultas cobrem as necessidades mais comuns. Para mais, consulte os READMEs de cada implementação.

Encontre entidades com acesso de Controle Total a um compartilhamento

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

Encontre entidades com acesso de gravação a um compartilhamento

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

Encontre arquivos por nome (sem diferenciar maiúsculas de minúsculas)

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

Encontre arquivos por extensão (sem diferenciar maiúsculas de minúsculas)

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

Encontre arquivos que uma entidade pode ler efetivamente (somente Go)

As arestas CanEffectiveRead / CanEffectiveWrite / CanEffectiveExecute são emitidas pela implementação em Go quando o mesmo SID tem direitos correspondentes tanto no nível do compartilhamento quanto no nível NTFS — ou seja, o acesso real concedido via SMB.

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

Créditos

  • Projeto original: Remi Gascou (@podalirius_) @ SpecterOps — p0dalirius/ShareHound
  • Implementação em Go: Javier Azofra @ Siemens Healthineers
  • Post do blog associado: ShareHound: um coletor de OpenGraph para compartilhamentos de rede

Contribuindo

Pull requests são bem-vindos para qualquer uma das implementações. Abra uma issue se quiser discutir primeiro uma nova funcionalidade.

Baixar ferramenta