
Automatizando a consciência situacional para testes de penetração em nuvem.
O CloudFox ajuda você a obter consciência situacional em ambientes de nuvem desconhecidos. É uma ferramenta de linha de comando de código aberto criada para ajudar testadores de penetração e outros profissionais de segurança ofensiva a encontrar caminhos de ataque exploráveis na infraestrutura de nuvem.
ATUALIZAÇÃO DO CLOUDFOX NECESSÁRIA: (12/2025): Se você está usando
cloudfox, precisa usar a versão v1.17.0 ou superior. Todas as versões anteriores pararam de funcionar após uma mudança de formato no arquivo de mapeamento de serviços públicos da AWS.
Visão Geral
Junte-se a nós no servidor Discord do RedSec
O CloudFox é modular (você pode executar um comando por vez), mas existe um comando aws all-checks que executará os outros comandos aws para você com padrões sensatos:
cloudfox aws --profile [profile-name] all-checks

O CloudFox foi projetado para ser executado por um principal com permissões limitadas de somente leitura, mas seu propósito é ajudar você a encontrar caminhos de ataque que podem ser explorados em cenários de comprometimento simulados (também conhecido como teste de penetração baseado em objetivos).
O CloudFox pode ser usado com credenciais "encontradas", semelhante a como você usaria weirdAAL ou enumerate-iam. As verificações que falham, falham silenciosamente, portanto, qualquer dado retornado significa que suas credenciais "encontradas" têm o acesso necessário para recuperá-lo.
Para a documentação completa, consulte nosso wiki.
| Provedor | Comandos CloudFox |
|---|---|
| AWS | 34 |
| Azure | 4 |
| GCP | 60 |
| Kubernetes | Suporte Planejado |
Opção 1: Baixe o último lançamento binário para sua plataforma.
Opção 2: Se você usa homebrew: brew install cloudfox
Opção 3: Instale o Go, use go install github.com/BishopFox/cloudfox@latest para instalar a partir da fonte remota
Opção 4: Modo desenvolvedor:
Instale o Go, clone o repositório CloudFox e compile a partir do código fonte ```
**Opção 5:** Testando uma correção de bug ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
-l ou passar todos os perfis armazenados com a flag -a.SecurityAudit + Política personalizada do CloudFoxNotas adicionais sobre políticas (a partir de 09/2022):
gcloud auth application-default login)Permissões Mínimas (Projeto Único):
Para enumeração básica de um único projeto, a função roles/viewer fornece acesso de leitura à maioria dos recursos (inclui logging, monitoring e visualização de compute/rede).
Permissões Abrangentes (Organização Inteira):
Para avaliações de segurança completas em toda uma organização:
Nota: A função básica
roles/viewerinclui permissões deroles/logging.viewer,roles/monitoring.viewereroles/compute.networkViewer, portanto não precisam ser concedidas separadamente.
As APIs devem estar ativadas em cada projeto que você deseja avaliar. As APIs do GCP são específicas do projeto.
Para instruções detalhadas de configuração, consulte o Guia de Configuração GCP.
Para documentação detalhada sobre cada comando GCP, consulte a Wiki de Comandos GCP.| Provedor | Nome do Comando | Descrição | - | - | - | | GCP | whoami | Exibir contexto de identidade para o usuário/conta de serviço GCP autenticado | | GCP | iam | Enumerar entidades IAM do GCP em organizações, pastas e projetos | | GCP | permissions | Enumerar TODAS as permissões para cada entidade IAM com explosão completa de herança | | GCP | serviceaccounts | Enumerar contas de serviço do GCP com análise de segurança | | GCP | service-agents | Enumerar agentes de serviço gerenciados pelo Google | | GCP | keys | Enumerar todas as chaves GCP (chaves de SA, chaves HMAC, chaves de API) | | GCP | resource-iam | Enumerar políticas IAM em recursos GCP (buckets, conjuntos de dados, segredos, etc.) | | GCP | domain-wide-delegation | Encontrar contas de serviço com Delegação em Todo o Domínio para Google Workspace | | GCP | privesc | Identificar caminhos de escalonamento de privilégios em projetos GCP | | GCP | hidden-admins | Identificar entidades que podem modificar políticas IAM (administradores ocultos) | | GCP | identity-federation | Enumerar Federação de Identidade de Carga de Trabalho (identidades externas) | | GCP | instances | Enumerar instâncias do Compute Engine GCP com configuração de segurança | | GCP | gke | Enumerar clusters GKE com análise de segurança | | GCP | cloudrun | Enumerar serviços e jobs do Cloud Run com análise de segurança | | GCP | | Enumerar Cloud Functions do GCP com análise de segurança | | GCP | | Enumerar aplicativos App Engine e configurações de segurança | | GCP | | Enumerar ambientes Cloud Composer | | GCP | | Enumerar clusters Dataproc | | GCP | | Enumerar jobs e pipelines do Dataflow | | GCP | | Enumerar notebooks do Vertex AI Workbench | | GCP | | Enumerar Workload Identity do GKE e Federação de Identidade de Carga de Trabalho | | GCP | | Inventário rápido de recursos - funciona sem a API Cloud Asset | | GCP | | Enumerar buckets do Cloud Storage GCP com configuração de segurança | | GCP | | Enumerar buckets GCS em busca de arquivos sensíveis (credenciais, segredos, configurações) | | GCP | | Enumerar conjuntos de dados e tabelas do BigQuery GCP com análise de segurança | | GCP | | Enumerar instâncias do Cloud SQL com análise de segurança | | GCP | | Enumerar instâncias e bancos de dados do Cloud Spanner | | GCP | | Enumerar instâncias e tabelas do Cloud Bigtable | | GCP | | Enumerar instâncias NFS do Filestore | | GCP | | Enumerar instâncias do Memorystore (Redis) | | GCP | | Enumerar Redes VPC | | GCP | | Enumerar redes VPC e regras de firewall com análise de segurança | | GCP | | Enumerar Balanceadores de Carga | | GCP | | Enumerar zonas e registros do Cloud DNS com análise de segurança | | GCP | | Enumerar todos os endpoints de rede (externos e internos) com IPs, portas e nomes de host | | GCP | | Enumerar endpoints Private Service Connect e anexos de serviço | | GCP | | Visualizar topologia de rede VPC, relações de peering e limites de confiança | | GCP | | Enumerar Controles de Serviço VPC | | GCP | | Enumerar níveis de acesso do Access Context Manager | | GCP | | Enumerar políticas de segurança do Cloud Armor e encontrar fragilidades | | GCP | | Enumerar configurações do Identity-Aware Proxy | | GCP | | Enumerar configurações do BeyondCorp Enterprise | | GCP | | Enumerar anéis de chave e chaves criptográficas do Cloud KMS com análise de segurança | | GCP | | Enumerar segredos do GCP Secret Manager com configuração de segurança | | GCP | | Enumerar certificados SSL/TLS e encontrar certificados expirando ou mal configurados | | GCP | | Enumerar políticas de organização e identificar fragilidades de segurança | | GCP | | Enumerar GCP Artifact Registry e Container Registry com configuração de segurança | | GCP | | Enumerar triggers e builds do Cloud Build | | GCP | | Enumerar Repositórios de Código Fonte do Cloud | | GCP | | Enumerar jobs do Cloud Scheduler com análise de segurança | | GCP | | Enumerar tópicos e assinaturas do Pub/Sub com análise de segurança | | GCP | | Enumerar sumidouros e métricas do Cloud Logging com análise de segurança | | GCP | | Enumerar hierarquia de organização do GCP | | GCP | | Enumerar Cloud Asset Inventory com análise de dependência opcional | | GCP | | Enumerar políticas de backup, recursos protegidos e identificar lacunas de backup | | GCP | | Mapear caminhos de movimento lateral, vetores de roubo de credenciais e oportunidades de pivô | | GCP | | Identificar caminhos de exfiltração de dados, vetores potenciais e falta de hardening de segurança | | GCP | | Encontrar recursos com acesso allUsers/allAuthenticatedUsers em 16 serviços GCP | | GCP | | Analisar vínculos IAM entre projetos, sumidouros de logging e exportações Pub/Sub para movimento lateral | | GCP | | Executar FoxMapper (análise IAM baseada em grafo) para descoberta de caminhos de escalonamento de privilégios | | GCP | | Escanear entradas do Cloud Logging em busca de dados sensíveis (credenciais, tokens, PII) | | GCP | | Escanear conjuntos de dados, tabelas e colunas do BigQuery em busca de indicadores de dados sensíveis | | GCP | | Escanear instâncias, tabelas e famílias de colunas do Bigtable em busca de indicadores de dados sensíveis | | GCP | | Escanear esquemas de banco de dados do Spanner em busca de nomes de tabelas e colunas sensíveis |
Como o CloudFox se compara com ScoutSuite, Prowler, Módulo de Conformidade AWS do Steampipe, AWS Security Hub, etc.?
O CloudFox não cria alertas ou descobertas, e não verifica seu ambiente quanto à conformidade com uma linha de base ou benchmark. Em vez disso, ele simplesmente permite que você seja mais eficiente durante suas atividades manuais de teste de penetração. Ele fornece as informações que você provavelmente precisará para validar se um caminho de ataque é possível ou não.
Por que vejo erros em alguns comandos do CloudFox?
Você sempre pode olhar no arquivo ~/.cloudfox/cloudfox-error.log para obter mais informações sobre erros.
endpointsendpointsiam-simulatorpermissions--userdata no comando instances, o comando permissions e muitos outros.| Política | Observações |
|---|
| Política personalizada do CloudFox | Tem uma lista completa de todas as permissões que o cloudfox usa e nada mais |
arn:aws:iam::aws:policy/SecurityAudit | Cobre a maioria das verificações do cloudfox, mas está faltando serviços ou permissões mais recentes como apprunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices |
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess | Cobre a maioria das verificações do cloudfox, mas está faltando serviços ou permissões mais recentes como AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices - e também está faltando iam:SimulatePrincipalPolicy. |
arn:aws:iam::aws:policy/ReadOnlyAccess | Apenas falta AppRunner, mas também concede coisas como "s3:Get*" que pode ser excessivamente permissivo. |
arn:aws:iam::aws:policy/AdministratorAccess | Isso funcionará perfeitamente com o CloudFox, mas se você recebeu esse nível de acesso como testador de penetração, isso provavelmente deveria ser um achado em si :) |
| Escopo | Função | Propósito |
|---|
| Organização | roles/resourcemanager.organizationViewer | Visualizar estrutura e metadados da organização |
| Organização | roles/iam.securityReviewer | Revisar políticas IAM em toda a organização |
| Organização | roles/cloudasset.viewer | Consultar o Inventário de Ativos da Nuvem para todos os recursos |
| Organização | roles/cloudidentity.groupsViewer | Enumerar Grupos do Google e associações |
| Pasta | roles/resourcemanager.folderViewer | Visualizar hierarquia e metadados da pasta |
| Projeto | roles/viewer | Acesso de leitura à maioria dos recursos do projeto (inclui logging.viewer, monitoring.viewer, compute.viewer) |
| Projeto de Ferramentas | roles/serviceusage.serviceUsageAdmin | (Opcional) Gerenciar cotas de API para operações do CloudFox |
| API | Nome do Serviço | Propósito |
|---|
| Cloud Identity API | cloudidentity.googleapis.com | Enumeração de grupos, análise de funções herdadas |
| Cloud Asset API | cloudasset.googleapis.com | Descoberta de recursos entre projetos |
| Cloud Resource Manager API | cloudresourcemanager.googleapis.com | Mapeamento da organização, enumeração IAM |
| IAM API | iam.googleapis.com | Análise IAM, detecção de escalonamento de privilégios |
| Compute Engine API | compute.googleapis.com | Enumeração de instâncias, segurança de rede |
| Secret Manager API | secretmanager.googleapis.com | Enumeração de segredos |
| Cloud Functions API | cloudfunctions.googleapis.com | Enumeração sem servidor |
| Cloud Run API | run.googleapis.com | Enumeração sem servidor |
| Kubernetes Engine API | container.googleapis.com | Análise de segurança de contêineres |
| BigQuery API | bigquery.googleapis.com | Análise de segurança de dados |
| Provedor | Nome do Comando | Descrição |
|---|
| AWS | all-checks | Executa todos os outros comandos usando padrões razoáveis. Você ainda vai querer conferir as opções não padrão de cada comando, mas este é um ótimo lugar para começar. |
| AWS | access-keys | Lista chaves de acesso ativas para todos os usuários. Útil para referência cruzada de uma chave que você encontrou com a conta no escopo a que pertence. |
| AWS | api-gw | Lista endpoints do API Gateway e fornece comandos curl personalizados, incluindo tokens de API se estiverem armazenados em metadados. |
| AWS | buckets | Lista os buckets na conta e fornece comandos úteis para inspecioná-los mais a fundo. |
| AWS | cape | Enumera caminhos de escalonamento de privilégios entre contas. Requer que pmapper seja executado primeiro |
| AWS | cloudformation | Lista as stacks do CloudFormation na conta. Gera arquivo de espólio com detalhes da stack, parâmetros da stack e saída da stack - procure por segredos. |
| AWS | codebuild | Enumera projetos do CodeBuild |
| AWS | databases | Enumera bancos de dados RDS. Obtenha um arquivo de espólio com strings de conexão. |
| AWS | ecr | Lista o URI da imagem mais recentemente enviada de todos os repositórios. Use o arquivo de espólio para baixar imagens selecionadas com docker/nerdctl para inspeção. |
| AWS | ecs-tasks | Lista todas as tarefas ECS. Isso retorna uma lista de tarefas ECS e cluster associado, definição de tarefa, instância de contêiner, tipo de lançamento e principal IAM associado. |
| AWS | eks | Lista todos os clusters EKS, verifica se eles expõem seu endpoint publicamente e verifica as funções IAM associadas anexadas para alcançar o cluster ou grupo de nós. Gera um arquivo de espólio com o comando aws eks udpate-kubeconfig necessário para se conectar a cada cluster. |
| AWS | elastic-network-interfaces | Lista todas as informações de ENI. Isso retorna uma lista de ID ENI, tipo, IP externo, IP privado, VPCID, instância anexada e uma descrição. |
| AWS | endpoints | Enumera endpoints de vários serviços. Escaneie esses endpoints de uma posição interna e externa para procurar coisas que não exigem autenticação, estão mal configuradas, etc. |
| AWS | env-vars | Obtém as variáveis de ambiente de serviços que as possuem (App Runner, ECS, Lambda, contêineres Lightsail, Sagemaker são suportados). Se você encontrar um segredo sensível, use cloudfox iam-simulator E pmapper para ver quem tem acesso a eles. |
| AWS | filesystems | Enumera os sistemas de arquivos EFS e FSx que você pode montar sem credenciais (se você tiver o acesso de rede correto). Por exemplo, isso é útil quando você tem ec:RunInstance mas não iam:PassRole. |
| AWS | iam-simulator | Como o pmapper, mas usa o simulador de política IAM. Ele usa a lógica de avaliação da AWS, mas notavelmente, não considera acesso transitivo via privesc, razão pela qual você também deve sempre usar pmapper. |
| AWS | instances | Enumera informações úteis para instâncias EC2 em todas as regiões, como nome, IPs públicos/privados e perfis de instância. Gera arquivos de espólio que você pode alimentar para nmap e outras ferramentas para enumeração de serviços. |
| AWS | inventory | Obtenha uma compreensão aproximada do tamanho da conta e das regiões preferidas. |
| AWS | lambda | Lista as funções lambda na conta, incluindo quais delas têm funções de administrador anexadas. Também fornece comandos úteis para baixar cada função. |
| AWS | network-ports | Enumera serviços AWS que estão potencialmente expondo um serviço de rede. Os grupos de segurança e as ACLs de rede são analisados para cada recurso para determinar quais portas estão potencialmente expostas. |
| AWS | orgs | Enumera contas em uma organização |
| AWS | outbound-assumed-roles | Lista as funções que foram assumidas por principais nesta conta. Esta é uma excelente maneira de encontrar caminhos de ataque de saída que levam a outras contas. |
| AWS | permissions | Enumera permissões IAM associadas a todos os usuários e funções. Use grep nesta saída para descobrir quais permissões um determinado principal possui, em vez de fazer login no console AWS e expandir meticulosamente cada política anexada ao principal que você está investigando. |
| AWS | pmapper | Procura por dados do pmapper armazenados no sistema de arquivos local, nos locais definidos aqui. Se os dados do pmapper foram encontrados (você já executou pmapper graph create), então este comando usará esses dados para construir um gráfico na memória do cloudfox e informar quem pode fazer privesc para admin. |
| AWS | principals | Enumera usuários IAM e Funções para que você tenha os dados na ponta dos dedos. |
| AWS | ram | Lista todos os recursos nesta conta que são compartilhados com outras contas, ou recursos de outras contas que são compartilhados com esta conta. Útil para caminhos de ataque entre contas. |
| AWS | resource-trusts | Examina vários serviços que suportam políticas de recursos e ajuda você a encontrar quaisquer confianças de recursos excessivamente permissivas. O KMS é suportado, mas desabilitado por padrão. Para incluir políticas de recursos KMS na saída, adicione esta flag ao comando: cloudfox aws resource-trusts --include-kms. |
| AWS | role-trusts | Enumera políticas de confiança de funções IAM para que você possa procurar por confianças de funções excessivamente permissivas ou encontrar funções que confiam em um serviço específico. |
| AWS | route53 | Enumera todos os registros de todas as zonas gerenciadas pelo Route53. Use isso para enumeração de aplicativos e serviços. |
| AWS | secrets | Lista segredos do SecretsManager e SSM. Procure por segredos interessantes na lista e veja quem tem acesso a eles usando cloudfox iam-simulator e/ou pmapper. |
| AWS | sns | Este comando enumera todos os tópicos SNS e fornece os comandos para se inscrever em um tópico ou enviar mensagens para um tópico (se você tiver as permissões necessárias). Este comando lida apenas com tópicos, e não com a funcionalidade SMS. Este comando também tenta resumir políticas de recursos de tópicos, se existirem. |
| AWS | sqs | Este comando enumera todas as filas SQS e fornece os comandos para receber mensagens de uma fila e enviar mensagens para uma fila (se você tiver as permissões necessárias). Este comando também tenta resumir políticas de recursos de filas, se existirem. |
| AWS | tags | Lista todos os recursos com tags e todas as tags. Isso pode ser usado de forma semelhante ao inventory como outro método para identificar quais tipos de recursos existem em uma conta. |
| AWS | workloads | Lista todas as cargas de trabalho de computação e qual função elas têm. Informa se alguma das funções é admin (ruim) e se você tiver dados do pmapper localmente, informará se alguma das funções pode fazer privesc para admin (também ruim) |
| AWS | ds | Lista todos os diretórios gerenciados pela AWS e seus atributos. Também resume as confianças atuais com suas direções e tipos. |
| Provedor | Nome do Comando | Descrição |
|---|
| Azure | whoami | Exibe informações sobre o tenant, assinaturas e grupos de recursos disponíveis para sua sessão atual da Azure CLI. Isso é útil para fornecer consciência situacional sobre quais IDs de tenant e assinatura usar com os outros subcomandos. |
| Azure | inventory | Exibe uma tabela de inventário de todos os recursos por localização. |
| Azure | rbac | Lista atribuições de funções RBAC do Azure no nível de assinatura ou tenant |
| Azure | storage | O comando storage ainda está em desenvolvimento. Atualmente, ele exibe apenas dados limitados sobre as contas de armazenamento |
| Azure | vms | Enumera informações úteis para instâncias de Computação em todos os grupos de recursos e assinaturas disponíveis |
inventory e, de forma geral, para o próprio CloudFox.