Autoconcesión de acceso a datos de Lake Formation
Puede concederse a sí mismo permisos de Lake Formation sobre una tabla gobernada y luego leerla.
Concede escalada por sí solo.
lakeformation:GrantPermissionsPor sí solo, lakeformation:GrantPermissions puede concederse a sí mismo permisos de Lake Formation sobre una tabla gobernada y luego leerla. 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 lakeformation:GrantPermissions para concederse a sí mismo SELECT (o ALL) sobre una tabla gobernada, y después consultar la tabla y los datos de S3 que cataloga. Lake Formation es la capa de autorización sobre el data lake, así que concederse permisos a sí mismo dentro de ella esquiva la ausencia de una concesión a nivel de tabla: el atacante reescribe la cerradura en lugar de poseer una llave, y el control de la API de concesiones se convierte en acceso de lectura a los datos gobernados.
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 GrantPermissions, PutDataLakeSettings. La llamada aparece en CloudTrail pero se confunde con la administración normal, así que necesita una regla para destacar.
Detección
GrantPermissionsPutDataLakeSettingsRequisitos previos
lakeformation:GrantPermissions (o PutDataLakeSettings para ascenderse a administrador de LF). El abuso supone además que no hay barrera de SCP, límite ni PrincipalOrgID y que las propias reglas de concesión de Lake Formation permiten la concesión; leer la tabla requiere glue:GetTable más la ruta de datos de Athena/Glue.
MITRE ATT&CK
T1098 · Manipulación de cuentasTáctica
Escalada de privilegios
Un control que lo eliminaría: Restringe lakeformation:GrantPermissions y lakeformation:PutDataLakeSettings a los administradores del data lake; deniega la escritura de concesiones y de administración de LF mediante una SCP; revisa la configuración de Data Lake y el conjunto de administradores de LF.
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 lakeformation:GrantPermissions?
Puede concederse a sí mismo permisos de Lake Formation sobre una tabla gobernada y luego leerla.
¿Puede lakeformation:GrantPermissions 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 acceso a datos de Lake Formation?
Vigila GrantPermissions, PutDataLakeSettings 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 lakeformation:GrantPermissions y lakeformation:PutDataLakeSettings a los administradores del data lake; deniega las escrituras de concesiones/administración de LF mediante SCP; revisa la configuración de Data Lake y el conjunto de administradores de LF. 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.