Conceder lectura de objetos mediante ACL
Puede reescribir las ACL de objetos para conceder lectura pública o al atacante.
Concede escalada por sí solo.
s3:PutObjectAclPor sí solo, s3:PutObjectAcl puede reescribir las ACL de objetos para conceder lectura pública o al atacante. 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:PutObjectAcl sobre objetos del bucket para conceder READ a AllUsers/AuthenticatedUsers/un ID externo, y después leerlos.
En términos de MITRE ATT&CK, esto corresponde a T1530, Datos de almacenamiento cloud, bajo la táctica de recopilación. AWS lo registra en CloudTrail como PutObjectAcl. La llamada es silenciosa frente a la actividad normal, así que es fácil pasarla por alto sin una regla específica. También ofrece a un atacante una forma de mantener el acceso después de que se cierre el primer punto de apoyo, así que merece la pena vigilarla incluso cuando parece administración rutinaria.
Detección
PutObjectAclRequisitos previos
s3:PutObjectAcl; ACL habilitadas; Block Public Access permite la concesión.
MITRE ATT&CK
T1530 · Datos del almacenamiento cloudTáctica
Recopilación
Un control que lo eliminaría: Elimina s3:PutObjectAcl del principal; aplica Object Ownership = BucketOwnerEnforced y Block Public Access.
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:PutObjectAcl?
Puede reescribir las ACL de objetos para conceder lectura pública o al atacante.
¿Puede s3:PutObjectAcl 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 concesión de lectura de un objeto mediante ACL?
Vigila PutObjectAcl en CloudTrail. La llamada es silenciosa frente a la actividad normal, así que es fácil pasarla por alto sin una regla específica.
¿Cómo se rompe esta ruta?
Un control que lo eliminaría es: Elimina s3:PutObjectAcl del principal; aplica Object Ownership = BucketOwnerEnforced y Block Public Access. 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?
T1530, Datos del almacenamiento cloud, en la táctica de recopilación.
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.