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
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
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 :
| Terme | Définition |
|---|---|
| Groupe de journaux | Une 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 journaux | Une sĂ©quence dâĂ©vĂ©nements de journaux qui partagent la mĂȘme source |
| Filtres dâabonnement | DĂ©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
SetAlarmStatesur 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
- https://cloudsecdocs.com/aws/services/logging/cloudwatch/
- https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatch.html
- https://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric
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
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

