Skip to main content

cloud-recon

Cloud infrastructure enumeration — AWS S3 buckets, Azure blob storage, GCP buckets, cloud metadata endpoints, IAM misconfigurations, CDN origin detection.

Informações da origem

Repositório
BitterSecurity/Decepticon
Última atividade na origem
26 de maio de 2026 às 15:19
Idioma detectado do SKILL.md
inglês
Estrelas
5.666
Forks
1.067

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
3 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
cloud-recon
description
Cloud infrastructure enumeration — AWS S3 buckets, Azure blob storage, GCP buckets, cloud metadata endpoints, IAM misconfigurations, CDN origin detection.
allowed-tools
Bash Read Write
metadata
{"subdomain":"reconnaissance","when_to_use":"cloud recon, S3 bucket, Azure blob, GCP bucket, cloud enum, CDN origin, bucket discovery, cloud infrastructure, serverless, container registry","tags":"cloud, aws, azure, gcp, s3-bucket, cdn, serverless","mitre_attack":"T1580, T1538"}
# Cloud Infrastructure Reconnaissance Knowledge Base Cloud reconnaissance identifies cloud-hosted assets, misconfigured storage, exposed services, and cloud-specific attack surfaces. Modern organizations run hybrid infrastructure — cloud recon is essential for complete attack surface mapping. ## 1. Cloud Provider Detection ### Fingerprinting via DNS/Headers See `references/cloud-ip-ranges.md` for the full CNAME → provider mapping table and response header fingerprinting. See `references/cloud-naming-patterns.md` for bucket/resource naming dictionaries. ```bash # Check CNAME records for cloud indicators dig <target> CNAME +short # Common cloud CNAME patterns: # AWS: *.amazonaws.com, *.cloudfront.net, *.elasticbeanstalk.com # Azure: *.azurewebsites.net, *.blob.core.windows.net, *.azure-api.net # GCP: *.googleapis.com, *.appspot.com, *.run.app, *.cloudfunctions.net # Cloudflare: *.cdn.cloudflare.net # Check IP ranges (AWS) curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | python3 -c " import sys, json, ipaddress data = json.load(sys.stdin) target = ipaddress.ip_address('<TARGET_IP>') for prefix in data['prefixes']: if target in ipaddress.ip_network(prefix['ip_prefix']): print(f\"AWS Region: {prefix['region']}, Service: {prefix['service']}\") " ``` ### Cloud Service Indicators | Indicator | Provider | Service | |-----------|----------|---------| | `s3.amazonaws.com` CNAME | AWS | S3 Storage | | `X-Amz-*` headers | AWS | Various | | `X-Ms-*` headers | Azure | Various | | `X-Cloud-Trace-Context` header | GCP | Cloud Run/Functions | | `*.elasticbeanstalk.com` CNAME | AWS | Elastic Beanstalk | | `*.azurewebsites.net` CNAME | Azure | App Service | | `*.appspot.com` CNAME | GCP | App Engine | ## 2. AWS Enumeration ### S3 Bucket Discovery ```bash # Common naming patterns for prefix in <target> <target>-backup <target>-dev <target>-staging \ <target>-prod <target>-assets <target>-uploads <target>-logs \ <target>-data <target>-media www.<target> cdn.<target>; do # Check if bucket exists code=$(curl -s -o /dev/null -w "%{http_code}" "https://$prefix.s3.amazonaws.com/") echo "$code $prefix.s3.amazonaws.com" done # Check bucket ACL (if accessible) curl -s "https://<bucket>.s3.amazonaws.com/?acl" # List bucket contents (if public) curl -s "https://<bucket>.s3.amazonaws.com/?list-type=2&max-keys=20" ``` ### S3 Bucket Takeover Detection ```bash # If a subdomain CNAMEs to S3 but bucket doesn't exist: # Response: "NoSuchBucket" → Takeover candidate curl -s "https://assets.example.com/" | grep -i "NoSuchBucket" ``` ### AWS Service Enumeration ```bash # Check for exposed EC2 metadata (SSRF target) # Internal: http://169.254.169.254/latest/meta-data/ # IMDSv2 requires token — check if v1 is still enabled # Elastic Beanstalk environment discovery dig <target>.elasticbeanstalk.com +short # CloudFront origin detection curl -sI "https://<target>" | grep -i "x-amz\|x-cache\|via.*cloudfront" # API Gateway detection curl -s "https://<api-id>.execute-api.<region>.amazonaws.com/prod/" ``` ## 3. Azure Enumeration ### Azure Blob Storage ```bash # Common storage account patterns for name in <target> <target>storage <target>data <target>backup \ <target>dev <target>prod; do code=$(curl -s -o /dev/null -w "%{http_code}" "https://$name.blob.core.windows.net/") echo "$code $name.blob.core.windows.net" done # Enumerate containers (if listing enabled) curl -s "https://<account>.blob.core.windows.net/<container>?restype=container&comp=list" # Check for anonymous access curl -s "https://<account>.blob.core.windows.net/\$web/index.html" ``` ### Azure Service Discovery ```bash # Azure App Service dig <target>.azurewebsites.net +short # Azure Functions curl -s "https://<target>.azurewebsites.net/api/<function>" # Azure API Management dig <target>.azure-api.net +short # Azure DevOps (public projects) curl -s "https://dev.azure.com/<org>/_apis/projects?api-version=7.0" ``` ### Azure Subdomain Patterns ``` *.azurewebsites.net → App Service *.blob.core.windows.net → Blob Storage *.table.core.windows.net → Table Storage *.queue.core.windows.net → Queue Storage *.file.core.windows.net → File Storage *.database.windows.net → SQL Database *.redis.cache.windows.net → Redis Cache *.vault.azure.net → Key Vault *.azure-api.net → API Management *.azureedge.net → CDN ``` ## 4. GCP Enumeration ### GCP Storage Buckets ```bash # Common GCP bucket names for name in <target> <target>-bucket <target>-backup <target>-data \ <target>.appspot.com <target>-uploads; do code=$(curl -s -o /dev/null -w "%{http_code}" "https://storage.googleapis.com/$name/") echo "$code storage.googleapis.com/$name" done # List bucket contents (if public) curl -s "https://storage.googleapis.com/<bucket>/" ``` ### GCP Service Discovery ```bash # App Engine dig <project>.appspot.com +short # Cloud Run dig <service>-<hash>-<region>.a.run.app +short # Cloud Functions curl -s "https://<region>-<project>.cloudfunctions.net/<function>" # Firebase curl -s "https://<project>.firebaseio.com/.json" ``` ## 5. Multi-Cloud Tools ### cloud_enum (Automated Discovery) ```bash # Enumerate across all major cloud providers cloud_enum -k <target> -l cloud_enum_<target>.txt # With mutation file cloud_enum -k <target> -m mutations.txt -l cloud_enum_<target>.txt ``` ### Manual Multi-Cloud Checklist ```bash # Run for each target keyword TARGET="example" echo "=== AWS ===" curl -s -o /dev/null -w "%{http_code} " "https://$TARGET.s3.amazonaws.com/" && echo "S3" echo "=== Azure ===" curl -s -o /dev/null -w "%{http_code} " "https://$TARGET.blob.core.windows.net/" && echo "Blob" echo "=== GCP ===" curl -s -o /dev/null -w "%{http_code} " "https://storage.googleapis.com/$TARGET/" && echo "GCS" echo "=== Firebase ===" curl -s -o /dev/null -w "%{http_code} " "https://$TARGET.firebaseio.com/.json" && echo "Firebase" ``` ## 6. CDN & Origin Detection ### Finding Origin IPs Behind CDN ```bash # Check historical DNS records (via SecurityTrails, etc.) # Check for direct IP disclosure in: # - Email headers (Received: from) # - SSL certificate Subject Alternative Names # - Shodan/Censys searches for the same TLS cert # Direct IP test curl -sI -H "Host: <target>" https://<suspected_origin_ip>/ | head -20 ``` ## 7. Serverless & Container Enumeration ### Lambda/Functions URL Patterns ```bash # AWS Lambda function URLs curl -s "https://<id>.lambda-url.<region>.on.aws/" # Azure Functions curl -s "https://<app>.azurewebsites.net/api/<func>?code=<key>" # GCP Cloud Functions curl -s "https://<region>-<project>.cloudfunctions.net/<func>" ``` ### Container Registry Exposure ```bash # Docker Hub curl -s "https://hub.docker.com/v2/repositories/<org>/" | python3 -m json.tool # AWS ECR (if misconfigured) # Azure ACR curl -s "https://<registry>.azurecr.io/v2/_catalog" # GCP GCR curl -s "https://gcr.io/v2/<project>/tags/list" ``` ## 8. Workflow: Cloud Recon Sequence 1. **Cloud Detection** → DNS CNAMEs, response headers, IP range lookups 2. **Storage Enumeration** → S3/Blob/GCS bucket discovery with naming patterns 3. **Service Discovery** → App services, functions, API gateways 4. **Access Testing** → Check for public listing, anonymous read/write 5. **Takeover Check** → Dangling CNAMEs to unclaimed cloud resources 6. **Origin Detection** → Find real IPs behind CDN 7. **Container/Registry** → Check for exposed container registries 8. **Document** → Add all cloud findings to main report with provider tags ## 9. Output Files ``` ./ ├── cloud_enum_<target>.txt # cloud_enum results ├── s3_buckets_<target>.txt # AWS S3 discovery ├── azure_storage_<target>.txt # Azure blob discovery ├── gcp_buckets_<target>.txt # GCP storage discovery ├── cloud_services_<target>.txt # Discovered cloud services └── cloud_recon_<target>_summary.md # Consolidated cloud findings ```
Ver no GitHub