AWS - CloudWatch Enum

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

CloudWatch

CloudWatch collecte des données de surveillance et opérationnelles sous forme de journaux/métriques/événements fournissant une vue unifiée des ressources AWS, des applications et des services.
Les événements de journal CloudWatch ont une limite de taille de 256 Ko par ligne de journal.
Il peut définir des alarms à haute résolution, visualiser les journaux et les métriques cÎte à cÎte, prendre des actions automatisées, résoudre des problÚmes et découvrir des insights pour optimiser les applications.

Vous pouvez surveiller par exemple les journaux de CloudTrail. Les événements qui sont surveillés :

  • Changements dans les groupes de sĂ©curitĂ© et les NACL
  • DĂ©marrage, arrĂȘt, redĂ©marrage et terminaison des instances EC2
  • Changements dans les politiques de sĂ©curitĂ© au sein d’IAM et S3
  • Tentatives de connexion Ă©chouĂ©es Ă  la console de gestion AWS
  • Appels API ayant entraĂźnĂ© un Ă©chec d’autorisation
  • Filtres pour rechercher dans CloudWatch : https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html

Concepts clés

Espaces de noms

Un espace de noms est un conteneur pour les métriques CloudWatch. Il aide à catégoriser et isoler les métriques, facilitant leur gestion et leur analyse.

  • Exemples : AWS/EC2 pour les mĂ©triques liĂ©es Ă  EC2, AWS/RDS pour les mĂ©triques RDS.

Métriques

Les mĂ©triques sont des points de donnĂ©es collectĂ©s au fil du temps qui reprĂ©sentent la performance ou l’utilisation des ressources AWS. Les mĂ©triques peuvent ĂȘtre collectĂ©es Ă  partir des services AWS, des applications personnalisĂ©es ou des intĂ©grations tierces.

  • Exemple : CPUUtilization, NetworkIn, DiskReadOps.

Dimensions

Les dimensions sont des paires clĂ©-valeur qui font partie des mĂ©triques. Elles aident Ă  identifier de maniĂšre unique une mĂ©trique et fournissent un contexte supplĂ©mentaire, avec un maximum de 30 dimensions pouvant ĂȘtre associĂ©es Ă  une mĂ©trique. Les dimensions permettent Ă©galement de filtrer et d’agrĂ©ger les mĂ©triques en fonction d’attributs spĂ©cifiques.

  • Exemple : Pour les instances EC2, les dimensions peuvent inclure InstanceId, InstanceType et AvailabilityZone.

Statistiques

Les statistiques sont des calculs mathĂ©matiques effectuĂ©s sur les donnĂ©es de mĂ©triques pour les rĂ©sumer au fil du temps. Les statistiques courantes incluent Moyenne, Somme, Minimum, Maximum et Compte d’échantillons.

  • Exemple : Calculer la moyenne d’utilisation du CPU sur une pĂ©riode d’une heure.

Unités

Les unités sont le type de mesure associé à une métrique. Les unités aident à fournir un contexte et une signification aux données de métriques. Les unités courantes incluent Pourcentage, Octets, Secondes, Compte.

  • Exemple : CPUUtilization peut ĂȘtre mesurĂ© en Pourcentage, tandis que NetworkIn peut ĂȘtre mesurĂ© en Octets.

Fonctionnalités de CloudWatch

Tableau de bord

Les tableaux de bord CloudWatch fournissent des vues personnalisables de vos métriques AWS CloudWatch. Il est possible de créer et de configurer des tableaux de bord pour visualiser les données et surveiller les ressources dans une vue unique, combinant différentes métriques de divers services AWS.

Fonctionnalités clés :

  • Widgets : ÉlĂ©ments constitutifs des tableaux de bord, y compris des graphiques, du texte, des alarmes, et plus encore.
  • Personnalisation : La mise en page et le contenu peuvent ĂȘtre personnalisĂ©s pour rĂ©pondre Ă  des besoins de surveillance spĂ©cifiques.

Exemple de cas d’utilisation :

  • Un tableau de bord unique affichant les mĂ©triques clĂ©s pour l’ensemble de votre environnement AWS, y compris les instances EC2, les bases de donnĂ©es RDS et les compartiments S3.

Flux de métriques et données de métriques

Les flux de mĂ©triques dans AWS CloudWatch vous permettent de diffuser en continu les mĂ©triques CloudWatch vers une destination de votre choix en quasi temps rĂ©el. Cela est particuliĂšrement utile pour la surveillance avancĂ©e, l’analyse et les tableaux de bord personnalisĂ©s utilisant des outils en dehors d’AWS.

Les donnĂ©es de mĂ©triques Ă  l’intĂ©rieur des flux de mĂ©triques font rĂ©fĂ©rence aux mesures rĂ©elles ou aux points de donnĂ©es qui sont diffusĂ©s. Ces points de donnĂ©es reprĂ©sentent diverses mĂ©triques comme l’utilisation du CPU, l’utilisation de la mĂ©moire, etc., pour les ressources AWS.

Exemple de cas d’utilisation :

  • Envoi de mĂ©triques en temps rĂ©el Ă  un service de surveillance tiers pour une analyse avancĂ©e.
  • Archivage des mĂ©triques dans un compartiment Amazon S3 pour un stockage Ă  long terme et la conformitĂ©.

Alarme

Les alarmes CloudWatch surveillent vos mĂ©triques et effectuent des actions basĂ©es sur des seuils prĂ©dĂ©finis. Lorsqu’une mĂ©trique dĂ©passe un seuil, l’alarme peut effectuer une ou plusieurs actions telles que l’envoi de notifications via SNS, le dĂ©clenchement d’une politique d’auto-scaling ou l’exĂ©cution d’une fonction AWS Lambda.

Composants clés :

  • Seuil : La valeur Ă  laquelle l’alarme se dĂ©clenche.
  • PĂ©riodes d’évaluation : Le nombre de pĂ©riodes sur lesquelles les donnĂ©es sont Ă©valuĂ©es.
  • Points de donnĂ©es Ă  alerter : Le nombre de pĂ©riodes avec un seuil atteint nĂ©cessaire pour dĂ©clencher l’alarme.
  • Actions : Ce qui se passe lorsqu’un Ă©tat d’alarme est dĂ©clenchĂ© (par exemple, notifier via SNS).

Exemple de cas d’utilisation :

  • Surveiller l’utilisation du CPU d’une instance EC2 et envoyer une notification via SNS si elle dĂ©passe 80 % pendant 5 minutes consĂ©cutives.

DĂ©tecteurs d’anomalies

Les dĂ©tecteurs d’anomalies utilisent l’apprentissage automatique pour dĂ©tecter automatiquement les anomalies dans vos mĂ©triques. Vous pouvez appliquer la dĂ©tection d’anomalies Ă  n’importe quelle mĂ©trique CloudWatch pour identifier les Ă©carts par rapport aux modĂšles normaux qui pourraient indiquer des problĂšmes.

Composants clés :

  • EntraĂźnement du modĂšle : CloudWatch utilise des donnĂ©es historiques pour entraĂźner un modĂšle et Ă©tablir Ă  quoi ressemble un comportement normal.
  • Bande de dĂ©tection d’anomalies : Une reprĂ©sentation visuelle de la plage de valeurs attendue pour une mĂ©trique.

Exemple de cas d’utilisation :

  • DĂ©tecter des modĂšles d’utilisation inhabituels du CPU dans une instance EC2 qui pourraient indiquer une violation de sĂ©curitĂ© ou un problĂšme d’application.

RĂšgles d’insight et rĂšgles d’insight gĂ©rĂ©es

Les rĂšgles d’insight vous permettent d’identifier des tendances, de dĂ©tecter des pics ou d’autres modĂšles d’intĂ©rĂȘt dans vos donnĂ©es de mĂ©triques en utilisant des expressions mathĂ©matiques puissantes pour dĂ©finir les conditions sous lesquelles des actions doivent ĂȘtre prises. Ces rĂšgles peuvent vous aider Ă  identifier des anomalies ou des comportements inhabituels dans la performance et l’utilisation de vos ressources.

Les rĂšgles d’insight gĂ©rĂ©es sont des rĂšgles d’insight prĂ©configurĂ©es fournies par AWS. Elles sont conçues pour surveiller des services AWS spĂ©cifiques ou des cas d’utilisation courants et peuvent ĂȘtre activĂ©es sans nĂ©cessiter de configuration dĂ©taillĂ©e.

Exemple de cas d’utilisation :

  • Surveillance de la performance RDS : Activer une rĂšgle d’insight gĂ©rĂ©e pour Amazon RDS qui surveille les indicateurs de performance clĂ©s tels que l’utilisation du CPU, l’utilisation de la mĂ©moire et les entrĂ©es/sorties de disque. Si l’une de ces mĂ©triques dĂ©passe des seuils opĂ©rationnels sĂ»rs, la rĂšgle peut dĂ©clencher une alerte ou une action d’attĂ©nuation automatisĂ©e.

Journaux CloudWatch

Permet de regrouper et surveiller les journaux des applications et des systĂšmes des services AWS (y compris CloudTrail) et des applications/systĂšmes (CloudWatch Agent peut ĂȘtre installĂ© sur un hĂŽte). Les journaux peuvent ĂȘtre stockĂ©s indĂ©finiment (selon les paramĂštres du groupe de journaux) et peuvent ĂȘtre exportĂ©s.

ÉlĂ©ments :

TermeDéfinition
Groupe de journauxUne collection de flux de journaux qui partagent les mĂȘmes paramĂštres de conservation, de surveillance et de contrĂŽle d’accĂšs
Flux de journauxUne sĂ©quence d’évĂ©nements de journaux qui partagent la mĂȘme source
Filtres d’abonnementDĂ©finissent un modĂšle de filtre qui correspond aux Ă©vĂ©nements dans un groupe de journaux particulier, les envoient Ă  un flux Kinesis Data Firehose, un flux Kinesis ou une fonction Lambda

Surveillance et événements CloudWatch

CloudWatch de base agrĂšge les donnĂ©es toutes les 5 minutes (la dĂ©taillĂ©e le fait toutes les 1 minute). AprĂšs l’agrĂ©gation, il vĂ©rifie les seuils des alarmes au cas oĂč il faudrait en dĂ©clencher une.
Dans ce cas, CloudWatch peut ĂȘtre prĂ©parĂ© Ă  envoyer un Ă©vĂ©nement et Ă  effectuer certaines actions automatiques (fonctions AWS Lambda, sujets SNS, files d’attente SQS, flux Kinesis)

Installation de l’agent

Vous pouvez installer des agents Ă  l’intĂ©rieur de vos machines/conteneurs pour envoyer automatiquement les journaux Ă  CloudWatch.

  • CrĂ©er un rĂŽle et l’attacher Ă  l’instance avec des autorisations permettant Ă  CloudWatch de collecter des donnĂ©es des instances en plus d’interagir avec AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
  • TĂ©lĂ©charger et installer l’agent sur l’instance EC2 (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). Vous pouvez le tĂ©lĂ©charger depuis l’intĂ©rieur de l’EC2 ou l’installer automatiquement en utilisant AWS Systems Manager en sĂ©lectionnant le package AWS-ConfigureAWSPackage
  • Configurer et dĂ©marrer l’agent CloudWatch

Un groupe de journaux a plusieurs flux. Un flux a plusieurs Ă©vĂ©nements. Et Ă  l’intĂ©rieur de chaque flux, les Ă©vĂ©nements sont garantis d’ĂȘtre dans l’ordre.

ÉnumĂ©ration

# Dashboards #

## Returns a list of the dashboards of your account
aws cloudwatch list-dashboards

## Retrieves the details of the specified dashboard
aws cloudwatch get-dashboard --dashboard-name <value>

# Metrics #

## Returns a list of the specified metric
aws cloudwatch list-metrics [--namespace <value>] [--metric-name <value>] [--dimensions <value>] [--include-linked-accounts | --no-include-linked-accounts]

## Retrieves metric data (this operation can include a CloudWatch Metrics Insights query, and one or more metric math functions)
aws cloudwatch get-metric-data --metric-data-queries <value> --start-time <value> --end-time <value>

## Retrieves statistics for the specified metric and namespace over a range of time
aws cloudwatch get-metric-statistics --namespace <value> --metric-name <value> [--dimensions <value>] --start-time <value> --end-time <value> --period <value>

## Returns a list of the metric streams of your account
aws cloudwatch list-metric-streams

## Retrieves information about the specified metric stream
aws cloudwatch get-metric-stream --name <value>

## Retrieve snapshots of the specified metric widgets
aws cloudwatch get-metric-widget-image --metric-widget <value>

# Alarms #

## Retrieves the specified alarm
aws cloudwatch describe-alarms [--alarm-names <value>] [--alarm-name-prefix <value>] [--alarm-types <value>] [--state-value <value>]

## Retrieves the alarms history, even for deleted alarms
aws cloudwatch describe-alarm-history [--alarm-name <value>] [--alarm-types <value>] [--history-item-type <ConfigurationUpdate | StateUpdate | Action>] [--start-date <value>] [--end-date <value>]

## Retrieves standard alarms based on the specified metric
aws cloudwatch escribe-alarms-for-metric --metric-name <value> --namespace <value> [--dimensions <value>]

# Anomaly Detections #

## Lists the anomaly detection models that you have created in your account
aws cloudwatch describe-anomaly-detectors [--namespace <value>] [--metric-name <value>] [--dimensions <value>]

## Lists all the Contributor Insight rules in your account
aws cloudwatch describe-insight-rules

## Retrieves the data collected over a time range for a given Contributor Insight rule
aws cloudwatch get-insight-rule-report --rule-name <value> --start-time <value> --end-time <value> --period <value>

## Lists managed Contributor Insights rules in your account for a specified resource
aws cloudwatch list-managed-insight-rules --resource-arn <value>

# Tags #

## Lists the tags associated with the specified CloudWatch resources
aws cloudwatch list-tags-for-resource --resource-arn <value>

# CloudWatch Logs #
aws logs tail "<log_group_name>" --followaws logs get-log-events --log-group-name "<log_group_name>" --log-stream-name "<log_stream_name>" --output text > <output_file>

# CloudWatch Events #
aws events list-rules
aws events describe-rule --name <name>aws events list-targets-by-rule --rule <name>aws events list-archives
aws events describe-archive --archive-name <name>aws events list-connections
aws events describe-connection --name <name>aws events list-endpoints
aws events describe-endpoint --name <name>aws events list-event-sources
aws events describe-event-source --name <name>aws events list-replays
aws events list-api-destinations
aws events list-event-buses

Post-Exploitation / Bypass

cloudwatch:DeleteAlarms,cloudwatch:PutMetricAlarm , cloudwatch:PutCompositeAlarm

Un attaquant avec ces permissions pourrait considĂ©rablement compromettre l’infrastructure de surveillance et d’alerte d’une organisation. En supprimant des alarmes existantes, un attaquant pourrait dĂ©sactiver des alertes cruciales qui notifient les administrateurs de problĂšmes de performance critiques, de violations de sĂ©curitĂ© ou de pannes opĂ©rationnelles. De plus, en crĂ©ant ou en modifiant des alarmes mĂ©triques, l’attaquant pourrait Ă©galement induire les administrateurs en erreur avec de fausses alertes ou faire taire des alarmes lĂ©gitimes, masquant ainsi efficacement des activitĂ©s malveillantes et empĂȘchant des rĂ©ponses rapides Ă  des incidents rĂ©els.

De plus, avec la permission cloudwatch:PutCompositeAlarm, un attaquant serait en mesure de crĂ©er une boucle ou un cycle d’alarmes composites, oĂč l’alarme composite A dĂ©pend de l’alarme composite B, et l’alarme composite B dĂ©pend Ă©galement de l’alarme composite A. Dans ce scĂ©nario, il n’est pas possible de supprimer une alarme composite qui fait partie du cycle car il y a toujours une alarme composite qui dĂ©pend de cette alarme que vous souhaitez supprimer.

aws cloudwatch put-metric-alarm --cli-input-json <value> | --alarm-name <value> --comparison-operator <value> --evaluation-periods <value> [--datapoints-to-alarm <value>] [--threshold <value>] [--alarm-description <value>] [--alarm-actions <value>] [--metric-name <value>] [--namespace <value>] [--statistic <value>] [--dimensions <value>] [--period <value>]
aws cloudwatch delete-alarms --alarm-names <value>
aws cloudwatch put-composite-alarm --alarm-name <value> --alarm-rule <value> [--no-actions-enabled | --actions-enabled [--alarm-actions <value>] [--insufficient-data-actions <value>] [--ok-actions <value>] ]

L’exemple suivant montre comment rendre une alarme de mĂ©trique inefficace :

  • Cette alarme de mĂ©trique surveille l’utilisation moyenne du CPU d’une instance EC2 spĂ©cifique, Ă©value la mĂ©trique toutes les 300 secondes et nĂ©cessite 6 pĂ©riodes d’évaluation (30 minutes au total). Si l’utilisation moyenne du CPU dĂ©passe 60 % pendant au moins 4 de ces pĂ©riodes, l’alarme se dĂ©clenchera et enverra une notification au sujet SNS spĂ©cifiĂ©.
  • En modifiant le seuil pour qu’il soit supĂ©rieur Ă  99 %, en rĂ©glant la pĂ©riode Ă  10 secondes, les pĂ©riodes d’évaluation Ă  8640 (puisque 8640 pĂ©riodes de 10 secondes Ă©quivalent Ă  1 jour), et les points de donnĂ©es Ă  alarme Ă  8640 Ă©galement, il serait nĂ©cessaire que l’utilisation du CPU soit supĂ©rieure Ă  99 % toutes les 10 secondes pendant toute la pĂ©riode de 24 heures pour dĂ©clencher une alarme.
{
"Namespace": "AWS/EC2",
"MetricName": "CPUUtilization",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-01234567890123456"
}
],
"AlarmActions": ["arn:aws:sns:us-east-1:123456789012:example_sns"],
"ComparisonOperator": "GreaterThanThreshold",
"DatapointsToAlarm": 4,
"EvaluationPeriods": 6,
"Period": 300,
"Statistic": "Average",
"Threshold": 60,
"AlarmDescription": "CPU Utilization of i-01234567890123456 over 60%",
"AlarmName": "EC2 instance i-01234567890123456 CPU Utilization"
}

Impact potentiel : Manque de notifications pour des Ă©vĂ©nements critiques, problĂšmes potentiels non dĂ©tectĂ©s, fausses alertes, suppression d’alertes authentiques et dĂ©tections potentiellement manquĂ©es d’incidents rĂ©els.

cloudwatch:DeleteAlarmActions, cloudwatch:EnableAlarmActions, cloudwatch:SetAlarmState

En supprimant les actions d’alarme, l’attaquant pourrait empĂȘcher des alertes critiques et des rĂ©ponses automatisĂ©es d’ĂȘtre dĂ©clenchĂ©es lorsqu’un Ă©tat d’alarme est atteint, comme notifier les administrateurs ou dĂ©clencher des activitĂ©s d’auto-scaling. Activer ou rĂ©activer des actions d’alarme de maniĂšre inappropriĂ©e pourrait Ă©galement entraĂźner des comportements inattendus, soit en rĂ©activant des actions prĂ©cĂ©demment dĂ©sactivĂ©es, soit en modifiant les actions qui sont dĂ©clenchĂ©es, ce qui pourrait causer de la confusion et une mauvaise orientation dans la rĂ©ponse aux incidents.

De plus, un attaquant ayant la permission pourrait manipuler les Ă©tats d’alarme, Ă©tant capable de crĂ©er de fausses alarmes pour distraire et confondre les administrateurs, ou de faire taire de vĂ©ritables alarmes pour cacher des activitĂ©s malveillantes en cours ou des pannes critiques du systĂšme.

  • Si vous utilisez SetAlarmState sur une alarme composite, l’alarme composite n’est pas garantie de revenir Ă  son Ă©tat rĂ©el. Elle ne revient Ă  son Ă©tat rĂ©el que lorsque l’un de ses alarmes enfants change d’état. Elle est Ă©galement réévaluĂ©e si vous mettez Ă  jour sa configuration.
aws cloudwatch disable-alarm-actions --alarm-names <value>
aws cloudwatch enable-alarm-actions --alarm-names <value>
aws cloudwatch set-alarm-state --alarm-name <value> --state-value <OK | ALARM | INSUFFICIENT_DATA> --state-reason <value> [--state-reason-data <value>]

Impact potentiel : Manque de notifications pour des Ă©vĂ©nements critiques, problĂšmes potentiellement non dĂ©tectĂ©s, fausses alertes, suppression d’alertes authentiques et dĂ©tections potentiellement manquĂ©es d’incidents rĂ©els.

cloudwatch:DeleteAnomalyDetector, cloudwatch:PutAnomalyDetector

Un attaquant pourrait compromettre la capacitĂ© de dĂ©tection et de rĂ©ponse Ă  des modĂšles ou anomalies inhabituels dans les donnĂ©es mĂ©triques. En supprimant des dĂ©tecteurs d’anomalies existants, un attaquant pourrait dĂ©sactiver des mĂ©canismes d’alerte critiques ; et en les crĂ©ant ou en les modifiant, il pourrait soit mal configurer, soit crĂ©er de faux positifs afin de distraire ou de submerger la surveillance.

aws cloudwatch delete-anomaly-detector [--cli-input-json <value> | --namespace <value> --metric-name <value> --dimensions <value> --stat <value>]
aws cloudwatch put-anomaly-detector [--cli-input-json <value> | --namespace <value> --metric-name <value> --dimensions <value> --stat <value> --configuration <value> --metric-characteristics <value>]

L’exemple suivant montre comment rendre un dĂ©tecteur d’anomalies de mĂ©triques inefficace. Ce dĂ©tecteur d’anomalies de mĂ©triques surveille l’utilisation moyenne du CPU d’une instance EC2 spĂ©cifique, et il suffirait d’ajouter le paramĂštre “ExcludedTimeRanges” avec la plage horaire souhaitĂ©e pour s’assurer que le dĂ©tecteur d’anomalies n’analyse ni n’alerte sur des donnĂ©es pertinentes pendant cette pĂ©riode.

{
"SingleMetricAnomalyDetector": {
"Namespace": "AWS/EC2",
"MetricName": "CPUUtilization",
"Stat": "Average",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-0123456789abcdefg"
}
]
}
}

Impact potentiel : Effet direct sur la détection de modÚles inhabituels ou de menaces à la sécurité.

cloudwatch:DeleteDashboards, cloudwatch:PutDashboard

Un attaquant pourrait compromettre les capacitĂ©s de surveillance et de visualisation d’une organisation en crĂ©ant, modifiant ou supprimant ses tableaux de bord. Ces autorisations pourraient ĂȘtre utilisĂ©es pour supprimer une visibilitĂ© critique sur la performance et la santĂ© des systĂšmes, modifier des tableaux de bord pour afficher des donnĂ©es incorrectes ou cacher des activitĂ©s malveillantes.

aws cloudwatch delete-dashboards --dashboard-names <value>
aws cloudwatch put-dashboard --dashboard-name <value> --dashboard-body <value>

Impact potentiel : Perte de visibilité de surveillance et informations trompeuses.

cloudwatch:DeleteInsightRules, cloudwatch:PutInsightRule, cloudwatch:PutManagedInsightRule

Les rĂšgles d’insight sont utilisĂ©es pour dĂ©tecter des anomalies, optimiser les performances et gĂ©rer les ressources efficacement. En supprimant des rĂšgles d’insight existantes, un attaquant pourrait Ă©liminer des capacitĂ©s de surveillance critiques, laissant le systĂšme aveugle aux problĂšmes de performance et aux menaces de sĂ©curitĂ©. De plus, un attaquant pourrait crĂ©er ou modifier des rĂšgles d’insight pour gĂ©nĂ©rer des donnĂ©es trompeuses ou cacher des activitĂ©s malveillantes, entraĂźnant des diagnostics incorrects et des rĂ©ponses inappropriĂ©es de l’équipe des opĂ©rations.

aws cloudwatch delete-insight-rules --rule-names <value>
aws cloudwatch put-insight-rule --rule-name <value> --rule-definition <value> [--rule-state <value>]
aws cloudwatch put-managed-insight-rules --managed-rules <value>

Impact potentiel : DifficultĂ© Ă  dĂ©tecter et Ă  rĂ©pondre aux problĂšmes de performance et aux anomalies, prise de dĂ©cision mal informĂ©e et potentiel dissimulation d’activitĂ©s malveillantes ou de pannes systĂšme.

cloudwatch:DisableInsightRules, cloudwatch:EnableInsightRules

En dĂ©sactivant des rĂšgles d’insight critiques, un attaquant pourrait effectivement aveugler l’organisation sur des mĂ©triques clĂ©s de performance et de sĂ©curitĂ©. Inversement, en activant ou en configurant des rĂšgles trompeuses, il pourrait ĂȘtre possible de gĂ©nĂ©rer des donnĂ©es fausses, de crĂ©er du bruit ou de cacher une activitĂ© malveillante.

aws cloudwatch disable-insight-rules --rule-names <value>
aws cloudwatch enable-insight-rules --rule-names <value>

Impact potentiel : Confusion au sein de l’équipe des opĂ©rations, entraĂźnant des rĂ©ponses retardĂ©es aux problĂšmes rĂ©els et des actions inutiles basĂ©es sur de fausses alertes.

cloudwatch:DeleteMetricStream , cloudwatch:PutMetricStream , cloudwatch:PutMetricData

Un attaquant avec les permissions cloudwatch:DeleteMetricStream , cloudwatch:PutMetricStream serait capable de crĂ©er et de supprimer des flux de donnĂ©es mĂ©triques, compromettant la sĂ©curitĂ©, la surveillance et l’intĂ©gritĂ© des donnĂ©es :

  • CrĂ©er des flux malveillants : CrĂ©er des flux mĂ©triques pour envoyer des donnĂ©es sensibles vers des destinations non autorisĂ©es.
  • Manipulation des ressources : La crĂ©ation de nouveaux flux mĂ©triques avec des donnĂ©es excessives pourrait produire beaucoup de bruit, entraĂźnant des alertes incorrectes, masquant de vĂ©ritables problĂšmes.
  • Perturbation de la surveillance : En supprimant des flux mĂ©triques, les attaquants perturberaient le flux continu de donnĂ©es de surveillance. De cette maniĂšre, leurs activitĂ©s malveillantes seraient efficacement cachĂ©es.

De mĂȘme, avec la permission cloudwatch:PutMetricData, il serait possible d’ajouter des donnĂ©es Ă  un flux mĂ©trique. Cela pourrait entraĂźner un DoS en raison de la quantitĂ© de donnĂ©es inappropriĂ©es ajoutĂ©es, rendant le flux complĂštement inutile.

aws cloudwatch delete-metric-stream --name <value>
aws cloudwatch put-metric-stream --name <value> [--include-filters <value>] [--exclude-filters <value>] --firehose-arn <value> --role-arn <value> --output-format <value>
aws cloudwatch put-metric-data --namespace <value> [--metric-data <value>] [--metric-name <value>] [--timestamp <value>] [--unit <value>] [--value <value>] [--dimensions <value>]

Exemple d’ajout de donnĂ©es correspondant Ă  une utilisation de 70 % du CPU sur une instance EC2 donnĂ©e :

aws cloudwatch put-metric-data --namespace "AWS/EC2" --metric-name "CPUUtilization" --value 70 --unit "Percent" --dimensions "InstanceId=i-0123456789abcdefg"

Impact potentiel : Disruption dans le flux de données de surveillance, impactant la détection des anomalies et des incidents, manipulation des ressources et augmentation des coûts en raison de la création de flux de métriques excessifs.

cloudwatch:StopMetricStreams, cloudwatch:StartMetricStreams

Un attaquant contrĂŽlerait le flux des flux de donnĂ©es mĂ©triques affectĂ©s (chaque flux de donnĂ©es s’il n’y a pas de restriction de ressource). Avec la permission cloudwatch:StopMetricStreams, les attaquants pourraient cacher leurs activitĂ©s malveillantes en arrĂȘtant des flux de mĂ©triques critiques.

aws cloudwatch stop-metric-streams --names <value>
aws cloudwatch start-metric-streams --names <value>

Impact potentiel : Perturbation du flux de données de surveillance, affectant la détection des anomalies et des incidents.

cloudwatch:TagResource, cloudwatch:UntagResource

Un attaquant pourrait ajouter, modifier ou supprimer des balises des ressources CloudWatch (actuellement uniquement des alarmes et des rĂšgles Contributor Insights). Cela pourrait perturber les politiques de contrĂŽle d’accĂšs de votre organisation basĂ©es sur des balises.

aws cloudwatch tag-resource --resource-arn <value> --tags <value>
aws cloudwatch untag-resource --resource-arn <value> --tag-keys <value>

Impact potentiel : Disruption des politiques de contrĂŽle d’accĂšs basĂ©es sur des tags.

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks