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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Stormspotter — Azure红队工具,用于对Azure和Azure Active Directory对象进行图形化展示 | Kitploit
工具/GitHubGitHub/azure/stormspotter
侦察信息收集渗透测试云安全红队
GitHubazure/stormspotter

Stormspotter

Azure红队工具,用于对Azure和Azure Active Directory对象进行图形化展示

查看仓库
1.7k21224年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享


Stormspotter 创建 Azure 订阅中资源的“攻击图”。它使红队和渗透测试人员能够可视化租户内的攻击面和横向移动机会,并助力防御方快速定位安全事件并确定响应工作的优先级。


安装

使用 Docker

大多数用户可能会发现通过 Docker 安装 Stormspotter 更容易。这是推荐的方法。

root@kitploit:~
git clone https://github.com/Azure/Stormspotter
docker-compose up

docker-compose 文件将创建三个容器:

  • Stormspotter 前端
  • Stormspotter 后端
  • Neo4j v4

默认情况下,Stormspotter 容器将在端口 9091 上暴露 UI。Neo4j 容器将在端口 7474(HTTP)和 7687(Bolt)上暴露 neo4j。Neo4j 的默认配置未启用 SSL,因此你最初可以直接在端口 7474 上与 neo4j 界面交互。

注意:目前,Stormspotter 仅支持在本地运行这些容器。尝试将数据上传到远程部署的前端将失败,但此行为预计会在未来改变。

Neo4j 的默认凭据为:neo4j/password。你可以通过 docker-compose 文件中的 NEO4JAUTH 环境变量更改此设置。

不使用 Docker

如果你选择不使用 Docker 运行 Stormspotter,则必须安装 Python 3.8、NodeJS/npm 和 Neo4j。你也可以从 此处 获取最新的 Stormspotter 发行版。

后端

负责将数据解析到 Neo4j 的后端使用 FastAPI 构建。如果你不打算为数据库上传新内容,则可能根本不需要运行后端。后端配置为在端口 9090 上运行。你可以通过更改 app.py 第 5 行的端口号来修改此设置。如果这样做,还必须更改 DatabaseView 组件 中 Q-Uploader 组件的端口,以便前端的上传能够发送到后端的正确端口。

root@kitploit:~
cd backend
python3 ssbackend.pyz

Web 应用

Web 应用使用 Vue 和 Quasar 框架 开发。单页应用(SPA)已为你构建完成,位于 frontend/dist/spa 目录中。要提供此目录:

root@kitploit:~
npm install -g @quasar/cli
cd frontend/dist/spa
quasar serve -p 9091 --history

然后,你可以在浏览器中访问 http://localhost:9091。

运行 Stormspotter

Stormcollector

Stormcollector 是 Stormspotter 的一部分,允许你枚举提供的凭据有权访问的订阅。使用 Stormcollector 的 推荐 方式是运行 sscollector.pyz 包,该包位于 操作系统的发行版文件中。此 PYZ 已使用 Shiv 创建,并已打包所有依赖项!依赖项会解压到用户主目录的 .shiv 文件夹中。

root@kitploit:~
cd stormcollector
python3 sscollector.pyz -h

如果由于某种原因你不想使用提供的包,你可以使用 pip 或 pipenv 安装所需的包。使用此方法时,强烈建议 在虚拟环境中安装 Stormcollector,以防止包冲突。如果你在管理虚拟环境时遇到问题,则应使用上述推荐方法。

root@kitploit:~
cd stormcollector
python3 -m pip install pipenv
pipenv install .
python3 ./sscollector.py

当前支持的登录类型:

  • Azure CLI(必须先执行 az login)
  • 服务主体客户端 ID/密钥

你可以通过使用如上所示的 -h 开关查看 Stormcollector 提供的所有选项。Stormcollector 最基本的用法是:

root@kitploit:~
python3 sscollector.pyz cli
python3 sscollector.pyz spn -t <tenant> -c <clientID> -s <clientSecret>

所有认证类型的通用选项

  • --cloud:指定不同的 Azure 云(GERMAN、CHINA、USGOV)
  • --config:为云环境指定自定义配置
  • --azure:仅枚举 Azure 资源管理器资源
  • --aad:仅枚举 Azure Active Directory
  • --subs:要扫描的订阅。多个订阅可以以空格分隔列表的形式添加。
  • --nosubs:要排除的订阅。多个订阅可以以空格分隔列表的形式排除。
  • --json:将 SQLite 输出转换为 JSON(警告:STORMSPOTTER 仅解析 SQLITE 格式)
    • 如果你希望出于 Stormspotter 之外的原因解析输出,此选项很有用。
  • --ssl-cert:为 Stormcollector 指定用于请求的 SSL 证书。不常用。
  • --backfill:仅对与 RBAC 枚举关联的对象 ID 执行 AAD 枚举。仅在指定 --azure 时适用。

上传结果

启动 UI 后,你将在数据库选项卡中看到标记为“Stormcollector Upload”的区域。将你的文件添加到此上传器,处理将开始。在处理结果时,你可以检查后端日志以查看进度,并且结果也应反映在同一个“Database View”选项卡中。

注意事项

  • 由于 Stormspotter 目前处于 beta 阶段,并非所有资源类型都已实现显示。你可能会看到缺少图标的标签,或者仅显示“名称”和“ID”字段。随着时间的推移,更多资源将得到适当实现。

已知问题

  • 在提交问题之前,请检查 已知问题。

截图

  • 查看 KeyVault 上的权限 Screenshot1

  • 显示 Azure AD 角色的成员 Screenshot2

  • 显示传入和传出关系 Screenshot3

贡献

本项目欢迎贡献和建议。大多数贡献需要你同意 贡献者许可协议(CLA),声明你有权且确实授予我们 使用你贡献的权利。详情请访问 https://cla.opensource.microsoft.com。

当你提交拉取请求时,CLA 机器人会自动确定你是否需要提供 CLA,并适当地装饰 PR(例如,状态检查、评论)。只需按照机器人提供的说明 操作即可。你只需要在使用我们 CLA 的所有存储库中执行一次此操作。

本项目已采用 Microsoft 开放源代码行为准则。 有关更多信息,请参阅 行为准则常见问题解答 或 联系 [email protected] 提出其他问题或意见。

下载工具