AWS - S3 Privesc
S3
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
Un attaccante con tali permessi su bucket interessanti potrebbe essere in grado di dirottare risorse ed elevare i privilegi.
Ad esempio, un attaccante con tali 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 il dirottamento è 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 dirotta 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
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
s3:PutBucketPolicy
Un attaccante, che deve essere dallo stesso account, altrimenti si attiverà l'errore The specified method is not allowed
, con questo permesso sarà in grado di concedere a se stesso più autorizzazioni sui bucket, permettendogli di leggere, scrivere, modificare, eliminare ed esporre i bucket.
s3:GetBucketAcl
, s3:PutBucketAcl
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
s3:GetObjectAcl
, s3:PutObjectAcl
Un attaccante potrebbe abusare di questi permessi per concedersi maggiore accesso su oggetti specifici all'interno dei bucket.
s3:GetObjectAcl
, s3:PutObjectVersionAcl
s3:GetObjectAcl
, s3:PutObjectVersionAcl
Un attaccante con questi privilegi dovrebbe essere in grado di impostare un Acl su una specifica versione dell'oggetto.
Last updated