
관리 평면과 데이터 평면을 가로지르는 공격 경로 생성

Cirro는 연구자와 침투 테스터가 그래프 데이터베이스를 통해 클라우드 환경과 ID 관계를 수집, 분석, 시각화할 수 있도록 설계된 확장 가능한 보안 연구 플랫폼입니다. 모듈식 아키텍처로 구축되어 여러 플랫폼과 데이터 소스를 지원하도록 확장할 수 있습니다.
자세한 내용은 문서를 확인하세요.
Cirro에는 두 가지 주요 기능 영역이 있습니다:
cirro collect): 다양한 플랫폼과 API에서 정보 수집cirro graph): 데이터 수집 및 내보내기를 포함한 그래프 데이터베이스 연산 관리모듈식 아키텍처는 기능 플래그를 사용하여 플랫폼별 기능을 활성화하므로 사용자는 필요한 구성 요소만 빌드할 수 있습니다.
Cirro는 기능 및 플랫폼별로 구성된 계층적 명령 구조를 사용합니다:
cirro <function> <platform> <command> [options]
Azure (collect az)
# Available authentication methods:
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 data collection
cirro collect ts <auth-method> [options]
데이터 수집 (graph ingest)
# Ingest collected data into graph database
cirro graph ingest --type <platform> --file <data-file> [database options]
데이터 내보내기 (graph export)
# Export graph data to various formats
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는 모든 기능을 포함합니다. 특정 기능만 빌드하려면:
# Build with only collection features
cargo build --release --no-default-features --features collector
# Build with only graph features
cargo build --release --no-default-features --features graph
# Build with specific platform support
cargo build --release --no-default-features --features "azure"
cargo build --release --no-default-features --features "tailscale"
Cirro는 Neo4j를 백엔드 데이터베이스로 사용합니다. tools 디렉토리에 컨테이너화된 데이터베이스를 지원하는 docker-compose 파일이 있습니다.
데이터를 수집한 후 그래프 데이터베이스에 수집합니다:
# Ingest data for specific platforms
cirro graph ingest --type az --file cirro_output.db # Azure data
cirro graph ingest --type ts --file cirro_ts_socket.json # Tailscale data
# Specify custom database connection
cirro graph ingest --type az --file cirro_output.db \
--server bolt://localhost:7687 \
--user neo4j \
--password password
그래프 데이터베이스에 데이터를 쓰지 않고 수집 및 후처리될 내용을 미리 확인합니다:
# Preview Azure ingestion and see which resource types have no implemented specs
cirro graph ingest --type az --file cirro_output.db --dry-run
# Preview Tailscale ingestion
cirro graph ingest --type ts --file cirro_ts_socket.json --dry-run
드라이런 모드에서 Cirro는 다음을 수행합니다:
CirroDash는 다음 위치에서 찾을 수 있습니다: https://github.com/bishopfox/cirrodash
자세한 정보를 위해 디버그 로깅을 활성화합니다:
# Collection debug mode
cirro collect az azcli --debug
# Ingestion debug mode
cirro graph ingest --type az --file cirro_output.db --debug
참고: Cirro는 승인된 보안 테스트 및 연구용으로 설계되었습니다. 클라우드 또는 네트워크 환경에서 실행하기 전에 적절한 권한이 있는지 확인하세요.