CloudFox

Cloud & Container Security v2.0.5 · 26.05.2026 активный

Инструмент для обнаружения attack surface в облачных окружениях от BishopFox. Поддерживает AWS, Azure, GCP. Находит: доступные endpoints, IAM-привилегии, секреты в env-переменных Lambda, конфигурации VPC, пути эскалации привилегий. Написан на Go, единый бинарник.

v2.0.5
26.05.2026 current
Добавлен 13.07.2026 · Обновлён 13.07.2026 · Cloud & Container Security
Установка
# Скачать релиз:
https://github.com/BishopFox/cloudfox/releases
cloudfox aws --profile default all-checks
переведено ИИ

:fox_face: CloudFox :fox_face:

CloudFox помогает получить ситуативное понимание в незнакомых облачных средах. Это инструмент с открытым исходным кодом, созданный для помощи специалистам по пентесту и другим профессионалам в области атакующей безопасности в поиске эксплуатируемых путей атак в облачной инфраструктуре.

ТРЕБУЕТСЯ ОБНОВЛЕНИЕ CLOUDFOX: (12/2025): Если вы используете cloudfox, вам необходимо использовать версию v1.17.0 или выше. Все более ранние версии перестали работать после изменения формата в файле публичного маппинга сервисов AWS.

Обзор

CloudFox помогает ответить на следующие распространенные вопросы (и многие другие):

  • Какие регионы использует эта учетная запись AWS и примерно сколько ресурсов в ней находится?
  • Какие секреты скрываются в пользовательских данных EC2 или специфических переменных окружения сервисов?
  • Какие рабочие нагрузки имеют прикрепленные административные разрешения?
  • Какие действия/разрешения имеет этот [принципал]?
  • Какие доверия ролей избыточно разрешительны или допускают кросс-аккаунтное принятие (cross-account assumption)?
  • Какие эндпоинты/имена хостов/IP-адреса я могу атаковать с внешней точки входа (публичный интернет)?
  • Какие эндпоинты/имена хостов/IP-адреса я могу атаковать с внутренней точки входа (предполагаемое нарушение внутри VPC)?
  • Какие файловые системы я потенциально могу смонтировать с скомпрометированного ресурса внутри VPC?

Демонстрации, Примеры, Пошаговые руководства

Источник уязвимостей для обучения (Намеренно Уязвимая Песочница)

Хотите обсудить CloudFox?

Присоединяйтесь к нам на сервере RedSec в Discord

Быстрый старт

CloudFox модульный (вы можете запускать по одной команде за раз), но есть команда aws all-checks, которая запустит другие команды aws за вас с разумными настройками по умолчанию:

cloudfox aws --profile [имя-профиля] all-checks

Перечисление в белом ящике

CloudFox был разработан для выполнения принципиалом с ограниченными правами только на чтение, но его цель — помочь вам найти пути атак, которые могут быть использованы в сценариях симулированного компрометирования (также известного как пентест на основе целей).

Перечисление в черном ящике

CloudFox может использоваться с "найденными" учетными данными, аналогично тому, как вы бы использовали weirdAAL или enumerate-iam. Проверки, которые завершаются неудачей, делают это молча, поэтому любой возвращаемый означает, что ваши "найденные" учетные данные имеют необходимый доступ для его получения.

Документация

Полную документацию см. в нашей вики.

Поддерживаемые облачные провайдеры

Провайдер Команды CloudFox
AWS 34
Azure 4
GCP 60
Kubernetes Поддержка запланирована

Установка

Вариант 1: Скачайте последний бинарный релиз для вашей платформы.

Вариант 2: Если вы используете homebrew: brew install cloudfox

Вариант 3: Установите Go, используйте go install github.com/BishopFox/cloudfox@latest для установки из удаленного источника.

Вариант 4: Режим разработчика:

Установите Go, клонируйте репозиторий CloudFox и соберите из исходного кода. # git clone https://github.com/BishopFox/cloudfox.git # cd ./cloudfox # Внесите любые необходимые изменения # go build . # ./cloudfox

Вариант 5: Тестирование исправления ошибки git clone git@github.com:BishopFox/cloudfox.git git checkout seth-dev go build . ./cloudfox [остальные параметры команды]

Предварительные требования

AWS

  • Установлен AWS CLI
  • Поддерживает профили AWS, переменные окружения AWS или получение метаданных (на инстансе ec2)
  • Для запуска команд сразу для нескольких профилей вы можете указать путь к файлу со списком имен профилей, разделенных новой строкой, с помощью флага -l или передать все сохраненные профили с помощью флага -a.
  • Принципиал с прикрепленной одной из рекомендуемых политик (описаны ниже)
  • Рекомендуемые прикрепленные политики: SecurityAudit + Пользовательская политика CloudFox

Дополнительные примечания к политикам (по состоянию на 09/2022):

Политика Примечания
Пользовательская политика CloudFox Содержит полный список всех разрешений, используемых cloudfox, и ничего больше
arn:aws:iam::aws:policy/SecurityAudit Покрывает большинство проверок cloudfox, но отсутствуют более новые сервисы или разрешения, такие как apprunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices
arn:aws:iam::aws:policy/job-function/ViewOnlyAccess Покрывает большинство проверок cloudfox, но отсутствуют более новые сервисы или разрешения, такие как AppRunner:*, grafana:*, lambda:GetFunctionURL, lightsail:GetContainerServices - и также отсутствует iam:SimulatePrincipalPolicy.
arn:aws:iam::aws:policy/ReadOnlyAccess Отсутствует только AppRunner, но также предоставляет такие вещи, как "s3:Get*", которые могут быть избыточно разрешительными.
arn:aws:iam::aws:policy/AdministratorAccess Будет отлично работать с CloudFox, но если вам передали такой уровень доступа как специалисту по пентесту, это, вероятно, само по себе должно быть находкой :)

Azure

  • Применены права зрителя или аналогичные разрешения.

GCP

  • Установлен и аутентифицирован Google Cloud SDK
  • Настроены Учетные данные по умолчанию для приложений (gcloud auth application-default login)
  • Рекомендуемые разрешения на соответствующих уровнях иерархии (см. ниже)

Разрешения GCP: Минимальные vs Полные

Минимальные разрешения (один проект):

Для базового перечисления одного проекта роль roles/viewer предоставляет доступ на чтение к большинству ресурсов (включает просмотр логов, мониторинга и вычислительных/сетевых ресурсов).

Полные разрешения (на всю организацию):

Для тщательной оценки безопасности по всей организации:

Область Роль Назначение
Организация roles/resourcemanager.organizationViewer Просмотр структуры и метаданных организации
Организация roles/iam.securityReviewer Просмотр политик IAM по всей организации
Организация roles/cloudasset.viewer Запрос к Реестру облачных ресурсов по всем ресурсам
Организация roles/cloudidentity.groupsViewer Перечисление групп Google и членства
Папка roles/resourcemanager.folderViewer Просмотр иерархии папок и метаданных
Проект roles/viewer Доступ на чтение к большинству ресурсов проекта (включает logging.viewer, monitoring.viewer, compute.viewer)
Проект для инструментов roles/serviceusage.serviceUsageAdmin (Необязательно) Управление квотами API для операций CloudFox

Примечание: Базовая роль roles/viewer включает разрешения из roles/logging.viewer, roles/monitoring.viewer и roles/compute.networkViewer, поэтому их не нужно предоставлять отдельно.

Требования к API GCP

API должны быть включены в каждом проекте, который вы хотите оценить. API GCP привязаны к проектам.

API Имя сервиса Назначение
Cloud Identity API cloudidentity.googleapis.com Перечисление групп, анализ унаследованных ролей
Cloud Asset API cloudasset.googleapis.com Межпроектное обнаружение ресурсов
Cloud Resource Manager API cloudresourcemanager.googleapis.com Маппинг организации, перечисление IAM
IAM API iam.googleapis.com Анализ IAM, обнаружение повышения привилегий
Compute Engine API compute.googleapis.com Перечисление инстансов, сетевая безопасность
Secret Manager API secretmanager.googleapis.com Перечисление секретов
Cloud Functions API cloudfunctions.googleapis.com Перечисление серверлесс-функций
Cloud Run API run.googleapis.com Перечисление серверлесс-сервисов
Kubernetes Engine API container.googleapis.com Анализ безопасности контейнеров
BigQuery API bigquery.googleapis.com Анализ безопасности данных

Подробные инструкции по настройке см. в Руководстве по настройке GCP.

Команды AWS

Провайдер Название команды Описание
AWS all-checks Запустите все остальные команды, используя разумные настройки по умолчанию. Вам всё равно стоит изучить нестандартные опции каждой команды, но это отличная отправная точка.
AWS access-keys Выводит активные ключи доступа для всех пользователей. Полезно для сопоставления найденного ключа с соответствующим аккаунтом в пределах диапазона.
AWS api-gw Выводит конечные точки API-шлюзов и предоставляет пользовательские команды curl, включая токены API, если они хранятся в метаданных.
AWS buckets Выводит бакеты в аккаунте и предоставляет удобные команды для их дальнейшей проверки.
AWS cape Перечисляет пути повышения привилегий между аккаунтами. Требует предварительного запуска pmapper
AWS cloudformation Выводит стеки CloudFormation в аккаунте. Генерирует файл с добычей (loot), содержащий детали стека, параметры и выводы - ищите секреты.
AWS codebuild Перечисляет проекты CodeBuild
AWS databases Перечисляет базы данных RDS. Получает файл с добычей, содержащий строки подключения.
AWS ecr Выводит URI недавно загруженного образа из всех репозиториев. Используйте файл с добычей для загрузки выбранных образов с помощью docker/nerdctl для проверки.
AWS ecs-tasks Выводит все задачи ECS. Возвращает список задач ECS и связанные с ними кластеры, определения задач, экземпляры контейнеров, типы запуска и связанные IAM-принципалы.
AWS eks Выводит все кластеры EKS, проверяет, открыт ли их эндпоинт публично, и проверяет связанные IAM-роли для каждого кластера или группы узлов. Генерирует файл с добычей, содержащий команду aws eks update-kubeconfig, необходимую для подключения к каждому кластеру.
AWS elastic-network-interfaces Выводит информацию обо всех ENI. Возвращает список идентификаторов ENI, типов, внешних IP, частных IP, ID VPC, подключенных экземпляров и описаний.
AWS endpoints Перечисляет конечные точки различных сервисов. Проверяйте эти конечные точки как с внутренней, так и с внешней позиции, ища те, которые не требуют аутентификации, неправильно настроены и т.д.
AWS env-vars Забирает переменные окружения из сервисов, которые их поддерживают (App Runner, ECS, Lambda, контейнеры Lightsail, Sagemaker). Если вы обнаружите чувствительный секрет, используйте cloudfox iam-simulator И pmapper, чтобы узнать, кто имеет к нему доступ.
AWS filesystems Перечисляет файловые системы EFS и FSx, которые вы можете смонтировать без учетных данных (если у вас есть правильный сетевой доступ). Например, это полезно, когда у вас есть ec:RunInstance, но нет iam:PassRole.
AWS iam-simulator Аналог pmapper, но использует симулятор политик IAM. Он использует логику оценки AWS, но, что важно, не учитывает транзитный доступ через повышение привилегий, поэтому вы также всегда должны использовать pmapper.
AWS instances Перечисляет полезную информацию о экземплярах EC2 во всех регионах, такую как имя, публичные/частные IP и профили экземпляров. Генерирует файлы с добычей, которые можно подать на nmap и другие инструменты для перечисления сервисов.
AWS inventory Получает примерное представление о размере аккаунта и предпочтительных регионах.
AWS lambda Выводит функции Lambda в аккаунте, включая те, к которым прикреплены административные роли. Также предоставляет удобные команды для загрузки каждой функции.
AWS network-ports Перечисляет сервисы AWS, которые потенциально могут предоставлять сетевую службу. Для каждого ресурса проверяются группы безопасности и сетевые ACL для определения того, какие порты потенциально открыты.
AWS orgs Перечисляет аккаунты в организации
AWS outbound-assumed-roles Выводит роли, которые были приняты принципалами в этом аккаунте. Это отличный способ найти исходящие пути атак, ведущие в другие аккаунты.
AWS permissions Перечисляет разрешения IAM, связанные со всеми пользователями и ролями. Используйте grep по этому выводу, чтобы понять, какие разрешения имеет конкретный принципал, вместо того чтобы входить в консоль AWS и утомительно раскрывать каждую прикрепленную к исследуемому принципалу политику.
AWS pmapper Ищет данные pmapper, сохраненные на локальной файловой системе, в местах, определенных здесь. Если данные pmapper были найдены (вы уже выполнили pmapper graph create), эта команда использует эти данные для построения графа в памяти cloudfox и сообщает, кто может повысить привилегии до администратора.
AWS principals Перечисляет IAM-пользователей и роли, чтобы данные были у вас под рукой.
AWS ram Выводит все ресурсы в этом аккаунте, которые расшарены с другими аккаунтами, или ресурсы из других аккаунтов, расшаренные с этим аккаунтом. Полезно для межаккаунтовых путей атак.
AWS resource-trusts Просматривает несколько сервисов, поддерживающих политики ресурсов, и помогает найти любые чрезмерно разрешительные доверия к ресурсам. KMS поддерживается, но отключен по умолчанию. Чтобы включить политики ресурсов KMS в вывод, добавьте этот флаг к команде: cloudfox aws resource-trusts --include-kms.
AWS role-trusts Перечисляет политики доверия IAM-ролей, чтобы вы могли искать чрезмерно разрешительные доверия к ролям или находить роли, которым доверяет конкретный сервис.
AWS route53 Перечисляет все записи из всех управляемых зон Route53. Используйте это для перечисления приложений и сервисов.
AWS secrets Выводит секреты из SecretsManager и SSM. Ищите интересные секреты в списке, а затем с помощью cloudfox iam-simulator и/или pmapper проверяйте, кто имеет к ним доступ.
AWS sns Эта команда перечисляет все темы SNS и предоставляет команды для подписки на тему или отправки сообщений в тему (если у вас есть необходимые разрешения). Эта команда работает только с темами, а не с функциональностью SMS. Команда также пытается подвести итог политикам ресурсов тем, если они существуют.
AWS sqs Эта команда перечисляет все очереди SQS и предоставляет команды для получения сообщений из очереди и отправки сообщений в очередь (если у вас есть необходимые разрешения). Команда также пытается подвести итог политикам ресурсов очередей, если они существуют.
AWS tags Выводит все ресурсы с тегами и все теги. Это можно использовать аналогично инвентарю как другой метод для определения типов ресурсов, существующих в аккаунте.
AWS workloads Выводит все вычислительные рабочие нагрузки и их роли. Сообщает, являются ли какие-либо роли администраторскими (плохо), и если у вас есть локальные данные pmapper, сообщает, может ли какая-либо роль повысить привилегии до администратора (тоже плохо).
AWS ds Выводит все управляемые AWS каталоги и их атрибуты. Также подводит итог текущим довериям с указанием их направлений и типов.
# Команды Azure
Провайдер Имя команды Описание
Azure whoami Отображает информацию о tenant, подписках и группах ресурсов, доступных вашей текущей сессии Azure CLI. Это полезно для понимания контекста — каких tenant и идентификаторов подписок использовать с другими подкомандами.
Azure inventory Отображает таблицу-инвентарь всех ресурсов по локациям.
Azure rbac Перечисляет назначения ролей Azure RBAC на уровне подписки или tenant
Azure storage Команда storage все еще в разработке. В настоящее время она отображает только ограниченные данные о хранилищах данных
Azure vms Перечисляет полезную информацию об экземплярах Compute во всех доступных группах ресурсов и подписках

Команды GCP

Подробную документацию по каждой команде GCP см. в Вики команд GCP.

Провайдер Имя команды Описание
GCP whoami Отображает контекст удостоверения для аутентифицированного пользователя/сервисного аккаунта GCP
GCP iam Перечисляет субъекты IAM GCP в организациях, папках и проектах
GCP permissions Перечисляет ВСЕ разрешения для каждой сущности IAM с полным взрывом наследования
GCP serviceaccounts Перечисляет сервисные аккаунты GCP с анализом безопасности
GCP service-agents Перечисляет управляемые Google сервисные агенты
GCP keys Перечисляет все ключи GCP (ключи СА, HMAC-ключи, API-ключи)
GCP resource-iam Перечисляет политики IAM на ресурсах GCP (бакеты, наборы данных, секреты и т.д.)
GCP domain-wide-delegation Находит сервисные аккаунты с делегированием на уровне домена для Google Workspace
GCP privesc Определяет пути повышения привилегий в проектах GCP
GCP hidden-admins Определяет субъекты, которые могут изменять политики IAM (скрытые администраторы)
GCP identity-federation Перечисляет Workload Identity Federation (внешние субъекты)
GCP instances Перечисляет экземпляры GCP Compute Engine с конфигурацией безопасности
GCP gke Перечисляет кластеры GKE с анализом безопасности
GCP cloudrun Перечисляет сервисы и задачи Cloud Run с анализом безопасности
GCP functions Перечисляет GCP Cloud Functions с анализом безопасности
GCP app-engine Перечисляет приложения App Engine и конфигурации безопасности
GCP composer Перечисляет среды Cloud Composer
GCP dataproc Перечисляет кластеры Dataproc
GCP dataflow Перечисляет задачи и конвейеры Dataflow
GCP notebooks Перечисляет блокноты Vertex AI Workbench
GCP workload-identity Перечисляет Workload Identity и Workload Identity Federation в GKE
GCP inventory Быстрый инвентарь ресурсов — работает без API Cloud Asset
GCP storage Перечисляет бакеты GCP Cloud Storage с конфигурацией безопасности
GCP storage-enum Перечисляет бакеты GCS для поиска чувствительных файлов (учетные данные, секреты, конфигурации)
GCP bigquery Перечисляет наборы данных и таблицы GCP BigQuery с анализом безопасности
GCP cloudsql Перечисляет экземпляры Cloud SQL с анализом безопасности
GCP spanner Перечисляет экземпляры и базы данных Cloud Spanner
GCP bigtable Перечисляет экземпляры и таблицы Cloud Bigtable
GCP filestore Перечисляет экземпляры Filestore NFS
GCP memorystore Перечисляет экземпляры Memorystore (Redis)
GCP vpc-networks Перечисляет сети VPC
GCP firewall Перечисляет сети VPC и правила файрвола с анализом безопасности
GCP loadbalancers Перечисляет балансировщики нагрузки
GCP dns Перечисляет зоны и записи Cloud DNS с анализом безопасности
GCP endpoints Перечисляет все сетевые эндпоинты (внешние и внутренние) с IP-адресами, портами и именами хостов
GCP private-service-connect Перечисляет эндпоинты и вложения сервисов Private Service Connect
GCP network-topology Визуализирует топологию сети VPC, отношения пиринга и границы доверия
GCP vpc-sc Перечисляет VPC Service Controls
GCP access-levels Перечисляет уровни доступа Access Context Manager
GCP cloud-armor Перечисляет политики безопасности Cloud Armor и находит уязвимости
GCP iap Перечисляет конфигурации Identity-Aware Proxy
GCP beyondcorp Перечисляет конфигурации BeyondCorp Enterprise
GCP kms Перечисляет связки ключей и криптографические ключи Cloud KMS с анализом безопасности
GCP secrets Перечисляет секреты GCP Secret Manager с конфигурацией безопасности
GCP cert-manager Перечисляет SSL/TLS-сертификаты и находит истекающие или неправильно настроенные сертификаты
GCP org-policies Перечисляет политики организации и определяет уязвимости безопасности
GCP artifact-registry Перечисляет GCP Artifact Registry и Container Registry с конфигурацией безопасности
GCP cloudbuild Перечисляет триггеры и сборки Cloud Build
GCP source-repos Перечисляет Cloud Source Repositories
GCP scheduler Перечисляет задачи Cloud Scheduler с анализом безопасности
GCP pubsub Перечисляет темы и подписки Pub/Sub с анализом безопасности
GCP logging Перечисляет стоки и метрики Cloud Logging с анализом безопасности
GCP organizations Перечислить иерархию организации GCP
GCP asset-inventory Перечислить Cloud Asset Inventory с опциональным анализом зависимостей
GCP backup-inventory Перечислить политики резервного копирования, защищенные ресурсы и выявить пробелы в резервном копировании
GCP lateral-movement Картировать пути бокового перемещения, векторы кражи учетных данных и возможности для поворота
GCP data-exfiltration Выявить пути выманивания данных, потенциальные векторы и отсутствующее укрепление безопасности
GCP public-access Найти ресурсы с доступом allUsers/allAuthenticatedUsers в 16 сервисах GCP
GCP cross-project Анализировать межпроектные IAM-привязки, стоки логирования и экспорты Pub/Sub для бокового перемещения
GCP foxmapper Запустить FoxMapper (анализ IAM на основе графов) для обнаружения путей повышения привилегий
GCP logging-enum Сканировать записи Cloud Logging на наличие конфиденциальных данных (учетные данные, токены, PII)
GCP bigquery-enum Сканировать наборы данных, таблицы и столбцы BigQuery на наличие индикаторов конфиденциальных данных
GCP bigtable-enum Сканировать экземпляры Bigtable, таблицы и семейства столбцов на наличие индикаторов конфиденциальных данных
GCP spanner-enum Сканировать схемы базы данных Spanner на наличие конфиденциальных имен таблиц и столбцов

Авторы

Участие

Вики - Как участвовать

ЧАСТЫЕ ВОПРОСЫ

Как CloudFox сравнивается с ScoutSuite, Prowler, модулем AWS Compliance от Steampipe, AWS Security Hub и т.д.

CloudFox не создает никаких оповещений или обнаружений и не проверяет ваше окружение на соответствие базовому уровню или эталону. Вместо этого он просто позволяет вам быть более эффективными во время вашей ручной деятельности по тестированию на проникновение. Он дает вам информацию, которая вам, вероятно, понадобится для проверки того, возможен ли путь атаки или нет.

Почему я вижу ошибки в некоторых командах CloudFox?

  • Сервисы, которые не существуют во всех регионах — CloudFox пытается несколькими способами определить, какие сервисы поддерживаются в каждом регионе. Однако некоторые сервисы не поддерживают методы, используемые CloudFox, поэтому CloudFox по умолчанию просто запрашивает каждый регион о сервисе. Регионы, которые не поддерживают сервис, вернут ошибки.
  • У вас нет разрешений — Еще одна причина, по которой вы можете видеть ошибки, если у вас нет разрешений на вызовы, которые делает CloudFox. Либо потому, что политика не разрешает их (например, SecurityAudit не разрешает все разрешения, которые нужны CloudFox). Или это может быть SCP, который вас блокирует.

Вы всегда можете заглянуть в файл ~/.cloudfox/cloudfox-error.log, чтобы получить больше информации об ошибках.

Предшествующая работа и другие связанные проекты

  • SmogCloud — Вдохновение для команды endpoints
  • AWS Exposable Resources от SummitRoute — Вдохновение для команды endpoints
  • Steampipe — Мы использовали steampipe для прототипирования многих команд cloudfox. Хотя CloudFox сфокусирован на помощи тестировщикам на проникновение в облаке, steampipe — это простой способ запросить любые и все ваши облачные ресурсы.
  • Principal Mapper — Вдохновение для команды iam-simulator и настоятельно рекомендуемый инструмент-партнер для неё.
  • Cloudsplaining — Вдохновение для команды permissions.
  • ScoutSuite — Отличный инструмент для бенчмарков безопасности облака. Послужил вдохновением для функциональности --userdata в команде instances, команды permissions и многих других.
  • Prowler — Ещё один отличный инструмент для бенчмарков безопасности облака.
  • Pacu — Отличный инструмент для тестирования на проникновение в облаке. PACU имеет довольно много команд перечисления, аналогичных CloudFox, и множество других команд, которые автоматизируют задачи эксплуатации (от чего CloudFox по дизайну уклоняется).
  • CloudMapper — Вдохновение для команды inventory и в целом для CloudFox как проекта.
Комментарии
Войдите, чтобы оставить комментарий