Cloudlist Cloud Assets Listing Cheat Sheet¶
Panoramica¶
Cloudlist è uno strumento multi-cloud sviluppato da Project Discovery per l'elenco di beni da vari fornitori di cloud. È stato progettato per aiutare i team di sicurezza a migliorare i loro sforzi di gestione delle superfici di attacco, scoprendo e monitorando le risorse del cloud attraverso più fornitori, tra cui AWS, Azure, GCP, DigitalOcean, Linode, Alibaba Cloud, e altro ancora.
Che cosa imposta Cloudlist a parte gli strumenti specifici del provider è la sua interfaccia unificata per interrogare simultaneamente più fornitori di cloud. Questo semplifica notevolmente il processo di mantenimento di un inventario dei beni cloud, soprattutto per le organizzazioni che utilizzano più fornitori di cloud. Cloudlist fornisce un output coerente indipendentemente dal fornitore, rendendo più facile l'integrazione nei flussi di lavoro di sicurezza e nelle pipeline di automazione.
Cloudlist è destinato principalmente ai team blu per mantenere la visibilità nella loro infrastruttura cloud, ma è anche prezioso per i team rossi e i tester di penetrazione che hanno bisogno di capire la superficie di attacco di un'organizzazione. Fornendo una visione completa dei beni cloud, Cloudlist aiuta i professionisti della sicurezza a identificare potenziali rischi di sicurezza, come i servizi esposti, le risorse non configurate o le implementazioni non autorizzate.
Installazione¶
Using Go¶
# Install using Go (requires Go 1.20 or later)
go install -v github.com/projectdiscovery/cloudlist/cmd/cloudlist@latest
# Verify installation
cloudlist -version
Using Docker¶
# Pull the latest Docker image
docker pull projectdiscovery/cloudlist:latest
# Run Cloudlist using Docker
docker run -it projectdiscovery/cloudlist:latest -h
Using Homebrew (macOS)¶
Using PDTM (Project Discovery Tools Manager)¶
# Install PDTM first if not already installed
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest
# Install Cloudlist using PDTM
pdtm -i cloudlist
# Verify installation
cloudlist -version
On Kali Linux¶
Uso di base¶
Listing Cloud Assets¶
# List assets from all configured providers
cloudlist
# List assets from a specific provider
cloudlist -provider aws
# List assets from multiple providers
cloudlist -provider aws,azure,gcp
Opzioni di uscita¶
# Save results to a file
cloudlist -o results.txt
# Output in JSON format
cloudlist -json -o results.json
# Silent mode (only results)
cloudlist -silent
Configurazione del fornitore¶
AWS Configuration¶
# Add AWS provider with access key and secret key
cloudlist -add aws -aws-access-key AKIAIOSFODNN7EXAMPLE -aws-secret-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
# Add AWS provider with profile
cloudlist -add aws -aws-profile default
# Add AWS provider with session token
cloudlist -add aws -aws-access-key AKIAIOSFODNN7EXAMPLE -aws-secret-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY -aws-session-token AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
Azure Configuration¶
# Add Azure provider with client ID, client secret, and tenant ID
cloudlist -add azure -azure-client-id 00000000-0000-0000-0000-000000000000 -azure-client-secret EXAMPLE-SECRET -azure-tenant-id 00000000-0000-0000-0000-000000000000
# Add Azure provider with subscription ID
cloudlist -add azure -azure-client-id 00000000-0000-0000-0000-000000000000 -azure-client-secret EXAMPLE-SECRET -azure-tenant-id 00000000-0000-0000-0000-000000000000 -azure-subscription-id 00000000-0000-0000-0000-000000000000
GCP # Configurazione¶
# Add GCP provider with service account key file
cloudlist -add gcp -gcp-service-account-key /path/to/service-account-key.json
# Add GCP provider with credentials file
cloudlist -add gcp -gcp-credentials-file /path/to/credentials.json
# Add GCP provider with project ID
cloudlist -add gcp -gcp-service-account-key /path/to/service-account-key.json -gcp-project-id example-project-id
Configurazione DigitalOcean¶
# Add DigitalOcean provider with API token
cloudlist -add digitalocean -do-token YOUR_DIGITALOCEAN_API_TOKEN
Configurazione delle linodi¶
Alibaba Cloud Configuration¶
# Add Alibaba Cloud provider with access key and secret key
cloudlist -add alibaba -alibaba-access-key YOUR_ALIBABA_ACCESS_KEY -alibaba-secret-key YOUR_ALIBABA_SECRET_KEY
# Add Alibaba Cloud provider with region
cloudlist -add alibaba -alibaba-access-key YOUR_ALIBABA_ACCESS_KEY -alibaba-secret-key YOUR_ALIBABA_SECRET_KEY -alibaba-region cn-hangzhou
Configurazione Cloudflare¶
# Add Cloudflare provider with API token
cloudlist -add cloudflare -cloudflare-token YOUR_CLOUDFLARE_API_TOKEN
# Add Cloudflare provider with API key and email
cloudlist -add cloudflare -cloudflare-key YOUR_CLOUDFLARE_API_KEY -cloudflare-email your-email@example.com
Uso avanzato¶
Provider Management¶
# List configured providers
cloudlist -list
# Remove a provider
cloudlist -remove aws
# Remove all providers
cloudlist -remove-all
Opzioni di filtro¶
# Filter by resource type
cloudlist -resource-type instance
# Filter by multiple resource types
cloudlist -resource-type instance,storage
# Filter by tag
cloudlist -tag key=value
# Filter by multiple tags
cloudlist -tag key1=value1,key2=value2
Tipi di risorse¶
# List specific resource types
cloudlist -resource-type instance # List only instances
cloudlist -resource-type storage # List only storage resources
cloudlist -resource-type network # List only network resources
cloudlist -resource-type database # List only database resources
cloudlist -resource-type container # List only container resources
cloudlist -resource-type function # List only serverless functions
Formattazione dell'uscita¶
# Format output as IP:port
cloudlist -format "\\\\{\\\\{.IP\\\\}\\\\}:\\\\{\\\\{.Port\\\\}\\\\}"
# Format output as hostname and IP
cloudlist -format "\\\\{\\\\{.Hostname\\\\}\\\\} (\\\\{\\\\{.IP\\\\}\\\\})"
# Format output as JSON with specific fields
cloudlist -json -format "\\\\{\\\\{.ID\\\\}\\\\},\\\\{\\\\{.Name\\\\}\\\\},\\\\{\\\\{.IP\\\\}\\\\},\\\\{\\\\{.Provider\\\\}\\\\}"
Integrazione con altri strumenti¶
Pipeline con HTTPX¶
# List cloud assets and probe for HTTP services
cloudlist -silent|httpx -silent
# List cloud assets, filter by port, and probe for HTTP services
cloudlist -silent|grep ":80"|httpx -silent
Pipeline with Nuclei¶
# List cloud assets, probe for HTTP services, and scan for vulnerabilities
cloudlist -silent|httpx -silent|nuclei -t cves/
# List cloud assets from specific provider and scan for vulnerabilities
cloudlist -provider aws -silent|httpx -silent|nuclei -t exposures/
Pipeline with Naabu¶
# List cloud assets and scan for open ports
cloudlist -silent|naabu -silent
# List cloud assets and scan for specific ports
cloudlist -silent|naabu -p 80,443,8080 -silent
Personalizzazione dell'uscita¶
Formato di uscita personalizzato¶
# Output only IP addresses
cloudlist -silent -format "\\\\{\\\\{.IP\\\\}\\\\}"
# Output hostname and provider
cloudlist -silent -format "\\\\{\\\\{.Hostname\\\\}\\\\} (\\\\{\\\\{.Provider\\\\}\\\\})"
# Output JSON with specific fields
cloudlist -json -format "\\\\{\\\\{.ID\\\\}\\\\},\\\\{\\\\{.Name\\\\}\\\\},\\\\{\\\\{.IP\\\\}\\\\},\\\\{\\\\{.Provider\\\\}\\\\}"
Filtro dell'uscita¶
# Filter by IP address
cloudlist -silent|grep "192.168"
# Filter by hostname
cloudlist -silent|grep "example.com"
# Filter by provider
cloudlist -silent|grep "aws"
# Filter by port
cloudlist -silent|grep ":443"
Filtro avanzato¶
Provider-Specific Filtering¶
# Filter AWS resources by region
cloudlist -provider aws -silent|grep "us-east-1"
# Filter Azure resources by resource group
cloudlist -provider azure -silent|grep "production-rg"
# Filter GCP resources by project
cloudlist -provider gcp -silent|grep "example-project"
Tipo di risorsa Filtro¶
# Filter by instance type
cloudlist -silent|grep "t2.micro"
# Filter by storage type
cloudlist -silent|grep "s3"
# Filter by database type
cloudlist -silent|grep "rds"
Risoluzione dei problemi¶
Questioni comuni¶
-
** Problemi di autenticazione ** Traduzione:
-
♪Rate Limits ♪ Traduzione:
-
** Problemi di autorizzazione ** Traduzione:
-
** Nessun risultato * Traduzione:
Debugging¶
# Enable verbose mode
cloudlist -v
# Show debug information
cloudlist -debug
# Check provider configuration
cloudlist -list
Configurazione¶
Configuration File¶
Cloudlist utilizza un file di configurazione situato in __INLINE_CODE_32_. È possibile personalizzare varie impostazioni in questo file:
# Example configuration file
providers:
- id: aws
aws:
access_key: AKIAIOSFODNN7EXAMPLE
secret_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
- id: azure
azure:
client_id: 00000000-0000-0000-0000-000000000000
client_secret: EXAMPLE-SECRET
tenant_id: 00000000-0000-0000-0000-000000000000
- id: gcp
gcp:
service_account_key: /path/to/service-account-key.json
Variabili ambientali¶
# Set Cloudlist configuration via environment variables
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AZURE_CLIENT_ID=00000000-0000-0000-0000-000000000000
export AZURE_CLIENT_SECRET=EXAMPLE-SECRET
export AZURE_TENANT_ID=00000000-0000-0000-0000-000000000000
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
Riferimento¶
Opzioni di riga di comando¶
Tabella_86_
Provider-Specific Opzioni¶
Opzioni AWS¶
Tabella_87_
Opzioni Azure¶
TABELLA
Opzioni GCP¶
Tabella_89_
Opzioni DigitalOcean¶
Tabella_90_
Opzioni di linode¶
Tabella_91
Alibaba Opzioni cloud¶
Tabella_92_
Opzioni Cloudflare¶
Tabella_93__
Provider supportato¶
Tabella_94_
Supported Resource Types¶
Tabella_95_
Risorse¶
- [Documentazione ufficiale](URL_82___
- [GitHub Repository]
- Progetto Discovery Discord
*Questo foglio di scacchi fornisce un riferimento completo per l'utilizzo di Cloudlist, dall'elenco degli asset di base al filtraggio avanzato e l'integrazione con altri strumenti. Per le informazioni più aggiornate, consultare sempre la documentazione ufficiale. *