Leer eventos de registro de CloudWatch
Puede leer los eventos de log almacenados de un grupo de logs de CloudWatch.
Concede escalada por sí solo.
logs:GetLogEventsPor sí solo, logs:GetLogEvents puede leer los eventos de registro almacenados de un grupo de registros de CloudWatch. Con un alcance de recursos amplio, eso por sí solo llega a los propios datos.
Por qué es peligroso
Un principal puede llamar a logs:GetLogEvents para leer los eventos de registro almacenados del grupo de registros de CloudWatch. Los registros de aplicaciones y de plataforma contienen con frecuencia claves de acceso, tokens de portador, cadenas de conexión de bases de datos y datos personales impresos por código descuidado, así que leerlos es exfiltración directa de datos y, cuando hay una credencial de larga duración, un pivote hacia la identidad a la que pertenece. CloudWatch Logs es una API de punto de conexión público y controlada por IAM, por lo que esto es una lectura del plano de control sin requisitos de red previos; la gravedad depende de la sensibilidad del grupo de registros.
En términos de MITRE ATT&CK, esto corresponde a T1552, Credenciales no protegidas, bajo la táctica de acceso a credenciales. AWS lo registra en CloudTrail como GetLogEvents, FilterLogEvents, GetQueryResults. La llamada es silenciosa frente a la actividad normal, así que es fácil pasarla por alto sin una regla específica.
Detección
GetLogEventsFilterLogEventsGetQueryResultsRequisitos previos
logs:GetLogEvents (o FilterLogEvents/GetQueryResults) sobre el grupo de logs; además logs:Unmask para anular una política de enmascaramiento de protección de datos. CloudWatch Logs no tiene política de recursos, así que basta con el acceso por política de identidad.
MITRE ATT&CK
T1552 · Credenciales sin protegerTáctica
Acceso a credenciales
Un control que lo eliminaría: Restringe logs:GetLogEvents/FilterLogEvents/GetQueryResults a los principales que los necesiten; elimina credenciales y datos personales de los registros y activa una política de protección de datos de CloudWatch Logs.
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 logs:GetLogEvents?
Puede leer los eventos de log almacenados de un grupo de logs de CloudWatch.
¿Puede logs:GetLogEvents escalar privilegios por sí solo?
Sí. Concedido sobre un recurso lo bastante amplio, llega a los propios datos sin ningún otro permiso.
¿Cómo se detecta la lectura de eventos de logs de CloudWatch?
Vigila GetLogEvents, FilterLogEvents, GetQueryResults 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: Restringe logs:GetLogEvents/FilterLogEvents/GetQueryResults a los principales que los necesiten; elimina credenciales y PII de los logs y activa una política de protección de datos de CloudWatch Logs. 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?
T1552, Credenciales sin proteger, en la táctica de acceso a credenciales.
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.