Esposizione di S3 e dello storage
Bucket pubblici
Esposizione di S3 e dello storage è una lezione Ethical Hacking Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ethical Hacking Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Perché i bucket di storage espongono dati
Lo storage a oggetti come AWS S3, Azure Blob e GCP Cloud Storage è una delle fonti più comuni di violazioni dei dati nel cloud. I bucket sono facili da creare e da configurare in modo errato.
- Impostati accidentalmente per la lettura o la scrittura pubblica
- Nomi prevedibili che possono essere indovinati
- Criteri dei bucket o ACL troppo permissivi
Un singolo bucket pubblico può esporre milioni di record.
Come funziona la denominazione di S3
I nomi dei bucket S3 sono univoci a livello globale e corrispondono a URL prevedibili. È proprio questa prevedibilità a rendere possibile l'enumerazione.
Chiunque indovini un nome di bucket valido può verificarne il livello di accesso.
# Two equivalent S3 URL forms
https://my-bucket.s3.amazonaws.com/
https://s3.amazonaws.com/my-bucket/
# Region-specific endpoint
https://my-bucket.s3.eu-west-1.amazonaws.com/Rilevare i bucket pubblici
Il test più rapido consiste nell'inviare una richiesta non autenticata. Il codice di stato HTTP indica lo stato dell'accesso.
- 200 con un elenco XML — accesso pubblico all'elenco
- 403 AccessDenied — il bucket esiste ma è privato
- 404 NoSuchBucket — il bucket non esiste
# Anonymous listing attempt
curl -s https://example-data.s3.amazonaws.com/
# Anonymous via the AWS CLI (no signing)
aws s3 ls s3://example-data --no-sign-requestForzare i nomi dei bucket
Gli attaccanti generano nomi candidati a partire dal nome dell'azienda e da suffissi comuni, quindi verificano ciascun nome. Gli strumenti automatizzano il processo su larga scala.
Schemi tipici: company-backups, company-dev, company-logs, company-assets.
# Permutate and probe bucket names from a keyword
cloud_enum -k example
# Dedicated S3 enumerator
s3scanner scan --bucket-file candidates.txtLettura pubblica e scrittura pubblica
L'accesso pubblico può presentarsi in due forme, e la scrittura è molto più grave della lettura.
- Lettura pubblica — gli attaccanti scaricano i dati (violazione dei dati)
- Scrittura pubblica — gli attaccanti caricano o sovrascrivono gli oggetti
La scrittura pubblica consente il deturpamento, l'hosting di malware sul vostro dominio e persino attacchi alla supply chain se il bucket fornisce risorse per siti web o software.
# Test for public write (DANGEROUS - only with authorization)
aws s3 cp test.txt s3://example-data/ --no-sign-request
# If this succeeds, the bucket allows anonymous uploads.L'ingannevole «Block Public Access»
AWS offre impostazioni Block Public Access sia a livello di account sia a livello di bucket. Sono potenti, ma spesso vengono fraintese.
- Le impostazioni a livello di account prevalgono sui criteri dei bucket
- Un bucket può essere privato anche con un criterio permissivo, se BPA è attivo
- Al contrario, disabilitare BPA può esporre improvvisamente molti bucket
Verificare sempre l'accesso effettivo, non un solo criterio.
# Inspect block-public-access configuration
aws s3api get-public-access-block --bucket example-data
aws s3api get-bucket-policy-status --bucket example-dataEsposizione di Azure Blob
Azure archivia gli oggetti in container all'interno di account di archiviazione. Una configurazione errata imposta il livello di accesso pubblico di un container su blob o container.
Anche i nomi degli account di archiviazione sono univoci a livello globale e prevedibili.
# Azure blob URL pattern
https://exampleacct.blob.core.windows.net/container/file.txt
# Anonymous list attempt against a public container
curl -s 'https://exampleacct.blob.core.windows.net/backups?restype=container&comp=list'Esposizione di GCP Cloud Storage
I bucket Google Cloud Storage possono essere resi pubblici concedendo al principal allUsers o allAuthenticatedUsers un ruolo di lettura.
Lo schema di esposizione ricalca quello di S3: nomi prevedibili, verifiche anonime e associazioni IAM pubbliche.
# Anonymous list of a GCS bucket
curl -s https://storage.googleapis.com/example-bucket/
# Check IAM bindings for allUsers (authenticated)
gsutil iam get gs://example-bucketChe cosa cercano gli attaccanti all'interno
Un bucket pubblico è solo la porta d'ingresso. Il vero obiettivo è ciò che contiene:
- Dump di database e backup
- Codice sorgente e file
.envcontenenti segreti - Credenziali cloud e chiavi API
- PII dei clienti (dati personali)
- Documenti e configurazioni interne
Anche un piccolo file esposto può contenere chiavi che consentono di arrivare al controllo completo dell'account.
Correzione e rafforzamento
La correzione dell'esposizione dello storage si articola su più livelli:
- Abilitare Block Public Access a livello di account
- Rimuovere le ACL pubbliche e le concessioni a
allUsers/allAuthenticatedUsers - Utilizzare criteri dei bucket limitati a principal specifici
- Abilitare la crittografia e il logging degli accessi
- Eseguire una scansione continua della configurazione per rilevare i nuovi bucket pubblici
Gestire responsabilmente i dati esposti
Individuare un bucket pubblico pieno di dati reali comporta responsabilità etiche e legali.
- Non scaricare più dati del minimo necessario per dimostrare l'esposizione
- Non esfiltrare né conservare mai PII dei clienti
- Segnalare il problema immediatamente e in modo sicuro
- Rimanere entro l'ambito e le regole di ingaggio
L'obiettivo è dimostrare che l'accesso esiste, non raccogliere i dati.
Verifica rapida
Una richiesta anonima all'URL di un bucket S3 restituisce HTTP 403 AccessDenied. Che cosa indica?
Riepilogo: esposizione di S3 e dello storage
Ha imparato come lo storage a oggetti può esporre dati e come verificarlo in sicurezza.
- I nomi dei bucket sono univoci a livello globale e prevedibili, consentendo l'enumerazione
- I codici di stato HTTP rivelano lo stato dell'accesso: 200 (pubblico), 403 (privato), 404 (inesistente)
- La scrittura pubblica è più pericolosa della lettura pubblica
- Lo stesso schema si applica ad Azure Blob e GCP Cloud Storage
- Correggere il problema con Block Public Access e criteri basati sul minimo privilegio
Prossimo argomento: servizi di metadati e SSRF, una catena d'attacco specifica del cloud.
Domande Frequenti
La lezione «Esposizione di S3 e dello storage» è gratuita?
Sì — il testo completo di «Esposizione di S3 e dello storage» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ethical Hacking Academy, passa a CoddyKit PRO. Il corso Ethical Hacking Academy include 4 lezioni in totale.
Cosa imparerò in «Esposizione di S3 e dello storage»?
Bucket pubblici Eserciti Ethical Hacking Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ethical Hacking Academy?
Non è richiesta alcuna esperienza precedente. Ethical Hacking Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Esposizione di S3 e dello storage»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ethical Hacking Academy?
Sì. Ogni lezione Ethical Hacking Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Superficie d'attacco del cloud
- Configurazioni errate dell'IAM
- Esposizione di S3 e dello storage
- Metadati e SSRF