Lire les événements de journal CloudWatch
Peut lire les événements de journal stockés d'un groupe de journaux CloudWatch.
Accorde l'escalade à lui seul.
logs:GetLogEventsÀ lui seul, logs:GetLogEvents peut lire les événements de journal stockés d'un groupe de journaux CloudWatch. Sur un périmètre de ressources large, cela atteint à lui seul les données elles-mêmes.
Pourquoi c'est dangereux
Un principal peut appeler logs:GetLogEvents pour lire les événements de journal stockés du groupe de journaux CloudWatch. Les journaux applicatifs et de plateforme contiennent couramment des clés d'accès, des bearer tokens, des chaînes de connexion à des bases de données et des données personnelles imprimées par du code négligent, les lire est donc une exfiltration directe de données et, lorsqu'un identifiant à long terme est présent, un pivot vers l'identité à laquelle il appartient. CloudWatch Logs est une API à endpoint public, contrôlée par IAM, il s'agit donc d'une lecture du plan de contrôle sans condition préalable réseau ; la gravité suit la sensibilité du groupe de journaux.
En termes MITRE ATT&CK, cela correspond à T1552, Identifiants non sécurisés, dans la tactique accès aux identifiants. AWS l'enregistre dans CloudTrail sous GetLogEvents, FilterLogEvents, GetQueryResults. L'appel est discret par rapport à l'activité normale, il est donc facile de le manquer sans une règle dédiée.
Détection
GetLogEventsFilterLogEventsGetQueryResultsPrérequis
logs:GetLogEvents (ou FilterLogEvents/GetQueryResults) sur le groupe de journaux ; logs:Unmask en plus pour déjouer une politique de masquage de protection des données. CloudWatch Logs n'a pas de politique de ressource, l'accès via la politique d'identité suffit donc à lui seul.
MITRE ATT&CK
T1552 · Identifiants non sécurisésTactique
Accès aux identifiants
Un contrôle qui le supprimerait : Restreindre logs:GetLogEvents/FilterLogEvents/GetQueryResults aux principaux qui en ont besoin ; nettoyer les identifiants/PII des journaux et activer une politique de protection des données CloudWatch Logs.
La décision de l'appliquer dépend de la façon dont la permission est utilisée dans votre environnement, il s'agit donc d'une décision métier plutôt que d'un correctif automatique. La même permission peut être porteuse dans un compte et pur risque dans un autre.
Pathbreak confirme si ce chemin se résout dans votre compte, le classe par rapport aux autres selon l'ampleur de ce qu'il ouvre, et utilise votre modèle de menace et votre contexte métier pour montrer quels chemins valent la peine d'être coupés.
Questions
Que permet logs:GetLogEvents ?
Peut lire les événements de journal stockés d'un groupe de journaux CloudWatch.
logs:GetLogEvents permet-il à lui seul une escalade de privilèges ?
Oui. Détenue sur une ressource suffisamment large, elle atteint les données elles-mêmes sans aucune autre permission.
Comment détecter la lecture des événements de journal CloudWatch ?
Surveillez GetLogEvents, FilterLogEvents, GetQueryResults dans CloudTrail. Cet appel est discret par rapport à l'activité normale, il est donc facile de passer à côté sans une règle dédiée.
Comment briser ce chemin ?
Un contrôle qui le supprimerait est : Limitez logs:GetLogEvents/FilterLogEvents/GetQueryResults aux principaux qui en ont besoin ; expurgez les identifiants/PII des journaux et activez une politique de protection des données CloudWatch Logs. L'appliquer ou non dépend de la manière dont l'autorisation est utilisée dans votre compte, il s'agit donc d'une décision métier plutôt que d'un correctif automatique.
De quelle technique MITRE ATT&CK s'agit-il ?
T1552, Identifiants non sécurisés, dans la tactique accès aux identifiants.
Chemins associés
Références
Trouvez ceci dans votre propre compte
Nous réalisons un scan en lecture seule d'un compte AWS et vous montrons lesquels de ces chemins existent, classés par rayon d'impact, avec le changement qui brise chacun d'eux. Premiers chemins validés en moins d'une heure.