Инструмент перечисления Google Cloud Storage бакетов от Rhino Security Labs. Перебирает варианты имён бакетов на основе имени организации/проекта. Проверяет права: публичный доступ, возможность записи, метаданные ACL без аутентификации.
Инструмент проверки конфигурации безопасности AWS/Azure/GCP на соответствие CIS Benchmarks, GDPR, HIPAA, PCI-DSS, NIST. 500+ проверок: открытые …
Мультиоблачный инструмент аудита безопасности от NCC Group. Поддерживает AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud. Анализирует …
Инструмент разведки и атак на Azure Active Directory (часть ROADtools). Собирает полную картину AAD: пользователи, группы, …
Инструмент для обнаружения attack surface в облачных окружениях от BishopFox. Поддерживает AWS, Azure, GCP. Находит: доступные …
git clone https://github.com/RhinoSecurityLabs/GCPBucketBrute cd GCPBucketBrute && pip install -r requirements.txt python3 gcpbucketbrute.py -k keywords.txt
Скрипт для перечисления бакетов Google Cloud Storage, определения ваших прав доступа к ним и проверки возможности повышения привилегий.
TestIamPermissions с предоставленными учетными данными. Это поможет найти бакеты, к которым есть доступ при аутентификации, но нет без неё.TestIamPermissions без аутентификации. Это означает, что если вы не вводите учетные данные, вам будут показаны только привилегии неаутентифицированного пользователя, но если вы вводите учетные данные, вы увидите, какой доступ имеют аутентифицированные пользователи по сравнению с неаутентифицированными.storage.buckets.setIamPolicy) и выведет любую интересную информацию (например, публично листаемые, публично записываемые, листаемые для аутентифицированных, повышение привилегий и т.д.).subprocess, из-за чего он выходит из строя при использовании аутентифицированного Google-клиента.git clone https://github.com/RhinoSecurityLabs/GCPBucketBrute.gitcd GCPBucketBrute/pip3 install -r requirements.txt или python3 -m pip install -r requirements.txtСначала определите тип аутентификации, который вы хотите использовать для перечисления: учетная запись пользователя, сервисная учетная запись или без аутентификации. Если вы используете сервисную учетную запись, укажите путь к файлу с приватным ключом с помощью аргумента -f/--service-account-credential-file-path. Если вы используете учетную запись пользователя, не передавайте аргумент аутентификации. Затем вам будет предложено ввести токен доступа вашей учетной записи для доступа к API GCP. Если вы хотите сканировать полностью без аутентификации, передайте аргумент -u/--unauthenticated, чтобы скрыть запросы аутентификации.
python3 gcpbucketbrute.py -k test -u
python3 gcpbucketbrute.py -k test -f ../sa-priv-key.pem -o ./out.txt
python3 gcpbucketbrute.py -k test -s 10
-k/--keyword
- Этот аргумент используется для указания ключевого слова, на основе которого будут генерироваться перестановки. Именно эти перестановки будут использоваться для поиска в Google Cloud Storage.--check
- Этот аргумент является взаимоисключающим с -k/--keyword и принимает одну строку. Он позволяет проверить ваши права доступа к конкретному бакету, а не генерировать список перестановок на основе ключевого слова. Может быть использован несколько раз для проверки нескольких бакетов. Автор: @BBerastegui--check-list
- Этот аргумент является взаимоисключающим с -k/--keyword и --check. Он позволяет проверить права доступа для списка бакетов в файле. Они должны быть перечислены по одному на строку в текстовом файле. Чтобы читать из стандартного ввода, передайте - в качестве имени файла.-s/--subprocesses
- Этот аргумент указывает количество подпроцессов, которые будут использоваться для перечисления бакетов. По умолчанию 5, и чем выше это значение, тем быстрее будет перечисление, но увеличится количество запросов в секунду к Google. По сути это потоки, но скрипт использует подпроцессы вместо потоков для параллельного выполнения.-f/--service-account-credential-file-path
- Этот аргумент используется для указания пути к файлу приватного ключа сервисного аккаунта GCP, который вы хотите использовать для аутентификации в Google Cloud Storage. Это опционально. Если вы хотите использовать токен доступа, пропустите этот аргумент, и вам будет предложено ввести токен, чтобы он не сохранялся в истории командной строки. Больше информации здесь: https://google-auth.readthedocs.io/en/latest/user-guide.html#service-account-private-key-files и здесь: https://google-auth.readthedocs.io/en/latest/user-guide.html#user-credentials-u/--unauthenticated
- Этот аргумент принудительно выполняет неаутентифицированное перечисление. С этим флагом вам не будет предложено ввести учетные данные, и действительные бакеты не будут проверяться на права доступа для аутентифицированных пользователей.-o/--out-file
- Этот аргумент позволяет указать (относительный или абсолютный) путь к файлу журнала для вывода результатов. Файл будет создан, если он не существует, и к нему будут дописываться данные, если он уже существует.-w/--wordlist
- Этот аргумент позволяет указать входной файл со списком слов.