
Automazione della consapevolezza situazionale per test di penetrazione cloud.
CloudFox ti aiuta a ottenere consapevolezza situazionale in ambienti cloud sconosciuti. È uno strumento a riga di comando open source creato per aiutare penetration tester e altri professionisti della sicurezza offensiva a trovare percorsi di attacco sfruttabili nell'infrastruttura cloud.
AGGIORNAMENTO CLOUDFOX RICHIESTO: (12/2025): Se stai usando
cloudfox, devi usare la versione v1.17.0 o successiva. Tutte le versioni precedenti hanno smesso di funzionare dopo un cambio di formato nel file di mappatura dei servizi pubblici di AWS.
Panoramica
Unisciti a noi sul server discord RedSec
CloudFox è modulare (puoi eseguire un comando alla volta), ma esiste un comando aws all-checks che esegue gli altri comandi AWS con impostazioni predefinite sensate:
cloudfox aws --profile [nome-profilo] all-checks

CloudFox è stato progettato per essere eseguito da un principal con autorizzazioni limitate di sola lettura, ma il suo scopo è aiutarti a trovare percorsi di attacco che possono essere sfruttati in scenari di compromissione simulata (noto anche come penetration testing basato su obiettivi).
CloudFox può essere utilizzato con credenziali "trovate", in modo simile a come useresti weirdAAL o enumerate-iam. I controlli che falliscono lo fanno silenziosamente, quindi qualsiasi dato restituito significa che le tue credenziali "trovate" hanno l'accesso necessario per recuperarlo.
Per la documentazione completa, consulta la nostra wiki.
| Provider | Comandi CloudFox |
|---|---|
| AWS | 34 |
| Azure | 4 |
| GCP | 60 |
| Kubernetes | Supporto Pianificato |
Opzione 1: Scarica l'ultima release binaria per la tua piattaforma.
Opzione 2: Se usi homebrew: brew install cloudfox
Opzione 3: Installa Go, usa go install github.com/BishopFox/cloudfox@latest per installare dalla sorgente remota
Opzione 4: Modalità sviluppatore:
Installa Go, clona il repository di CloudFox e compila dal sorgente ```
**Opzione 5:** Testare una correzione di bug ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
-l o passare tutti i profili memorizzati con il flag -a.SecurityAudit + CloudFox custom policyNote aggiuntive sulle policy (al 09/2022):
gcloud auth application-default login)Permessi Minimi (Progetto Singolo):
Per un'enumerazione di base di un singolo progetto, il ruolo roles/viewer fornisce accesso in lettura alla maggior parte delle risorse (include la visualizzazione di logging, monitoring e compute/network).
Permessi Completi (A livello di Organizzazione):
Per valutazioni di sicurezza approfondite su un'intera organizzazione:
Nota: Il ruolo base
roles/viewerinclude permessi daroles/logging.viewer,roles/monitoring.viewereroles/compute.networkViewer, quindi non è necessario concederli separatamente.
Le API devono essere abilitate in ogni progetto che si desidera valutare. Le API GCP sono limitate al progetto.
Per istruzioni dettagliate sulla configurazione, consulta la Guida alla configurazione GCP.
Per documentazione dettagliata su ogni comando GCP, consulta la Wiki dei Comandi GCP.| Provider | Command Name | Description | - | - | - | | GCP | whoami | Mostra il contesto di identità per l'utente/account di servizio GCP autenticato | | GCP | iam | Enumera i principali IAM GCP attraverso organizzazioni, cartelle e progetti | | GCP | permissions | Enumera TUTTI i permessi per ogni entità IAM con esplosione di ereditarietà completa | | GCP | serviceaccounts | Enumera gli account di servizio GCP con analisi di sicurezza | | GCP | service-agents | Enumera gli agenti di servizio gestiti da Google | | GCP | keys | Enumera tutte le chiavi GCP (chiavi SA, chiavi HMAC, chiavi API) | | GCP | resource-iam | Enumera le policy IAM sulle risorse GCP (bucket, dataset, secret, ecc.) | | GCP | domain-wide-delegation | Trova account di servizio con delega a livello di dominio verso Google Workspace | | GCP | privesc | Identifica percorsi di escalation dei privilegi nei progetti GCP | | GCP | hidden-admins | Identifica i principali che possono modificare le policy IAM (amministratori nascosti) | | GCP | identity-federation | Enumera Workload Identity Federation (identità esterne) | | GCP | instances | Enumera le istanze GCP Compute Engine con configurazione di sicurezza | | GCP | gke | Enumera i cluster GKE con analisi di sicurezza | | GCP | cloudrun | Enumera i servizi e i job di Cloud Run con analisi di sicurezza | | GCP | | Enumera le Cloud Functions GCP con analisi di sicurezza | | GCP | | Enumera le applicazioni App Engine e le configurazioni di sicurezza | | GCP | | Enumera gli ambienti Cloud Composer | | GCP | | Enumera i cluster Dataproc | | GCP | | Enumera i job e le pipeline Dataflow | | GCP | | Enumera i notebook Vertex AI Workbench | | GCP | | Enumera GKE Workload Identity e Workload Identity Federation | | GCP | | Inventario rapido delle risorse – funziona senza Cloud Asset API | | GCP | | Enumera i bucket GCP Cloud Storage con configurazione di sicurezza | | GCP | | Enumera i bucket GCS per file sensibili (credenziali, segreti, configurazioni) | | GCP | | Enumera i dataset e le tabelle GCP BigQuery con analisi di sicurezza | | GCP | | Enumera le istanze Cloud SQL con analisi di sicurezza | | GCP | | Enumera le istanze e i database Cloud Spanner | | GCP | | Enumera le istanze e le tabelle Cloud Bigtable | | GCP | | Enumera le istanze Filestore NFS | | GCP | | Enumera le istanze Memorystore (Redis) | | GCP | | Enumera le reti VPC | | GCP | | Enumera le reti VPC e le regole firewall con analisi di sicurezza | | GCP | | Enumera i bilanciatori di carico | | GCP | | Enumera le zone e i record Cloud DNS con analisi di sicurezza | | GCP | | Enumera tutti gli endpoint di rete (esterni e interni) con IP, porte e hostname | | GCP | | Enumera gli endpoint Private Service Connect e gli allegati di servizio | | GCP | | Visualizza la topologia della rete VPC, le relazioni di peering e i confini di trust | | GCP | | Enumera i VPC Service Controls | | GCP | | Enumera i livelli di accesso di Access Context Manager | | GCP | | Enumera le policy di sicurezza Cloud Armor e trova le debolezze | | GCP | | Enumera le configurazioni di Identity-Aware Proxy | | GCP | | Enumera le configurazioni di BeyondCorp Enterprise | | GCP | | Enumera i portachiavi e le chiavi crittografiche Cloud KMS con analisi di sicurezza | | GCP | | Enumera i segreti di GCP Secret Manager con configurazione di sicurezza | | GCP | | Enumera i certificati SSL/TLS e trova certificati in scadenza o mal configurati | | GCP | | Enumera le policy dell'organizzazione e identifica le debolezze di sicurezza | | GCP | | Enumera GCP Artifact Registry e Container Registry con configurazione di sicurezza | | GCP | | Enumera i trigger e le build di Cloud Build | | GCP | | Enumera i Cloud Source Repositories | | GCP | | Enumera i job di Cloud Scheduler con analisi di sicurezza | | GCP | | Enumera i topic e le sottoscrizioni Pub/Sub con analisi di sicurezza | | GCP | | Enumera i sink e le metriche di Cloud Logging con analisi di sicurezza | | GCP | | Enumera la gerarchia dell'organizzazione GCP | | GCP | | Enumera Cloud Asset Inventory con analisi delle dipendenze opzionale | | GCP | | Enumera le policy di backup, le risorse protette e identifica le lacune nei backup | | GCP | | Mappa i percorsi di movimento laterale, i vettori di furto di credenziali e le opportunità di pivot | | GCP | | Identifica i percorsi di esfiltrazione dati, i potenziali vettori e la mancanza di rafforzamento della sicurezza | | GCP | | Trova risorse con accesso allUsers/allAuthenticatedUsers in 16 servizi GCP | | GCP | | Analizza i binding IAM tra progetti, i sink di logging e le esportazioni Pub/Sub per movimento laterale | | GCP | | Esegue FoxMapper (analisi IAM basata su grafi) per la scoperta di percorsi di escalation dei privilegi | | GCP | | Scansiona le voci di Cloud Logging per dati sensibili (credenziali, token, PII) | | GCP | | Scansiona dataset, tabelle e colonne di BigQuery per indicatori di dati sensibili | | GCP | | Scansiona istanze, tabelle e famiglie di colonne di Bigtable per indicatori di dati sensibili | | GCP | | Scansiona gli schemi dei database Spanner per nomi di tabelle e colonne sensibili |
In che modo CloudFox si confronta con ScoutSuite, Prowler, il modulo AWS Compliance di Steampipe, AWS Security Hub, ecc.?
CloudFox non crea avvisi o risultati e non verifica la conformità del tuo ambiente a una baseline o benchmark. Invece, ti permette semplicemente di essere più efficiente durante le tue attività di penetration testing manuale. Ti fornisce le informazioni di cui probabilmente avrai bisogno per convalidare se un percorso di attacco è possibile o meno.
Perché vedo errori in alcuni comandi di CloudFox?
Puoi sempre guardare il file ~/.cloudfox/cloudfox-error.log per maggiori informazioni sugli errori.
endpointsendpointsiam-simulatorpermissions--userdata nel comando instances, il comando permissions e molti altri.| Policy | Note |
|---|
| CloudFox custom policy | Contiene un elenco completo di ogni permesso che cloudfox utilizza e nient'altro |
arn:aws:iam::aws:policy/SecurityAudit | Copre la maggior parte dei controlli cloudfox ma manca di servizi o permessi più recenti come apprunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices |
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess | Copre la maggior parte dei controlli cloudfox ma manca di servizi o permessi più recenti come AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices - e manca anche iam:SimulatePrincipalPolicy. |
arn:aws:iam::aws:policy/ReadOnlyAccess | Manca solo AppRunner, ma concede anche cose come "s3:Get*" che possono essere eccessivamente permissive. |
arn:aws:iam::aws:policy/AdministratorAccess | Funzionerà perfettamente con CloudFox, ma se ti è stato concesso questo livello di accesso come penetration tester, probabilmente dovrebbe essere di per sé un riscontro :) |
| Ambito | Ruolo | Scopo |
|---|
| Organizzazione | roles/resourcemanager.organizationViewer | Visualizza la struttura dell'organizzazione e i metadati |
| Organizzazione | roles/iam.securityReviewer | Esamina le policy IAM in tutta l'organizzazione |
| Organizzazione | roles/cloudasset.viewer | Interroga Cloud Asset Inventory per tutte le risorse |
| Organizzazione | roles/cloudidentity.groupsViewer | Enumera Google Groups e le appartenenze |
| Cartella | roles/resourcemanager.folderViewer | Visualizza la gerarchia delle cartelle e i metadati |
| Progetto | roles/viewer | Accesso in lettura alla maggior parte delle risorse del progetto (include logging.viewer, monitoring.viewer, compute.viewer) |
| Progetto di Strumentazione | roles/serviceusage.serviceUsageAdmin | (Opzionale) Gestisci le quote API per le operazioni di CloudFox |
| API | Nome del Servizio | Scopo |
|---|
| Cloud Identity API | cloudidentity.googleapis.com | Enumerazione dei gruppi, analisi dei ruoli ereditati |
| Cloud Asset API | cloudasset.googleapis.com | Scoperta delle risorse tra progetti |
| Cloud Resource Manager API | cloudresourcemanager.googleapis.com | Mappatura dell'organizzazione, enumerazione IAM |
| IAM API | iam.googleapis.com | Analisi IAM, rilevamento escalation dei privilegi |
| Compute Engine API | compute.googleapis.com | Enumerazione delle istanze, sicurezza di rete |
| Secret Manager API | secretmanager.googleapis.com | Enumerazione dei segreti |
| Cloud Functions API | cloudfunctions.googleapis.com | Enumerazione serverless |
| Cloud Run API | run.googleapis.com | Enumerazione serverless |
| Kubernetes Engine API | container.googleapis.com | Analisi della sicurezza dei container |
| BigQuery API | bigquery.googleapis.com | Analisi della sicurezza dei dati |
| Provider | Nome Comando | Descrizione |
|---|
| AWS | all-checks | Esegue tutti gli altri comandi utilizzando impostazioni predefinite ragionevoli. Vorrai comunque esaminare le opzioni non predefinite di ogni comando, ma questo è un ottimo punto di partenza. |
| AWS | access-keys | Elenca le chiavi di accesso attive per tutti gli utenti. Utile per fare riferimento incrociato a una chiave trovata con l'account in scope a cui appartiene. |
| AWS | api-gw | Elenca gli endpoint API Gateway e fornisce comandi curl personalizzati inclusi i token API se sono memorizzati nei metadati. |
| AWS | buckets | Elenca i bucket nell'account e fornisce comandi utili per ispezionarli ulteriormente. |
| AWS | cape | Enumera i percorsi di escalation dei privilegi tra account. Richiede che pmapper venga eseguito prima |
| AWS | cloudformation | Elenca gli stack CloudFormation nell'account. Genera un file loot con dettagli dello stack, parametri dello stack e output dello stack - cerca i segreti. |
| AWS | codebuild | Enumera i progetti CodeBuild |
| AWS | databases | Enumera i database RDS. Ottieni un file loot con stringhe di connessione. |
| AWS | ecr | Elenca l'URI dell'immagine più recente da tutti i repository. Usa il file loot per scaricare le immagini selezionate con docker/nerdctl per l'ispezione. |
| AWS | ecs-tasks | Elenca tutte le attività ECS. Restituisce un elenco di attività ECS e cluster associato, definizione dell'attività, istanza del contenitore, tipo di lancio e principal IAM associato. |
| AWS | eks | Elenca tutti i cluster EKS, verifica se espongono pubblicamente il loro endpoint e controlla i ruoli IAM associati collegati per raggiungere il cluster o il gruppo di nodi. Genera un file loot con il comando aws eks udpate-kubeconfig necessario per connettersi a ciascun cluster. |
| AWS | elastic-network-interfaces | Elenca tutte le informazioni ENI. Restituisce un elenco di ID ENI, tipo, IP esterno, IP privato, VPC ID, istanza collegata e una descrizione. |
| AWS | endpoints | Enumera gli endpoint da vari servizi. Scansiona questi endpoint sia da una posizione interna che esterna per cercare elementi che non richiedono autenticazione, sono mal configurati, ecc. |
| AWS | env-vars | Recupera le variabili d'ambiente dai servizi che le hanno (App Runner, ECS, Lambda, contenitori Lightsail, Sagemaker sono supportati. Se trovi un segreto sensibile, usa cloudfox iam-simulator E pmapper per vedere chi ha accesso ad essi. |
| AWS | filesystems | Enumera i filesystem EFS e FSx che potresti montare senza credenziali (se hai l'accesso di rete appropriato). Ad esempio, è utile quando hai ec:RunInstance ma non iam:PassRole. |
| AWS | iam-simulator | Come pmapper, ma utilizza il simulatore di policy IAM. Usa la logica di valutazione di AWS, ma notevolmente, non considera l'accesso transitivo tramite privesc, motivo per cui dovresti sempre usare anche pmapper. |
| AWS | instances | Enumera informazioni utili per le istanze EC2 in tutte le regioni come nome, IP pubblici/privati e profili di istanza. Genera file loot che puoi fornire a nmap e altri strumenti per l'enumerazione dei servizi. |
| AWS | inventory | Ottieni una comprensione approssimativa delle dimensioni dell'account e delle regioni preferite. |
| AWS | lambda | Elenca le funzioni Lambda nell'account, incluse quelle che hanno ruoli admin allegati. Fornisce anche comandi utili per scaricare ciascuna funzione. |
| AWS | network-ports | Enumera i servizi AWS che potenzialmente espongono un servizio di rete. I gruppi di sicurezza e le ACL di rete vengono analizzati per ciascuna risorsa per determinare quali porte sono potenzialmente esposte. |
| AWS | orgs | Enumera gli account in un'organizzazione |
| AWS | outbound-assumed-roles | Elenca i ruoli che sono stati assunti dai principal in questo account. È un ottimo modo per trovare percorsi di attacco in uscita che portano ad altri account. |
| AWS | permissions | Enumera i permessi IAM associati a tutti gli utenti e ruoli. Usa grep su questo output per capire quali permessi ha un particolare principal invece di accedere alla console AWS e espandere minuziosamente ogni policy allegata al principal che stai investigando. |
| AWS | pmapper | Cerca i dati pmapper memorizzati sul filesystem locale, nelle posizioni definite qui. Se sono stati trovati dati pmapper (hai già eseguito pmapper graph create), questo comando utilizzerà questi dati per costruire un grafico nella memoria di cloudfox per farti sapere chi può fare privesc ad admin. |
| AWS | principals | Enumera gli utenti e i ruoli IAM in modo da avere i dati a portata di mano. |
| AWS | ram | Elenca tutte le risorse in questo account che sono condivise con altri account, o risorse da altri account che sono condivise con questo account. Utile per percorsi di attacco tra account. |
| AWS | resource-trusts | Esamina più servizi che supportano le policy delle risorse e ti aiuta a trovare eventuali trust di risorse eccessivamente permissivi. KMS è supportato ma disabilitato per impostazione predefinita. Per includere le policy delle risorse KMS nell'output, aggiungi questo flag al comando: cloudfox aws resource-trusts --include-kms. |
| AWS | role-trusts | Enumera le policy di trust dei ruoli IAM in modo da poter cercare trust di ruoli eccessivamente permissivi o trovare ruoli che fidano di un servizio specifico. |
| AWS | route53 | Enumera tutti i record da tutte le zone gestite da Route53. Usa questo per l'enumerazione di applicazioni e servizi. |
| AWS | secrets | Elenca i segreti da SecretsManager e SSM. Cerca segreti interessanti nell'elenco e poi vedi chi ha accesso ad essi usando cloudfox iam-simulator e/o pmapper. |
| AWS | sns | Questo comando enumera tutti gli argomenti SNS e fornisce i comandi per iscriversi a un argomento o inviare messaggi a un argomento (se hai i permessi necessari). Questo comando riguarda solo gli argomenti, non la funzionalità SMS. Questo comando tenta anche di riassumere le policy delle risorse degli argomenti se esistono. |
| AWS | sqs | Questo comando enumera tutte le code SQS e fornisce i comandi per ricevere messaggi da una coda e inviare messaggi a una coda (se hai i permessi necessari). Questo comando tenta anche di riassumere le policy delle risorse delle code se esistono. |
| AWS | tags | Elenca tutte le risorse con tag e tutti i tag. Può essere usato in modo simile all'inventory come un altro metodo per identificare quali tipi di risorse esistono in un account. |
| AWS | workloads | Elenca tutti i carichi di lavoro di calcolo e il ruolo che hanno. Ti dice se qualche ruolo è admin (male) e se hai dati pmapper localmente, ti dirà se qualche ruolo può fare privesc ad admin (anche male) |
| AWS | ds | Elenca tutte le directory gestite da AWS e i loro attributi. Riassume anche i trust correnti con le loro direzioni e tipi. |
| Provider | Nome Comando | Descrizione |
|---|
| Azure | whoami | Mostra informazioni sul tenant, le sottoscrizioni e i gruppi di risorse disponibili per la tua sessione Azure CLI corrente. È utile per fornire consapevolezza della situazione su quali ID tenant e sottoscrizione utilizzare con gli altri sottocomandi. |
| Azure | inventory | Mostra una tabella di inventory di tutte le risorse per località. |
| Azure | rbac | Elenca le assegnazioni di ruolo Azure RBAC a livello di sottoscrizione o tenant |
| Azure | storage | Il comando storage è ancora in fase di sviluppo. Attualmente mostra solo dati limitati sugli account di archiviazione |
| Azure | vms | Enumera informazioni utili per le istanze Compute in tutti i gruppi di risorse e sottoscrizioni disponibili |
inventory e in generale per CloudFox nel suo insieme.