Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ShareHound — 一个 Python 工具,可轻松将网络共享的访问权限映射到 BloodHound OpenGraphs 中 | Kitploit
工具/GitHubGitHub/p0dalirius/sharehound
侦察网络映射配置审计信息收集后渗透利用网络安全渗透测试红队
GitHubp0dalirius/sharehound

ShareHound

一个 Python 工具,可轻松将网络共享的访问权限映射到 BloodHound OpenGraphs 中

查看仓库
3102769天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

ShareHound:使用 BloodHound OpenGraph 映射网络共享权限

一个将网络共享的访问权限映射到 BloodHound OpenGraph 的工具。
获取 BloodHound Enterprise 获取 BloodHound Community

阅读相关博客文章:https://specterops.io/blog/2025/10/30/sharehound-an-opengraph-collector-for-network-shares/

两种实现

本仓库包含 ShareHound 的两种实现。它们的目标相同——根据 SMB 共享权限生成 BloodHound OpenGraph JSON——但在语言、运行时和功能集上有所不同。选择最适合你工作流程的一种。

实现路径作者适用场景
PythonPython/Remi Gascou (@podalirius_) @ SpecterOps参考实现;易于扩展和脚本化
GoGo/Javier Azofra @ Siemens Healthineers大规模扫描(60,000+ 主机)、检查点、静态二进制

每个子目录都有自己的 README,包含完整的安装、使用和配置说明:

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

功能(两种实现共有)

  • 将域的网络共享及其权限映射为 BloodHound OpenGraph 格式
  • 通过 ShareQL 语言 实现高度可定制的规则匹配
  • 多线程共享发现(广度优先搜索)
  • NTLM、Kerberos 和哈希传递(pass-the-hash)认证
  • 支持 CIDR 范围和目标文件

Go 实现中的附加功能

  • ZIP 压缩流式输出(可处理数百万条边)
  • 通过检查点文件支持可恢复扫描
  • --effective-access-only 模式,可在大型环境中大幅减小图的大小
  • 跨平台静态构建(Linux、Windows、macOS)

Cypher 查询快速入门

将 OpenGraph 导入 BloodHound 后,以下查询可满足最常见的需求。更多信息请参阅各实现的 README。

查找对共享具有完全控制权限的主体

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

查找对共享具有写入权限的主体

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

按名称查找文件(不区分大小写)

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

按扩展名查找文件(不区分大小写)

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

查找主体可以有效读取的文件(仅限 Go)

当同一 SID 在共享和 NTFS 级别都拥有匹配权限时——即通过 SMB 授予的真实访问权限——Go 实现会生成 CanEffectiveRead / CanEffectiveWrite / CanEffectiveExecute 边。

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

致谢

  • 原始项目: Remi Gascou (@podalirius_) @ SpecterOps — p0dalirius/ShareHound
  • Go 实现: Javier Azofra @ Siemens Healthineers
  • 相关博客文章: ShareHound:用于网络共享的 OpenGraph 收集器

贡献

欢迎为任一实现提交拉取请求(Pull Request)。如果你想先讨论新功能,请提交 issue。

下载工具