Autoconcesión de lectura de S3 mediante la política del bucket
Puede reescribir la política de un bucket para concederse a sí mismo acceso de lectura y luego leerlo.
Concede escalada por sí solo.
s3:PutBucketPolicyPor sí solo, s3:PutBucketPolicy puede reescribir la política de un bucket para concederse acceso de lectura y luego leer. Con un alcance de recursos amplio, eso por sí solo llega a acceso para un principal externo o público.
Por qué es peligroso
Un principal puede llamar a s3:PutBucketPolicy sobre el bucket para adjuntar una política de recursos que le conceda s3:GetObject a él mismo (o al público), y después leer los objetos del bucket. Esto esquiva la ausencia de una concesión de lectura en la política de identidad: el atacante reescribe la cerradura en lugar de poseer una llave. La gravedad depende de la sensibilidad del bucket: el control de la política se convierte en exfiltración directa de todo lo que contenga el bucket.
En términos de MITRE ATT&CK, esto corresponde a T1098, Manipulación de cuentas, en la táctica de escalada de privilegios. AWS lo registra en CloudTrail como PutBucketPolicy, PutBucketAcl, PutAccountPublicAccessBlock. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
PutBucketPolicyPutBucketAclPutAccountPublicAccessBlockRequisitos previos
s3:PutBucketPolicy sobre el bucket. El abuso supone además que ninguna barrera de SCP, límite o PrincipalOrgID bloquea la concesión excesiva y (para una concesión pública) que S3 Block Public Access a nivel de cuenta no se está aplicando.
MITRE ATT&CK
T1098 · Manipulación de cuentasTáctica
Escalada de privilegios
Un control que lo eliminaría: Restringe s3:PutBucketPolicy a CI/CD y administradores; activa S3 Block Public Access a nivel de cuenta; deniega la escritura de políticas de bucket mediante una SCP.
Aplicarla o no depende de cómo se use el permiso en tu entorno, así que es una decisión de negocio y no una corrección automática. El mismo permiso puede ser imprescindible en una cuenta y puro riesgo en otra.
Pathbreak confirma si esta ruta se resuelve en tu cuenta, la clasifica frente a las demás según cuánto abre y usa tu modelo de amenazas y tu contexto de negocio para mostrar qué rutas merece la pena cortar.
Preguntas
¿Qué permite s3:PutBucketPolicy?
Puede reescribir la política de un bucket para concederse a sí mismo acceso de lectura y luego leerlo.
¿Puede s3:PutBucketPolicy escalar privilegios por sí solo?
Sí. Concedido sobre un recurso lo bastante amplio, llega a acceso para un principal externo o público sin ningún otro permiso.
¿Cómo se detecta la autoconcesión de lectura de S3 mediante una política de bucket?
Vigila PutBucketPolicy, PutBucketAcl, PutAccountPublicAccessBlock en CloudTrail. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
¿Cómo se rompe esta ruta?
Un control que lo eliminaría es: Restringe s3:PutBucketPolicy a CI/CD y administradores; activa S3 Block Public Access a nivel de cuenta; deniega las escrituras de políticas de bucket mediante SCP. Aplicarla o no depende de cómo se use el permiso en tu cuenta, así que es una decisión de negocio y no una corrección automática.
¿De qué técnica de MITRE ATT&CK se trata?
T1098, Manipulación de cuentas, en la táctica de escalada de privilegios.
Rutas relacionadas
Referencias
Encuéntralo en tu propia cuenta
Ejecutamos un escaneo de solo lectura de una cuenta de AWS y te mostramos cuáles de estas rutas existen, ordenadas por radio de impacto, con el cambio que rompe cada una. Primeras rutas validadas en menos de una hora.