
Automatizando la conciencia situacional para pruebas de penetración en la nube.
CloudFox te ayuda a obtener conciencia situacional en entornos de nube desconocidos. Es una herramienta de línea de comandos de código abierto creada para ayudar a testers de penetración y otros profesionales de seguridad ofensiva a encontrar rutas de ataque explotables en infraestructura en la nube.
ACTUALIZACIÓN REQUERIDA DE CLOUDFOX: (12/2025): Si estás usando
cloudfox, necesitas usar la versión v1.17.0 o superior. Todas las versiones anteriores dejaron de funcionar después de un cambio de formato en el archivo de mapeo de servicios públicos de AWS.
Resumen
Únete a nosotros en el servidor de Discord de RedSec
CloudFox es modular (puedes ejecutar un comando a la vez), pero hay un comando aws all-checks que ejecutará los demás comandos de AWS por ti con valores predeterminados sensatos:
cloudfox aws --profile [nombre-del-perfil] all-checks

CloudFox fue diseñado para ser ejecutado por un principal con permisos limitados de solo lectura, pero su propósito es ayudarte a encontrar rutas de ataque que puedan ser explotadas en escenarios de compromiso simulados (también conocido como pruebas de penetración basadas en objetivos).
CloudFox puede usarse con credenciales "encontradas", de manera similar a como usarías weirdAAL o enumerate-iam. Las comprobaciones que fallan lo hacen en silencio, por lo que cualquier dato devuelto significa que tus credenciales "encontradas" tienen el acceso necesario para recuperarlo.
Para la documentación completa, consulta nuestra wiki.
| Proveedor | Comandos de CloudFox |
|---|---|
| AWS | 34 |
| Azure | 4 |
| GCP | 60 |
| Kubernetes | Planificado |
Opción 1: Descarga la última versión binaria para tu plataforma.
Opción 2: Si usas homebrew: brew install cloudfox
Opción 3: Instala Go, usa go install github.com/BishopFox/cloudfox@latest para instalar desde la fuente remota.
Opción 4: Modo desarrollador:
Instala Go, clona el repositorio de CloudFox y compila desde el código fuente. ```
**Opción 5:** Probando una corrección de errores ```
git clone [email protected]:BishopFox/cloudfox.git
git checkout seth-dev
go build .
./cloudfox [rest of the command options]
-l o pasar todos los perfiles almacenados con el indicador -a.SecurityAudit + Política personalizada de CloudFoxNotas adicionales sobre las políticas (a partir de 09/2022):
gcloud auth application-default login)Permisos Mínimos (Proyecto único):
Para la enumeración básica de un solo proyecto, el rol roles/viewer proporciona acceso de lectura a la mayoría de los recursos (incluye registro, monitoreo y visualización de cómputo/red).
Permisos Completo (A nivel de organización):
Para evaluaciones de seguridad exhaustivas en toda una organización:
Nota: El rol básico
roles/viewerincluye permisos deroles/logging.viewer,roles/monitoring.vieweryroles/compute.networkViewer, por lo que no es necesario otorgarlos por separado.
Las API deben estar habilitadas en cada proyecto que desee evaluar. Las API de GCP están limitadas al proyecto.
Para instrucciones de configuración detalladas, consulte la Guía de configuración de GCP.
Para obtener documentación detallada sobre cada comando de GCP, consulte la Wiki de comandos de GCP.| Proveedor | Nombre del Comando | Descripción | - | - | - | | GCP | whoami | Muestra el contexto de identidad para el usuario autenticado/cuenta de servicio de GCP | | GCP | iam | Enumera los principales de IAM de GCP en organizaciones, carpetas y proyectos | | GCP | permissions | Enumera TODOS los permisos para cada entidad IAM con explosión completa de herencia | | GCP | serviceaccounts | Enumera las cuentas de servicio de GCP con análisis de seguridad | | GCP | service-agents | Enumera los agentes de servicio administrados por Google | | GCP | keys | Enumera todas las claves de GCP (claves de SA, claves HMAC, claves API) | | GCP | resource-iam | Enumera las políticas IAM en recursos de GCP (buckets, conjuntos de datos, secretos, etc.) | | GCP | domain-wide-delegation | Encuentra cuentas de servicio con Delegación de Todo el Dominio a Google Workspace | | GCP | privesc | Identifica rutas de escalada de privilegios en proyectos de GCP | | GCP | hidden-admins | Identifica principales que pueden modificar políticas IAM (administradores ocultos) | | GCP | identity-federation | Enumera la Federación de Identidades de Carga de Trabajo (identidades externas) | | GCP | instances | Enumera instancias de Compute Engine de GCP con configuración de seguridad | | GCP | gke | Enumera clústeres de GKE con análisis de seguridad | | GCP | cloudrun | Enumera servicios y trabajos de Cloud Run con análisis de seguridad | | GCP | | Enumera Cloud Functions de GCP con análisis de seguridad | | GCP | | Enumera aplicaciones de App Engine y configuraciones de seguridad | | GCP | | Enumera entornos de Cloud Composer | | GCP | | Enumera clústeres de Dataproc | | GCP | | Enumera trabajos y pipelines de Dataflow | | GCP | | Enumera notebooks de Vertex AI Workbench | | GCP | | Enumera la Identidad de Carga de Trabajo de GKE y la Federación de Identidades de Carga de Trabajo | | GCP | | Inventario rápido de recursos - funciona sin la API de Cloud Asset | | GCP | | Enumera buckets de Cloud Storage de GCP con configuración de seguridad | | GCP | | Enumera buckets de GCS en busca de archivos sensibles (credenciales, secretos, configuraciones) | | GCP | | Enumera conjuntos de datos y tablas de BigQuery de GCP con análisis de seguridad | | GCP | | Enumera instancias de Cloud SQL con análisis de seguridad | | GCP | | Enumera instancias y bases de datos de Cloud Spanner | | GCP | | Enumera instancias y tablas de Cloud Bigtable | | GCP | | Enumera instancias de Filestore NFS | | GCP | | Enumera instancias de Memorystore (Redis) | | GCP | | Enumera redes VPC | | GCP | | Enumera redes VPC y reglas de firewall con análisis de seguridad | | GCP | | Enumera equilibradores de carga | | GCP | | Enumera zonas y registros de Cloud DNS con análisis de seguridad | | GCP | | Enumera todos los puntos finales de red (externos e internos) con IPs, puertos y nombres de host | | GCP | | Enumera puntos finales de Private Service Connect y adjuntos de servicio | | GCP | | Visualiza la topología de la red VPC, relaciones de interconexión y límites de confianza | | GCP | | Enumera Controles de Servicio VPC | | GCP | | Enumera niveles de acceso de Access Context Manager | | GCP | | Enumera políticas de seguridad de Cloud Armor y encuentra debilidades | | GCP | | Enumera configuraciones de Identity-Aware Proxy | | GCP | | Enumera configuraciones de BeyondCorp Enterprise | | GCP | | Enumera anillos de claves y claves criptográficas de Cloud KMS con análisis de seguridad | | GCP | | Enumera secretos de Secret Manager de GCP con configuración de seguridad | | GCP | | Enumera certificados SSL/TLS y encuentra certificados que expiran o mal configurados | | GCP | | Enumera políticas de organización e identifica debilidades de seguridad | | GCP | | Enumera Artifact Registry y Container Registry de GCP con configuración de seguridad | | GCP | | Enumera disparadores y compilaciones de Cloud Build | | GCP | | Enumera repositorios de Cloud Source Repositories | | GCP | | Enumera trabajos de Cloud Scheduler con análisis de seguridad | | GCP | | Enumera temas y suscripciones de Pub/Sub con análisis de seguridad | | GCP | | Enumera sumideros y métricas de Cloud Logging con análisis de seguridad | | GCP | | Enumera la jerarquía de organización de GCP | | GCP | | Enumera Cloud Asset Inventory con análisis opcional de dependencias | | GCP | | Enumera políticas de respaldo, recursos protegidos e identifica brechas de respaldo | | GCP | | Mapea rutas de movimiento lateral, vectores de robo de credenciales y oportunidades de pivoteo | | GCP | | Identifica rutas de exfiltración de datos, vectores potenciales y falta de endurecimiento de seguridad | | GCP | | Encuentra recursos con acceso allUsers/allAuthenticatedUsers en 16 servicios de GCP | | GCP | | Analiza enlaces IAM entre proyectos, sumideros de logging y exportaciones de Pub/Sub para movimiento lateral | | GCP | | Ejecuta FoxMapper (análisis IAM basado en grafos) para descubrimiento de rutas de escalada de privilegios | | GCP | | Escanea entradas de Cloud Logging en busca de datos sensibles (credenciales, tokens, PII) | | GCP | | Escanea conjuntos de datos, tablas y columnas de BigQuery en busca de indicadores de datos sensibles | | GCP | | Escanea instancias, tablas y familias de columnas de Bigtable en busca de indicadores de datos sensibles | | GCP | | Escanea esquemas de bases de datos de Spanner en busca de nombres de tablas y columnas sensibles |
¿Cómo se compara CloudFox con ScoutSuite, Prowler, Módulo de Cumplimiento AWS de Steampipe, AWS Security Hub, etc.?
CloudFox no genera alertas ni hallazgos, y no verifica su entorno para determinar el cumplimiento de una línea base o punto de referencia. En cambio, simplemente le permite ser más eficiente durante sus actividades de pruebas de penetración manuales. Le brinda la información que probablemente necesitará para validar si una ruta de ataque es posible o no.
¿Por qué veo errores en algunos comandos de CloudFox?
Siempre puede consultar el archivo ~/.cloudfox/cloudfox-error.log para obtener más información sobre los errores.
endpointsendpointsiam-simulatorpermissions--userdata en el comando instances, el comando permissions y muchos otros.| Política | Notas |
|---|
| Política personalizada de CloudFox | Tiene una lista completa de cada permiso que cloudfox utiliza y nada más |
arn:aws:iam::aws:policy/SecurityAudit | Cubre la mayoría de las comprobaciones de cloudfox pero faltan servicios o permisos más nuevos como apprunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices |
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess | Cubre la mayoría de las comprobaciones de cloudfox pero faltan servicios o permisos más nuevos como AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices - y también falta iam:SimulatePrincipalPolicy. |
arn:aws:iam::aws:policy/ReadOnlyAccess | Solo falta AppRunner, pero también concede cosas como "s3:Get*" que pueden ser demasiado permisivas. |
arn:aws:iam::aws:policy/AdministratorAccess | Esto funcionará perfectamente con CloudFox, pero si se le otorgó este nivel de acceso como probador de penetración, eso probablemente debería ser un hallazgo en sí mismo :) |
| Ámbito | Rol | Propósito |
|---|
| Organización | roles/resourcemanager.organizationViewer | Ver la estructura y metadatos de la organización |
| Organización | roles/iam.securityReviewer | Revisar las políticas de IAM en toda la organización |
| Organización | roles/cloudasset.viewer | Consultar el inventario de activos en la nube para todos los recursos |
| Organización | roles/cloudidentity.groupsViewer | Enumerar grupos de Google y membresías |
| Carpeta | roles/resourcemanager.folderViewer | Ver la jerarquía de carpetas y metadatos |
| Proyecto | roles/viewer | Acceso de lectura a la mayoría de los recursos del proyecto (incluye logging.viewer, monitoring.viewer, compute.viewer) |
| Proyecto de herramientas | roles/serviceusage.serviceUsageAdmin | (Opcional) Gestionar cuotas de API para operaciones de CloudFox |
| API | Nombre del servicio | Propósito |
|---|
| Cloud Identity API | cloudidentity.googleapis.com | Enumeración de grupos, análisis de roles heredados |
| Cloud Asset API | cloudasset.googleapis.com | Descubrimiento de recursos entre proyectos |
| Cloud Resource Manager API | cloudresourcemanager.googleapis.com | Mapeo de organización, enumeración de IAM |
| IAM API | iam.googleapis.com | Análisis de IAM, detección de escalada de privilegios |
| Compute Engine API | compute.googleapis.com | Enumeración de instancias, seguridad de red |
| Secret Manager API | secretmanager.googleapis.com | Enumeración de secretos |
| Cloud Functions API | cloudfunctions.googleapis.com | Enumeración sin servidor |
| Cloud Run API | run.googleapis.com | Enumeración sin servidor |
| Kubernetes Engine API | container.googleapis.com | Análisis de seguridad de contenedores |
| BigQuery API | bigquery.googleapis.com | Análisis de seguridad de datos |
| Proveedor | Nombre del comando | Descripción |
|---|
| AWS | all-checks | Ejecuta todos los demás comandos usando valores predeterminados razonables. Aún querrá revisar las opciones no predeterminadas de cada comando, pero este es un excelente lugar para comenzar. |
| AWS | access-keys | Lista las claves de acceso activas de todos los usuarios. Útil para referenciar de forma cruzada una clave que encontró con la cuenta dentro del alcance a la que pertenece. |
| AWS | api-gw | Lista los puntos finales de API Gateway y le proporciona comandos curl personalizados, incluidos los tokens de API si están almacenados en metadatos. |
| AWS | buckets | Lista los buckets en la cuenta y le proporciona comandos útiles para inspeccionarlos más a fondo. |
| AWS | cape | Enumera las rutas de escalada de privilegios entre cuentas. Requiere que se ejecute pmapper primero |
| AWS | cloudformation | Lista las pilas de cloudformation en la cuenta. Genera un archivo de botín con detalles de la pila, parámetros de la pila y salida de la pila - busque secretos. |
| AWS | codebuild | Enumera los proyectos de CodeBuild |
| AWS | databases | Enumera las bases de datos RDS. Obtenga un archivo de botín con cadenas de conexión. |
| AWS | ecr | Lista el URI de la imagen más reciente enviada de todos los repositorios. Use el archivo de botín para descargar imágenes seleccionadas con docker/nerdctl para su inspección. |
| AWS | ecs-tasks | Lista todas las tareas de ecs. Esto devuelve una lista de tareas ecs y el clúster, la definición de tarea, la instancia de contenedor, el tipo de lanzamiento y la entidad principal de IAM asociados. |
| AWS | eks | Lista todos los clústeres EKS, verifica si exponen su punto final públicamente y revisa los roles de IAM asociados adjuntos para llegar al clúster o grupo de nodos. Genera un archivo de botín con el comando aws eks udpate-kubeconfig necesario para conectarse a cada clúster. |
| AWS | elastic-network-interfaces | Lista toda la información de las eni. Esto devuelve una lista de ID de eni, tipo, IP externa, IP privada, ID de VPC, instancia adjunta y una descripción. |
| AWS | endpoints | Enumera puntos finales de varios servicios. Escanee estos puntos finales tanto desde una posición interna como externa para buscar cosas que no requieran autenticación, estén mal configuradas, etc. |
| AWS | env-vars | Obtiene las variables de entorno de servicios que las tienen (App Runner, ECS, Lambda, contenedores de Lightsail, Sagemaker son compatibles. Si encuentra un secreto sensible, use cloudfox iam-simulator Y pmapper para ver quién tiene acceso a ellos. |
| AWS | filesystems | Enumera los sistemas de archivos EFS y FSx que podría montar sin credenciales (si tiene el acceso de red adecuado). Por ejemplo, esto es útil cuando tiene ec:RunInstance pero no iam:PassRole. |
| AWS | iam-simulator | Similar a pmapper, pero utiliza el simulador de políticas de IAM. Utiliza la lógica de evaluación de AWS, pero notablemente no considera el acceso transitivo a través de escalada de privilegios, por lo que también debe usar siempre pmapper. |
| AWS | instances | Enumera información útil para instancias EC2 en todas las regiones, como nombre, IPs públicas/privadas y perfiles de instancia. Genera archivos de botín que puede alimentar a nmap y otras herramientas para la enumeración de servicios. |
| AWS | inventory | Obtenga una comprensión aproximada del tamaño de la cuenta y las regiones preferidas. |
| AWS | lambda | Lista las funciones lambda en la cuenta, incluyendo cuáles tienen roles de administrador adjuntos. También le proporciona comandos útiles para descargar cada función. |
| AWS | network-ports | Enumera los servicios de AWS que potencialmente exponen un servicio de red. Los grupos de seguridad y las ACL de red se analizan para cada recurso para determinar qué puertos están potencialmente expuestos. |
| AWS | orgs | Enumera las cuentas en una organización |
| AWS | outbound-assumed-roles | Lista los roles que han sido asumidos por entidades principales en esta cuenta. Esta es una excelente manera de encontrar rutas de ataque salientes que conducen a otras cuentas. |
| AWS | permissions | Enumera los permisos de IAM asociados a todos los usuarios y roles. Busque en esta salida para determinar qué permisos tiene una entidad principal en particular en lugar de iniciar sesión en la consola de AWS y expandir minuciosamente cada política adjunta a la entidad principal que está investigando. |
| AWS | pmapper | Busca datos de pmapper almacenados en el sistema de archivos local, en las ubicaciones definidas aquí. Si se han encontrado datos de pmapper (ya ejecutó pmapper graph create), entonces este comando utilizará estos datos para construir un gráfico en la memoria de cloudfox y le permitirá saber quién puede escalar privilegios a administrador. |
| AWS | principals | Enumera los usuarios y roles de IAM para que tenga los datos a su alcance. |
| AWS | ram | Lista todos los recursos en esta cuenta que se comparten con otras cuentas, o recursos de otras cuentas que se comparten con esta cuenta. Útil para rutas de ataque entre cuentas. |
| AWS | resource-trusts | Revisa múltiples servicios que soportan políticas de recursos y le ayuda a encontrar cualquier confianza de recursos excesivamente permisiva. KMS es compatible pero está deshabilitado por defecto. Para incluir políticas de recursos de KMS en la salida, agregue este indicador al comando: cloudfox aws resource-trusts --include-kms. |
| AWS | role-trusts | Enumera las políticas de confianza de roles de IAM para que pueda buscar confianzas de roles excesivamente permisivas o encontrar roles que confíen en un servicio específico. |
| AWS | route53 | Enumera todos los registros de todas las zonas administradas por route53. Úselo para la enumeración de aplicaciones y servicios. |
| AWS | secrets | Lista secretos de SecretsManager y SSM. Busque secretos interesantes en la lista y luego vea quién tiene acceso a ellos usando cloudfox iam-simulator y/o pmapper. |
| AWS | sns | Este comando enumera todos los temas de sns y le proporciona los comandos para suscribirse a un tema o enviar mensajes a un tema (si tiene los permisos necesarios). Este comando solo trata con temas, no con la funcionalidad de SMS. Este comando también intenta resumir las políticas de recursos de los temas si existen. |
| AWS | sqs | Este comando enumera todas las colas de sqs y le proporciona los comandos para recibir mensajes de una cola y enviar mensajes a una cola (si tiene los permisos necesarios). Este comando también intenta resumir las políticas de recursos de las colas si existen. |
| AWS | tags | Lista todos los recursos con etiquetas y todas las etiquetas. Esto se puede usar de manera similar al inventario como otro método para identificar qué tipos de recursos existen en una cuenta. |
| AWS | workloads | Lista todas las cargas de trabajo de cómputo y qué rol tienen. Indica si alguno de los roles es de administrador (malo) y si tiene datos de pmapper localmente, le indicará si alguno de los roles puede escalar privilegios a administrador (también malo) |
| AWS | ds | Lista todos los directorios administrados por AWS y sus atributos. También resume las confianzas actuales con sus direcciones y tipos. |
| Proveedor | Nombre del comando | Descripción |
|---|
| Azure | whoami | Muestra información sobre el inquilino, las suscripciones y los grupos de recursos disponibles para su sesión actual de Azure CLI. Esto es útil para tener conciencia de la situación sobre qué ID de inquilino y suscripción usar con los otros subcomandos. |
| Azure | inventory | Muestra una tabla de inventario de todos los recursos por ubicación. |
| Azure | rbac | Lista las asignaciones de roles de Azure RBAC a nivel de suscripción o inquilino |
| Azure | storage | El comando de almacenamiento aún está en desarrollo. Actualmente solo muestra datos limitados sobre las cuentas de almacenamiento |
| Azure | vms | Enumera información útil para instancias de Compute en todos los grupos de recursos y suscripciones disponibles |
inventory y en general para CloudFox en su conjunto