Skip to main content

使用 SharpHound 枚举

在本章的之前几篇,BloodHound 多次被提及到。Bloodhound (https://github.com/BloodHoundAD/BloodHound) 是一款利用图论揭示 Active Directory Azure 环境中隐藏的、非预期关系的工具。我们可以使用它快速轻松地枚举域对象并找到攻击路径。

配置 BloodHound

要设置 Bloodhound,我们需要配置多个组件:Neo4j 数据库Sharphound 数据搜集器Bloodhound。虽然可以在 Linux 上设置 Bloodhound,但我们将在 Windows 10 虚拟机上进行设置。

首先,安装 Java (https://www.java.com/en/download/),因为Neo4j 依赖于 Java。在 Java 的最近版本中,安装会自动为我们配置环境变量。然后,安装 Neo4j 社区服务器 (https://neo4j.com/download-center/\#community)。

解压下载的文件,并通过执行命令:neo4j.bat console 来启动 Neo4j。

建议从提升特权的命令行终端中运行,如果一切正常,我们会看到与下面的截图类似的内容:

image.png

然后访问 http://127,.0.0.1:7474 以连接 neo4j 数据库的面板。

image.png

 默认凭证是 neo4j:neo4j,第一次登陆后会要求修改密码。然后,我们可以从 https://github.com/BloodHoundAD/BloodHound/releases 下载最新的 BloodHound 了。

解压并运行 BloodHound,输入修改后的凭证并登陆

image.png

使用 SharpHound 搜集数据

目前,BloodHound 中是空的,因为我们没有上传任何数据,这就需要我们用 SharpHoun 搜集器来搜集域信息了。我们可以从 https://github.com/BloodHoundAD/SharpHound 处下载最新的。

image.png

对于装有旧版本 BloodHound 与 SharpHound 的同学来说,最好同步使用最新版本的,因为这两个工具版本要匹配,不然会有数据文件兼容性问题。下载的 SharpHound 也包含了 PowerShell 版的 SharpHound 了。

除了BloodHound之外,adPEAS (https://github.com/61106960/adPEAS) 也是很优秀的工具。adPEAS的用法很简单,导入脚本后执行命令 Invoke-adPEAS即可,当然我们也可以根据用法帮助来个性化地搜集想要的数据。随后脚本会展示出较长的输出。