BishopFox/cirro

GitHub: BishopFox/cirro

Cirro 是一个基于图数据库的安全研究平台,用于收集、分析和可视化跨平台的身份与网络关系,解决攻击路径发现难题。

Stars: 29 | Forks: 1

logo

Cirro 是一个可扩展的安全研究平台,能够帮助研究人员和渗透测试人员通过图数据库收集、分析和可视化云环境及身份关系。采用模块化架构,Cirro 可扩展以支持多个平台和数据源。 您可以在[文档](https://bishopfox.github.io/cirro)中查看更多信息。 ## 功能特性 - **多平台数据收集**:可扩展的架构,支持多个云平台及身份提供者 - **灵活的身份验证**:根据目标平台支持多种身份验证方式 - **跨平台支持**:适用于 Windows、macOS 和 Linux - **模块化设计**:通过功能标志和可扩展插件架构实现可选平台功能 - **网络拓扑分析**:支持 Tailscale 等网络基础设施平台 ## 架构 Cirro 包含两个主要功能区域: - **收集(`cirro collect`)**:从各种平台和 API 收集信息 - **图操作(`cirro graph`)**:管理图数据库操作,包括数据摄取和导出 模块化架构使用功能标志来启用特定平台功能,允许用户仅构建所需的组件。 ## CLI 结构 Cirro 采用按功能与平台组织的层次化命令结构: ``` cirro [options] ``` ### 数据收集 **Azure(collect az)** ``` # 可用的身份验证方法 cirro collect az azcli # Azure CLI authentication cirro collect az client-secret # Client ID and secret cirro collect az client-cert # Client certificate cirro collect az access-token # Pre-obtained access token cirro collect az user-pass # Username and password ``` **Tailscale(collect ts)** ``` # Tailscale 数据收集 cirro collect ts [options] ``` ### 图操作 **数据摄取(graph ingest)** ``` # 将收集的数据导入图形数据库 cirro graph ingest --type --file [database options] ``` **数据导出(graph export)** ``` # 导出图形数据到多种格式 cirro graph export --format [options] ``` ## 安装 ### 预编译二进制文件 从[发布页面](https://github.com/bishopfox/cirro/releases)下载适用于您平台的最新版本。发布的版本已启用所有功能。 ### 从源码构建 ``` 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](/tools/)` 目录中包含用于容器化数据库的 docker-compose 文件。 收集数据后,将其摄取到图数据库中: ``` # 为特定平台摄入数据 cirro graph ingest --type az --file cirro_output.db # Azure data cirro graph ingest --type ts --file cirro_ts_socket.json # Tailscale data # 指定自定义数据库连接 cirro graph ingest --type az --file cirro_output.db \ --server bolt://localhost:7687 \ --user neo4j \ --password password ``` ## 仪表板 CirroDash 可在此处获取:[https://github.com/bishopfox/cirrodash](https://github.com/bishopfox/cirrodash) ## 调试模式 启用调试日志以获取详细信息: ``` # 收集调试模式 cirro collect az azcli --debug # 摄入调试模式 cirro graph ingest --type az --file cirro_output.db --debug ``` **注意**:Cirro 专为授权的安全测试和研究设计。在对任何云或网络环境运行之前,请确保您拥有适当的权限。
标签:Azure, CLI, JSON 请求, SEO标签, Tailscale, WiFi技术, 云环境分析, 可扩展架构, 可视化界面, 命令行界面, 多平台支持, 安全研究平台, 插件架构, 攻击路径, 数据平面, 日志审计, 模块化架构, 特征标志, 管理平面, 网络拓扑分析, 认证方法, 请求拦截, 身份关系图谱, 通知系统