
Automatiser la conscience de la situation pour les tests de pénétration cloud.
CloudFox vous aide à acquérir une conscience situationnelle dans des environnements cloud inconnus. C'est un outil en ligne de commande open source créé pour aider les testeurs d'intrusion et autres professionnels de la sécurité offensive à trouver des chemins d'attaque exploitables dans l'infrastructure cloud.
MISE À JOUR CLOUDFOX REQUISE : (12/2025) : Si vous utilisez
cloudfox, vous devez utiliser la version v1.17.0 ou ultérieure. Toutes les versions antérieures ont cessé de fonctionner après un changement de format dans le fichier de mappage des services publics d'AWS.
Aperçu
Rejoignez-nous sur le serveur discord RedSec
CloudFox est modulaire (vous pouvez exécuter une commande à la fois), mais il existe une commande aws all-checks qui exécutera les autres commandes aws pour vous avec des valeurs par défaut raisonnables :
cloudfox aws --profile [profile-name] all-checks

CloudFox a été conçu pour être exécuté par un principal disposant de permissions limitées en lecture seule, mais son but est de vous aider à trouver des chemins d'attaque pouvant être exploités dans des scénarios de compromission simulés (alias, test d'intrusion basé sur des objectifs).
CloudFox peut être utilisé avec des identifiants « trouvés », de la même manière que vous utiliseriez weirdAAL ou enumerate-iam. Les vérifications qui échouent le font silencieusement, donc toute donnée renvoyée signifie que vos identifiants « trouvés » disposent de l'accès nécessaire pour la récupérer.
Pour la documentation complète, veuillez vous référer à notre wiki.
| Fournisseur | Commandes CloudFox |
|---|---|
| AWS | 34 |
| Azure | 4 |
| GCP | 60 |
| Kubernetes | Support prévu |
Option 1 : Téléchargez la dernière version binaire pour votre plateforme.
Option 2 : Si vous utilisez homebrew : brew install cloudfox
Option 3 : Installez Go, utilisez go install github.com/BishopFox/cloudfox@latest pour installer depuis la source distante
Option 4 : Mode développeur :
Installez Go, clonez le dépôt CloudFox et compilez à partir des sources ```
**Option 5:** Tester une correction de bogue ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
-l, ou passer tous les profils stockés avec le drapeau -a.SecurityAudit + Politique personnalisée CloudFoxNotes supplémentaires sur les politiques (au 09/2022) :
gcloud auth application-default login)Autorisations minimales (projet unique) :
Pour une énumération de base d’un seul projet, le rôle roles/viewer fournit un accès en lecture à la plupart des ressources (inclut la journalisation, la surveillance et la visualisation du calcul/réseau).
Autorisations complètes (à l’échelle de l’organisation) :
Pour des évaluations de sécurité approfondies dans toute une organisation :
Remarque : Le rôle de base
roles/viewerinclut les autorisations deroles/logging.viewer,roles/monitoring.vieweretroles/compute.networkViewer, celles-ci n’ont donc pas besoin d’être accordées séparément.
Les API doivent être activées dans chaque projet que vous souhaitez évaluer. Les API GCP sont limitées au projet.
Pour des instructions de configuration détaillées, voir le Guide de configuration GCP.
Pour une documentation détaillée sur chaque commande GCP, voir le Wiki des commandes GCP.| Provider | Nom de la commande | Description | - | - | - | | GCP | whoami | Afficher le contexte d'identité pour l'utilisateur/compte de service GCP authentifié | | GCP | iam | Énumérer les entités IAM GCP dans les organisations, dossiers et projets | | GCP | permissions | Énumérer TOUTES les permissions pour chaque entité IAM avec une explosion d'héritage complète | | GCP | serviceaccounts | Énumérer les comptes de service GCP avec analyse de sécurité | | GCP | service-agents | Énumérer les agents de service gérés par Google | | GCP | keys | Énumérer toutes les clés GCP (clés SA, clés HMAC, clés API) | | GCP | resource-iam | Énumérer les politiques IAM sur les ressources GCP (buckets, ensembles de données, secrets, etc.) | | GCP | domain-wide-delegation | Trouver les comptes de service avec délégation à l'échelle du domaine vers Google Workspace | | GCP | privesc | Identifier les chemins d'élévation de privilèges dans les projets GCP | | GCP | hidden-admins | Identifier les entités pouvant modifier les politiques IAM (administrateurs cachés) | | GCP | identity-federation | Énumérer la fédération d'identités de charge de travail (identités externes) | | GCP | instances | Énumérer les instances Compute Engine GCP avec configuration de sécurité | | GCP | gke | Énumérer les clusters GKE avec analyse de sécurité | | GCP | cloudrun | Énumérer les services et tâches Cloud Run avec analyse de sécurité | | GCP | | Énumérer les fonctions Cloud Functions GCP avec analyse de sécurité | | GCP | | Énumérer les applications App Engine et leurs configurations de sécurité | | GCP | | Énumérer les environnements Cloud Composer | | GCP | | Énumérer les clusters Dataproc | | GCP | | Énumérer les travaux et pipelines Dataflow | | GCP | | Énumérer les notebooks Vertex AI Workbench | | GCP | | Énumérer l'identité de charge de travail GKE et la fédération d'identités de charge de travail | | GCP | | Inventaire rapide des ressources - fonctionne sans l'API Cloud Asset | | GCP | | Énumérer les buckets Cloud Storage GCP avec configuration de sécurité | | GCP | | Énumérer les buckets GCS pour les fichiers sensibles (identifiants, secrets, configurations) | | GCP | | Énumérer les ensembles de données et tables BigQuery GCP avec analyse de sécurité | | GCP | | Énumérer les instances Cloud SQL avec analyse de sécurité | | GCP | | Énumérer les instances et bases de données Cloud Spanner | | GCP | | Énumérer les instances et tables Cloud Bigtable | | GCP | | Énumérer les instances Filestore NFS | | GCP | | Énumérer les instances Memorystore (Redis) | | GCP | | Énumérer les réseaux VPC | | GCP | | Énumérer les réseaux VPC et les règles de pare-feu avec analyse de sécurité | | GCP | | Énumérer les équilibreurs de charge | | GCP | | Énumérer les zones et enregistrements Cloud DNS avec analyse de sécurité | | GCP | | Énumérer tous les points de terminaison réseau (externes et internes) avec IP, ports et noms d'hôtes | | GCP | | Énumérer les points de terminaison Private Service Connect et les pièces jointes de service | | GCP | | Visualiser la topologie du réseau VPC, les relations de peering et les limites de confiance | | GCP | | Énumérer les contrôles de service VPC | | GCP | | Énumérer les niveaux d'accès d'Access Context Manager | | GCP | | Énumérer les politiques de sécurité Cloud Armor et trouver les faiblesses | | GCP | | Énumérer les configurations Identity-Aware Proxy | | GCP | | Énumérer les configurations BeyondCorp Enterprise | | GCP | | Énumérer les anneaux de clés et les clés cryptographiques Cloud KMS avec analyse de sécurité | | GCP | | Énumérer les secrets GCP Secret Manager avec configuration de sécurité | | GCP | | Énumérer les certificats SSL/TLS et trouver les certificats expirés ou mal configurés | | GCP | | Énumérer les politiques d'organisation et identifier les faiblesses de sécurité | | GCP | | Énumérer le registre d'artefacts GCP et le registre de conteneurs avec configuration de sécurité | | GCP | | Énumérer les déclencheurs et les builds Cloud Build | | GCP | | Énumérer les dépôts source Cloud Source Repositories | | GCP | | Énumérer les tâches Cloud Scheduler avec analyse de sécurité | | GCP | | Énumérer les sujets et abonnements Pub/Sub avec analyse de sécurité | | GCP | | Énumérer les récepteurs et métriques Cloud Logging avec analyse de sécurité | | GCP | | Énumérer la hiérarchie des organisations GCP | | GCP | | Énumérer l'inventaire des ressources Cloud Asset avec analyse de dépendances optionnelle | | GCP | | Énumérer les politiques de sauvegarde, les ressources protégées et identifier les lacunes de sauvegarde | | GCP | | Cartographier les chemins de mouvement latéral, les vecteurs de vol d'identifiants et les opportunités de pivotement | | GCP | | Identifier les chemins d'exfiltration de données, les vecteurs potentiels et le durcissement de sécurité manquant | | GCP | | Trouver les ressources avec un accès allUsers/allAuthenticatedUsers sur 16 services GCP | | GCP | | Analyser les liaisons IAM entre projets, les récepteurs de logs et les exportations Pub/Sub pour le mouvement latéral | | GCP | | Exécuter FoxMapper (analyse IAM basée sur les graphes) pour la découverte de chemins d'élévation de privilèges | | GCP | | Analyser les entrées Cloud Logging pour les données sensibles (identifiants, jetons, données personnelles) | | GCP | | Analyser les ensembles de données, tables et colonnes BigQuery pour les indicateurs de données sensibles | | GCP | | Analyser les instances, tables et familles de colonnes Bigtable pour les indicateurs de données sensibles | | GCP | | Analyser les schémas de base de données Spanner pour les noms de tables et colonnes sensibles |
Comment CloudFox se compare-t-il à ScoutSuite, Prowler, le module de conformité AWS de Steampipe, AWS Security Hub, etc. ?
CloudFox ne crée pas d'alertes ou de constats, et ne vérifie pas la conformité de votre environnement par rapport à une base de référence ou un référentiel. Au lieu de cela, il vous permet simplement d'être plus efficace lors de vos activités manuelles de test d'intrusion. Il vous donne les informations dont vous aurez probablement besoin pour valider si un chemin d'attaque est possible ou non.
Pourquoi vois-je des erreurs dans certaines commandes CloudFox ?
Vous pouvez toujours consulter le fichier ~/.cloudfox/cloudfox-error.log pour obtenir plus d'informations sur les erreurs.
endpointsendpointsiam-simulatorpermissions--userdata dans la commande instances, la commande permissions, et bien d'autres| Politique | Remarques |
|---|
| Politique personnalisée CloudFox | Contient une liste complète de toutes les autorisations utilisées par CloudFox et rien d’autre |
arn:aws:iam::aws:policy/SecurityAudit | Couvre la plupart des vérifications CloudFox mais manque de nouveaux services ou autorisations comme apprunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices |
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess | Couvre la plupart des vérifications CloudFox mais manque de nouveaux services ou autorisations comme AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices – et manque également iam:SimulatePrincipalPolicy. |
arn:aws:iam::aws:policy/ReadOnlyAccess | Ne manque que AppRunner, mais accorde également des choses comme "s3:Get*" qui peuvent être trop permissives. |
arn:aws:iam::aws:policy/AdministratorAccess | Fonctionnera parfaitement avec CloudFox, mais si vous avez reçu ce niveau d’accès en tant que testeur d’intrusion, cela devrait probablement être une constatation en soi :) |
| Périmètre | Rôle | Objectif |
|---|
| Organisation | roles/resourcemanager.organizationViewer | Voir la structure et les métadonnées de l’organisation |
| Organisation | roles/iam.securityReviewer | Examiner les politiques IAM dans toute l’organisation |
| Organisation | roles/cloudasset.viewer | Interroger l’inventaire des ressources Cloud pour toutes les ressources |
| Organisation | roles/cloudidentity.groupsViewer | Énumérer les groupes Google et leurs adhésions |
| Dossier | roles/resourcemanager.folderViewer | Voir la hiérarchie et les métadonnées des dossiers |
| Projet | roles/viewer | Accès en lecture à la plupart des ressources du projet (inclut logging.viewer, monitoring.viewer, compute.viewer) |
| Projet outillé | roles/serviceusage.serviceUsageAdmin | (Facultatif) Gérer les quotas d’API pour les opérations CloudFox |
| API | Nom du service | Objectif |
|---|
| Cloud Identity API | cloudidentity.googleapis.com | Énumération des groupes, analyse des rôles hérités |
| Cloud Asset API | cloudasset.googleapis.com | Découverte de ressources multi-projets |
| Cloud Resource Manager API | cloudresourcemanager.googleapis.com | Cartographie des organisations, énumération IAM |
| IAM API | iam.googleapis.com | Analyse IAM, détection d’élévation de privilèges |
| Compute Engine API | compute.googleapis.com | Énumération des instances, sécurité réseau |
| Secret Manager API | secretmanager.googleapis.com | Énumération des secrets |
| Cloud Functions API | cloudfunctions.googleapis.com | Énumération serverless |
| Cloud Run API | run.googleapis.com | Énumération serverless |
| Kubernetes Engine API | container.googleapis.com | Analyse de sécurité des conteneurs |
| BigQuery API | bigquery.googleapis.com | Analyse de sécurité des données |
| Fournisseur | Nom de la commande | Description |
|---|
| AWS | all-checks | Exécute toutes les autres commandes avec des paramètres par défaut raisonnables. Vous voudrez quand même consulter les options non défaut de chaque commande, mais c’est un excellent point de départ. |
| AWS | access-keys | Liste les clés d’accès actives pour tous les utilisateurs. Utile pour recouper une clé que vous avez trouvée avec le compte concerné dans le périmètre. |
| AWS | api-gw | Liste les points de terminaison API Gateway et vous donne des commandes curl personnalisées incluant les jetons API s’ils sont stockés dans les métadonnées. |
| AWS | buckets | Liste les buckets du compte et vous donne des commandes pratiques pour les inspecter plus en détail. |
| AWS | cape | Énumère les chemins d’élévation de privilèges entre comptes. Nécessite que pmapper ait été exécuté d’abord. |
| AWS | cloudformation | Liste les piles CloudFormation du compte. Génère un fichier loot avec les détails, paramètres et sorties de la pile – recherchez des secrets. |
| AWS | codebuild | Énumère les projets CodeBuild. |
| AWS | databases | Énumère les bases de données RDS. Obtient un fichier loot avec les chaînes de connexion. |
| AWS | ecr | Liste l’URI de l’image la plus récemment poussée de tous les dépôts. Utilisez le fichier loot pour extraire les images sélectionnées avec docker/nerdctl pour inspection. |
| AWS | ecs-tasks | Liste toutes les tâches ECS. Retourne une liste des tâches ECS avec le cluster, la définition de tâche, l’instance de conteneur, le type de lancement et le principal IAM associé. |
| AWS | eks | Liste tous les clusters EKS, vérifie s’ils exposent leur point de terminaison publiquement et examine les rôles IAM associés attachés au cluster ou au groupe de nœuds. Génère un fichier loot avec la commande aws eks udpate-kubeconfig nécessaire pour se connecter à chaque cluster. |
| AWS | elastic-network-interfaces | Liste toutes les informations ENI. Retourne une liste d’ID ENI, type, IP externe, IP privée, ID VPC, instance attachée et description. |
| AWS | endpoints | Énumère les points de terminaison de divers services. Scannez ces points de terminaison depuis une position interne et externe pour rechercher des éléments qui ne nécessitent pas d’authentification, sont mal configurés, etc. |
| AWS | env-vars | Récupère les variables d’environnement des services qui en disposent (App Runner, ECS, Lambda, conteneurs Lightsail, Sagemaker sont pris en charge). Si vous trouvez un secret sensible, utilisez cloudfox iam-simulator ET pmapper pour voir qui y a accès. |
| AWS | filesystems | Énumère les systèmes de fichiers EFS et FSx que vous pourriez monter sans identifiants (si vous avez l’accès réseau approprié). Par exemple, utile lorsque vous avez ec:RunInstance mais pas iam:PassRole. |
| AWS | iam-simulator | Comme pmapper, mais utilise le simulateur de politique IAM. Il utilise la logique d’évaluation d’AWS, mais notoirement, il ne prend pas en compte l’accès transitif via une élévation de privilèges, c’est pourquoi vous devez aussi toujours utiliser pmapper. |
| AWS | instances | Énumère les informations utiles pour les instances EC2 dans toutes les régions : nom, IP publiques/privées et profils d’instance. Génère des fichiers loot que vous pouvez fournir à nmap et autres outils pour l’énumération des services. |
| AWS | inventory | Obtenez une compréhension approximative de la taille du compte et des régions préférées. |
| AWS | lambda | Liste les fonctions Lambda du compte, y compris celles qui ont des rôles administrateur attachés. Fournit également des commandes pratiques pour télécharger chaque fonction. |
| AWS | network-ports | Énumère les services AWS qui exposent potentiellement un service réseau. Les groupes de sécurité et les ACL réseau sont analysés pour chaque ressource afin de déterminer quels ports sont potentiellement exposés. |
| AWS | orgs | Énumère les comptes d’une organisation |
| AWS | outbound-assumed-roles | Liste les rôles qui ont été assumés par des principaux de ce compte. C’est un excellent moyen de trouver des chemins d’attaque sortants menant à d’autres comptes. |
| AWS | permissions | Énumère les autorisations IAM associées à tous les utilisateurs et rôles. Parcourez cette sortie pour savoir quelles autorisations un principal particulier possède plutôt que de vous connecter à la console AWS et de développer minutieusement chaque politique attachée au principal que vous étudiez. |
| AWS | pmapper | Recherche les données pmapper stockées sur le système de fichiers local, aux emplacements définis ici. Si les données pmapper ont été trouvées (vous avez déjà exécuté pmapper graph create), alors cette commande utilisera ces données pour construire un graphe dans la mémoire de CloudFox et vous indiquer qui peut s’élever jusqu’à administrateur. |
| AWS | principals | Énumère les utilisateurs et rôles IAM pour que vous ayez les données à portée de main. |
| AWS | ram | Liste toutes les ressources de ce compte partagées avec d’autres comptes, ou les ressources d’autres comptes partagées avec ce compte. Utile pour les chemins d’attaque entre comptes. |
| AWS | resource-trusts | Parcourt plusieurs services qui prennent en charge les politiques de ressources et vous aide à trouver des relations de confiance trop permissives. KMS est pris en charge mais désactivé par défaut. Pour inclure les politiques de ressources KMS dans la sortie, ajoutez ce drapeau à la commande : cloudfox aws resource-trusts --include-kms. |
| AWS | role-trusts | Énumère les politiques de confiance des rôles IAM afin que vous puissiez rechercher des relations de confiance trop permissives ou trouver des rôles qui font confiance à un service spécifique. |
| AWS | route53 | Énumère tous les enregistrements de toutes les zones gérées Route53. Utilisez pour l’énumération des applications et services. |
| AWS | secrets | Liste les secrets de SecretsManager et SSM. Recherchez des secrets intéressants dans la liste, puis voyez qui y a accès en utilisant cloudfox iam-simulator et/ou pmapper. |
| AWS | sns | Cette commande énumère tous les sujets SNS et vous donne les commandes pour vous abonner à un sujet ou envoyer des messages à un sujet (si vous disposez des autorisations nécessaires). Cette commande ne traite que des sujets, et non de la fonctionnalité SMS. Elle tente également de résumer les politiques de ressources des sujets si elles existent. |
| AWS | sqs | Cette commande énumère toutes les files d’attente SQS et vous donne les commandes pour recevoir des messages d’une file d’attente et envoyer des messages à une file d’attente (si vous disposez des autorisations nécessaires). Elle tente également de résumer les politiques de ressources des files d’attente si elles existent. |
| AWS | tags | Liste toutes les ressources avec leurs étiquettes, et toutes les étiquettes. Cela peut être utilisé de manière similaire à l’inventaire comme une autre méthode pour identifier les types de ressources existant dans un compte. |
| AWS | workloads | Liste toutes les charges de travail de calcul et le rôle qu’elles ont. Indique si l’un des rôles est administrateur (mauvais) et si vous disposez de données pmapper localement, il vous indiquera si l’un des rôles peut s’élever jusqu’à administrateur (également mauvais). |
| AWS | ds | Liste tous les répertoires gérés par AWS et leurs attributs. Résume également les approbations actuelles avec leurs directions et types. |
| Fournisseur | Nom de la commande | Description |
|---|
| Azure | whoami | Affiche les informations sur le locataire, les abonnements et les groupes de ressources disponibles pour votre session Azure CLI actuelle. Utile pour prendre conscience de la situation quant aux identifiants du locataire et des abonnements à utiliser avec les autres sous-commandes. |
| Azure | inventory | Affiche un tableau d’inventaire de toutes les ressources par emplacement. |
| Azure | rbac | Liste les attributions de rôles Azure RBAC au niveau de l’abonnement ou du locataire. |
| Azure | storage | La commande storage est encore en développement. Actuellement, elle n’affiche que des données limitées sur les comptes de stockage. |
| Azure | vms | Énumère les informations utiles pour les instances Compute dans tous les groupes de ressources et abonnements disponibles. |
inventory et pour CloudFox en général