
Cirro 是一个可扩展的安全研究平台,使研究员和渗透测试人员能够通过图数据库收集、分析和可视化云环境及身份关系。凭借模块化架构,Cirro 可扩展以支持多个平台和数据源。
您可以查看文档了解更多信息。
Cirro 有两个主要功能区域:
cirro collect):从各种平台和 API 收集信息cirro graph):管理图数据库操作,包括数据导入和导出模块化架构使用功能标志来启用特定平台的功能,允许用户仅构建所需的组件。
Cirro 使用按功能和平台分层的命令结构:
cirro <function> <platform> <command> [options]
Azure (collect az)
# 可用的身份验证方法:
cirro collect az azcli # Azure CLI 身份验证
cirro collect az client-secret # 客户端 ID 和密钥
cirro collect az client-cert # 客户端证书
cirro collect az access-token # 预先获取的访问令牌
cirro collect az user-pass # 用户名和密码
Tailscale (collect ts)
# Tailscale 数据收集
cirro collect ts <auth-method> [options]
数据导入 (graph ingest)
# 将收集的数据导入图数据库
cirro graph ingest --type <platform> --file <data-file> [database options]
数据导出 (graph export)
# 将图数据导出为多种格式
cirro graph export --format <format> [options]
从发布页面下载适用于您平台的最新版本。发布版本包含所有功能。
git clone https://github.com/bishopfox/cirro.git
cd cirro
cargo build --release
注意:使用 --release 构建对于图功能至关重要,因为它会将 YAML 配置文件嵌入到二进制文件中!
二进制文件将位于 target/release/cirro。
默认情况下,Cirro 包含所有可用功能。要使用特定功能构建:
# 仅包含收集功能
cargo build --release --no-default-features --features collector
# 仅包含图功能
cargo build --release --no-default-features --features graph
# 支持特定平台
cargo build --release --no-default-features --features "azure"
cargo build --release --no-default-features --features "tailscale"
Cirro 使用 Neo4j 作为后端数据库。tools 目录中提供了 docker-compose 文件,以帮助实现容器化数据库。
收集数据后,将其导入图数据库:
# 导入特定平台的数据
cirro graph ingest --type az --file cirro_output.db # Azure 数据
cirro graph ingest --type ts --file cirro_ts_socket.json # Tailscale 数据
# 指定自定义数据库连接
cirro graph ingest --type az --file cirro_output.db \
--server bolt://localhost:7687 \
--user neo4j \
--password password
预览将要导入和后处理的内容,而不向图数据库写入任何数据:
# 预览 Azure 导入,并查看哪些资源类型没有已实现的规范
cirro graph ingest --type az --file cirro_output.db --dry-run
# 预览 Tailscale 导入
cirro graph ingest --type ts --file cirro_ts_socket.json --dry-run
在试运行模式下,Cirro 将:
CirroDash 可在此处找到:https://github.com/bishopfox/cirrodash
启用调试日志以获取详细信息:
# 收集调试模式
cirro collect az azcli --debug
# 导入调试模式
cirro graph ingest --type az --file cirro_output.db --debug
注意:Cirro 专为授权安全测试和研究而设计。在针对任何云或网络环境运行之前,请确保您拥有适当的权限。