cloudbrute

Brute-forceur de ressources cloud. Découvre l'infrastructure d'une entreprise sur AWS, GCP et Azure en brute-forçant les noms de stockage, les app services et d'autres ressources cloud. Cloud resource brute-forcer. Discovers company infrastructure across AWS, GCP, and Azure by brute-forcing storage names, app services, and other cloud resources.

↗ https://github.com/0xsha/CloudBrute

Overview

CloudBrute discovers cloud resources belonging to a target company by brute-forcing naming patterns across AWS, Google Cloud, and Azure. It checks S3 buckets, Azure Blob storage, GCP buckets, App Services, CDN endpoints, and more — often finding misconfigured public resources exposing sensitive data.

Installation

Download from releases or build from source

go install github.com/0xsha/CloudBrute@latest
# Or download binary from:
# https://github.com/0xsha/CloudBrute/releases

Basic Usage

Enumerate all cloud providers for a company

cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt

AWS-specific scan

cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt -c aws.yaml

Azure-specific scan

cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt -c azure.yaml

GCP-specific scan

cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt -c gcp.yaml

Configuration

# CloudBrute uses YAML config files for each cloud provider
# Default configs are included in the tool directory

# AWS config (aws.yaml) checks:
# - S3 buckets: https://{keyword}.s3.amazonaws.com
# - CloudFront distributions
# - Elastic Beanstalk apps

# Azure config checks:
# - Blob storage: https://{keyword}.blob.core.windows.net
# - App Services: https://{keyword}.azurewebsites.net
# - Azure CDN

# GCP config checks:
# - GCS buckets: https://storage.googleapis.com/{keyword}
# - App Engine: https://{keyword}.appspot.com

Parameters

# Key parameters:
# -d company     Company/domain name (for context)
# -k keyword     Keyword to brute-force with (usually company name)
# -m 1           Mode: 1=storage, 2=apps
# -t 80          Threads
# -T 10          Timeout seconds
# -w wordlist    Mutations wordlist

# Storage mode (-m 1): finds buckets, blobs, storage accounts
# App mode (-m 2): finds hosted apps, functions, containers

Wordlist Strategy

# Use company name as keyword base
# Tool adds prefixes/suffixes from the wordlist

# Example keywords to try:
targetcorp
targetcorp-dev
targetcorp-staging
targetcorp-backup
targetcorp-data
targetcorp-assets

# CloudBrute's built-in wordlist adds common patterns automatically
# e.g.: {keyword}-dev, {keyword}-prod, dev-{keyword}, backup-{keyword}

Follow-Up After Finding Resources

# Public S3 bucket found:
aws s3 ls s3://targetcorp-backup --no-sign-request
aws s3 sync s3://targetcorp-backup . --no-sign-request

Azure blob found:

az storage blob list \
  --account-name targetcorp \
  --container-name data \
  --auth-mode anonymous
# GCS bucket found:
gsutil ls gs://targetcorp-data
gsutil cp -r gs://targetcorp-data .

Tips

  • Try variations: company name, abbreviations, product names, environment names
  • Check for public write access — allows hosting malware on trusted domains
  • Exposed buckets often contain database dumps, code, credentials, and customer data
  • Complement with cloud_enum for broader coverage across more service types
Help / Man page
cloudbrute [flags]

-d string   Company domain name
-k string   Keyword to brute-force
-m int      Mode: 1=storage, 2=apps (default: 1)
-c string   Config file (default: all)
-w string   Wordlist file
-t int      Threads (default: 80)
-T int      Timeout seconds (default: 10)
-p string   Proxy URL
-o string   Output file
-q          Quiet mode

Vue d’ensemble

CloudBrute découvre les ressources cloud appartenant à une entreprise cible en brute-forçant les motifs de nommage sur AWS, Google Cloud et Azure. Il vérifie les buckets S3, le stockage Azure Blob, les buckets GCP, les App Services, les endpoints CDN, et plus : il trouve souvent des ressources publiques mal configurées exposant des données sensibles.

Installation

# Télécharger depuis les releases ou compiler depuis les sources
go install github.com/0xsha/CloudBrute@latest
# Ou télécharger le binaire depuis :
# https://github.com/0xsha/CloudBrute/releases

Utilisation de base

# Énumérer tous les fournisseurs cloud pour une entreprise
cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt

# Scan spécifique à AWS
cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt -c aws.yaml

# Scan spécifique à Azure
cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt -c azure.yaml

# Scan spécifique à GCP
cloudbrute -d targetcorp -k targetcorp -m 1 -t 80 -T 10 -w wordlist.txt -c gcp.yaml

Configuration

# CloudBrute utilise des fichiers de config YAML pour chaque fournisseur cloud
# Des configs par défaut sont incluses dans le répertoire de l'outil

# La config AWS (aws.yaml) vérifie :
# - Buckets S3 : https://{keyword}.s3.amazonaws.com
# - Distributions CloudFront
# - Apps Elastic Beanstalk

# La config Azure vérifie :
# - Stockage Blob : https://{keyword}.blob.core.windows.net
# - App Services : https://{keyword}.azurewebsites.net
# - Azure CDN

# La config GCP vérifie :
# - Buckets GCS : https://storage.googleapis.com/{keyword}
# - App Engine : https://{keyword}.appspot.com

Paramètres

# Paramètres clés :
# -d company     Nom de l'entreprise/domaine (pour le contexte)
# -k keyword     Mot-clé pour le brute-force (souvent le nom de l'entreprise)
# -m 1           Mode : 1=storage, 2=apps
# -t 80          Threads
# -T 10          Timeout en secondes
# -w wordlist    Wordlist de mutations

# Mode storage (-m 1) : trouve buckets, blobs, comptes de stockage
# Mode app (-m 2) : trouve apps hébergées, functions, conteneurs

Stratégie de wordlist

# Utiliser le nom de l'entreprise comme base de mot-clé
# L'outil ajoute des préfixes/suffixes depuis la wordlist

# Exemples de mots-clés à essayer :
targetcorp
targetcorp-dev
targetcorp-staging
targetcorp-backup
targetcorp-data
targetcorp-assets

# La wordlist intégrée de CloudBrute ajoute automatiquement des motifs courants
# par ex. : {keyword}-dev, {keyword}-prod, dev-{keyword}, backup-{keyword}

Suite après avoir trouvé des ressources

# Bucket S3 public trouvé :
aws s3 ls s3://targetcorp-backup --no-sign-request
aws s3 sync s3://targetcorp-backup . --no-sign-request
# Blob Azure trouvé :
az storage blob list \
  --account-name targetcorp \
  --container-name data \
  --auth-mode anonymous
# Bucket GCS trouvé :
gsutil ls gs://targetcorp-data
gsutil cp -r gs://targetcorp-data .

Conseils

  • Essayez des variations : nom d’entreprise, abréviations, noms de produits, noms d’environnement
  • Vérifiez l’accès public en écriture : il permet d’héberger du malware sur des domaines de confiance
  • Les buckets exposés contiennent souvent des dumps de base de données, du code, des identifiants et des données clients
  • Complétez avec cloud_enum pour une couverture plus large sur davantage de types de services
Aide / Page de manuel
cloudbrute [flags]

-d string   Company domain name
-k string   Keyword to brute-force
-m int      Mode: 1=storage, 2=apps (default: 1)
-c string   Config file (default: all)
-w string   Wordlist file
-t int      Threads (default: 80)
-T int      Timeout seconds (default: 10)
-p string   Proxy URL
-o string   Output file
-q          Quiet mode