AWS - S3 Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
Un attaccante con questi permessi su bucket interessanti potrebbe essere in grado di dirottare risorse ed elevare i privilegi.
Ad esempio, un attaccante con questi permessi su un bucket di cloudformation chiamato "cf-templates-nohnwfax6a6i-us-east-1" sarà in grado di dirottare il deployment. L'accesso può essere concesso con la seguente policy:
E l'hijack è possibile perché c'è un breve intervallo di tempo dal momento in cui il template viene caricato nel bucket al momento in cui il template viene distribuito. Un attaccante potrebbe semplicemente creare una lambda function nel suo account che si attiva quando viene inviata una notifica del bucket, e hijack il contenuto di quel bucket.
Il modulo Pacu cfn__resouce_injection
può essere utilizzato per automatizzare questo attacco.
Per ulteriori informazioni, controlla la ricerca originale: https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/
s3:PutObject
, s3:GetObject
Queste sono le autorizzazioni per ottenere e caricare oggetti su S3. Diversi servizi all'interno di AWS (e al di fuori di esso) utilizzano lo storage S3 per memorizzare file di configurazione. Un attaccante con accesso in lettura a questi file potrebbe trovare informazioni sensibili in essi. Un attaccante con accesso in scrittura a questi file potrebbe modificare i dati per abusare di qualche servizio e cercare di elevare i privilegi. Ecco alcuni esempi:
Se un'istanza EC2 sta memorizzando i dati utente in un bucket S3, un attaccante potrebbe modificarli per eseguire codice arbitrario all'interno dell'istanza EC2.
s3:PutBucketPolicy
Un attaccante, che deve essere dallo stesso account, altrimenti si attiverà l'errore The specified method is not allowed
, con questa autorizzazione sarà in grado di concedersi ulteriori autorizzazioni sui bucket, permettendogli di leggere, scrivere, modificare, eliminare ed esporre i bucket.
s3:GetBucketAcl
, s3:PutBucketAcl
Un attaccante potrebbe abusare di questi permessi per concedersi più accesso su specifici bucket. Nota che l'attaccante non deve essere dello stesso account. Inoltre, l'accesso in scrittura
s3:GetObjectAcl
, s3:PutObjectAcl
Un attaccante potrebbe abusare di questi permessi per concedersi un accesso maggiore su oggetti specifici all'interno dei bucket.
s3:GetObjectAcl
, s3:PutObjectVersionAcl
Un attaccante con questi privilegi dovrebbe essere in grado di impostare un Acl su una specifica versione dell'oggetto.
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)