# AWS - CloudWatch Enum

{{#include ../../../../banners/hacktricks-training.md}}

## CloudWatch

**CloudWatch** **verskaf** monitering en operasionele **data** in die vorm van logs/metrieke/gebeurtenisse wat 'n **geïntegreerde oorsig van AWS hulpbronne**, toepassings en dienste bied.\
CloudWatch Log Gebeurtenis het 'n **grootte beperking van 256KB op elke loglyn**.\
Dit kan **hoë resolusie alarms** stel, **logs** en **metrieke** langs mekaar visualiseer, outomatiese aksies neem, probleme oplos, en insigte ontdek om toepassings te optimaliseer.

Jy kan byvoorbeeld logs van CloudTrail monitor. Gebeurtenisse wat gemonitor word:

- Veranderinge aan Sekuriteitsgroepe en NACLs
- Begin, Stop, herbegin en beëindig EC2 instansies
- Veranderinge aan Sekuriteitsbeleide binne IAM en S3
- Mislukte aanmeldpogings tot die AWS Bestuurskonsol
- API-oproepe wat gelei het tot mislukte outorisasie
- Filters om in cloudwatch te soek: [https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)

## Sleutelkonsepte

### Namespaces

'n Namespace is 'n houer vir CloudWatch metrieke. Dit help om metrieke te kategoriseer en te isoleer, wat dit makliker maak om dit te bestuur en te analiseer.

- **Voorbeelde**: AWS/EC2 vir EC2-verwante metrieke, AWS/RDS vir RDS metrieke.

### Metrieke

Metrieke is datapunten wat oor tyd versamel word en die prestasie of benutting van AWS hulpbronne verteenwoordig. Metrieke kan van AWS dienste, pasgemaakte toepassings, of derdeparty integrasies versamel word.

- **Voorbeeld**: CPUUtilization, NetworkIn, DiskReadOps.

### Dimensies

Dimensies is sleutel-waarde pare wat deel van metrieke is. Dit help om 'n metriek uniek te identifiseer en bied addisionele konteks, met 30 die maksimum aantal dimensies wat aan 'n metriek gekoppel kan word. Dimensies laat ook toe om metrieke te filter en te aggregeer op grond van spesifieke eienskappe.

- **Voorbeeld**: Vir EC2 instansies, dimensies kan InstanceId, InstanceType, en AvailabilityZone insluit.

### Statistieke

Statistieke is wiskundige berekeninge wat op metriekdata uitgevoer word om dit oor tyd saam te vat. Algemene statistieke sluit Gemiddelde, Som, Minimum, Maksimum, en MonsterTelling in.

- **Voorbeeld**: Die gemiddelde CPU benutting oor 'n tydperk van een uur bereken.

### Eenhede

Eenhede is die meting tipe wat aan 'n metriek gekoppel is. Eenhede help om konteks en betekenis aan die metriekdata te bied. Algemene eenhede sluit Persent, Bytes, Sekondes, Telling in.

- **Voorbeeld**: CPUUtilization kan in Persent gemeet word, terwyl NetworkIn in Bytes gemeet kan word.

## CloudWatch Kenmerke

### Dashboard

**CloudWatch Dashboards** bied aanpasbare **oorsigte van jou AWS CloudWatch metrieke**. Dit is moontlik om dashboards te skep en te konfigureer om data te visualiseer en hulpbronne in 'n enkele oorsig te monitor, wat verskillende metrieke van verskeie AWS dienste kombineer.

**Sleutel Kenmerke**:

- **Widgets**: Boublokke van dashboards, insluitend grafieke, teks, alarms, en meer.
- **Aanpassing**: Uiterlik en inhoud kan aangepas word om spesifieke monitering behoeftes te pas.

**Voorbeeld Gebruik Geval**:

- 'n Enkele dashboard wat sleutelmetrieke vir jou hele AWS omgewing toon, insluitend EC2 instansies, RDS databasisse, en S3 emmers.

### Metriekstroom en Metriekdata

**Metriekstrome** in AWS CloudWatch stel jou in staat om CloudWatch metrieke voortdurend na 'n bestemming van jou keuse in byna regte tyd te stroom. Dit is veral nuttig vir gevorderde monitering, analise, en pasgemaakte dashboards wat gereedskap buite AWS gebruik.

**Metriekdata** binne Metriekstrome verwys na die werklike metings of datapunten wat gestroom word. Hierdie datapunten verteenwoordig verskillende metrieke soos CPU benutting, geheue gebruik, ens., vir AWS hulpbronne.

**Voorbeeld Gebruik Geval**:

- Stuur regte tyd metrieke na 'n derdeparty moniteringsdiens vir gevorderde analise.
- Argiveer metrieke in 'n Amazon S3 emmer vir langtermyn berging en nakoming.

### Alarm

**CloudWatch Alarms** monitor jou metrieke en voer aksies uit op grond van vooraf gedefinieerde drempels. Wanneer 'n metriek 'n drempel oorskry, kan die alarm een of meer aksies uitvoer soos om kennisgewings via SNS te stuur, 'n outo-skaal beleid te aktiveer, of 'n AWS Lambda funksie te laat loop.

**Sleutel Komponente**:

- **Drempel**: Die waarde waarop die alarm geaktiveer word.
- **Evaluasieperiodes**: Die aantal periodes waaroor data geëvalueer word.
- **Datapunten om Alarm**: Die aantal periodes met 'n bereikde drempel wat nodig is om die alarm te aktiveer.
- **Aksies**: Wat gebeur wanneer 'n alarmtoestand geaktiveer word (bv. kennisgewing via SNS).

**Voorbeeld Gebruik Geval**:

- Monitor EC2 instansie CPU benutting en stuur 'n kennisgewing via SNS as dit 80% vir 5 agtereenvolgende minute oorskry.

### Anomalie Detektors

**Anomalie Detektors** gebruik masjienleer om outomaties anomalieë in jou metrieke te detecteer. Jy kan anomalie detectie op enige CloudWatch metriek toepas om afwykings van normale patrone te identifiseer wat probleme kan aandui.

**Sleutel Komponente**:

- **Modelopleiding**: CloudWatch gebruik historiese data om 'n model op te lei en te bepaal hoe normale gedrag lyk.
- **Anomalie Detectie Band**: 'n Visuele voorstelling van die verwagte reeks waardes vir 'n metriek.

**Voorbeeld Gebruik Geval**:

- Die opsporing van ongewone CPU benutting patrone in 'n EC2 instansie wat 'n sekuriteitsbreuk of toepassingsprobleem kan aandui.

### Inligtingsreëls en Gemanagte Inligtingsreëls

**Inligtingsreëls** stel jou in staat om tendense te identifiseer, pieke of ander patrone van belang in jou metriekdata te detecteer deur **kragtige wiskundige uitdrukkings** te gebruik om die toestande te definieer waaronder aksies geneem moet word. Hierdie reëls kan jou help om anomalieë of ongewone gedrag in jou hulpbronprestasie en benutting te identifiseer.

**Gemanagte Inligtingsreëls** is vooraf-gekonfigureerde **inligtingsreëls wat deur AWS verskaf word**. Hulle is ontwerp om spesifieke AWS dienste of algemene gebruiksgevalle te monitor en kan geaktiveer word sonder om gedetailleerde konfigurasie te benodig.

**Voorbeeld Gebruik Geval**:

- Monitor RDS Prestasie: Aktiveer 'n gemanagte inligtingsreël vir Amazon RDS wat sleutelprestasie-aanwysers soos CPU benutting, geheue gebruik, en skyf I/O monitor. As enige van hierdie metrieke veilige operasionele drempels oorskry, kan die reël 'n waarskuwing of outomatiese mitigering aksie aktiveer.

### CloudWatch Logs <a href="#cloudwatch-logs" id="cloudwatch-logs"></a>

Laat toe om **logs van toepassings** en stelsels van **AWS dienste** (insluitend CloudTrail) en **van toepassings/stelsels** (**CloudWatch Agent** kan op 'n gasheer geïnstalleer word) te **aggregeer en te monitor**. Logs kan **onbeperk gestoor** word (afhangende van die Log Groep instellings) en kan uitgevoer word.

**Elemente**:
| Term                     | Definisie                                                                                                                                                 |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Log Groep**            | 'n **versameling van log strome** wat dieselfde retensie, monitering, en toegangbeheer instellings deel                                                     |
| **Log Stroom**           | 'n reeks van **log gebeurtenisse** wat die **dieselfde bron** deel                                                                                                |
| **Subskripsie Filters** | Definieer 'n **filterpatroon wat gebeurtenisse** in 'n spesifieke log groep pas, stuur dit na Kinesis Data Firehose stroom, Kinesis stroom, of 'n Lambda funksie |

### CloudWatch Monitering & Gebeurtenisse

CloudWatch **basies** aggregeer data **elke 5min** (die **gedetailleerde** een doen dit **elke 1 min**). Na die aggregering, **kontroleer dit die drempels van die alarms** in geval dit een moet aktiveer.\
In daardie geval kan CloudWatch voorberei wees om 'n gebeurtenis te stuur en sommige outomatiese aksies uit te voer (AWS lambda funksies, SNS onderwerpe, SQS rye, Kinesis Strome)

### Agent Installasie

Jy kan agente binne jou masjiene/tenks installeer om outomaties die logs terug na CloudWatch te stuur.

- **Skep** 'n **rol** en **heg** dit aan die **instansie** met toestemmings wat CloudWatch toelaat om data van die instansies te versamel benewens om met AWS stelsels bestuurder SSM te kommunikeer (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
- **Laai** en **installeer** die **agent** op die EC2 instansie ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Jy kan dit van binne die EC2 aflaai of dit outomaties installeer met behulp van AWS Stelselsbestuurder deur die pakket AWS-ConfigureAWSPackage te kies.
- **Konfigureer** en **begin** die CloudWatch Agent

'n Log groep het baie strome. 'n Stroom het baie gebeurtenisse. En binne elke stroom, is die gebeurtenisse gewaarborg om in volgorde te wees.

## Enumerasie
```bash
# 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`**

'n Aanvaller met hierdie toestemmings kan 'n organisasie se monitering en waarskuwing infrastruktuur aansienlik ondermyn. Deur bestaande alarms te verwyder, kan 'n aanvaller belangrike waarskuwings deaktiveer wat administrateurs in kennis stel van kritieke prestasieprobleme, sekuriteitsbreuke of operasionele mislukkings. Verder, deur metrieksalarms te skep of te wysig, kan die aanvaller ook administrateurs mislei met vals waarskuwings of wettige alarms stilmaak, wat effektief kwaadwillige aktiwiteite verberg en tydige reaksies op werklike voorvalle voorkom.

Boonop, met die **`cloudwatch:PutCompositeAlarm`** toestemming, sal 'n aanvaller in staat wees om 'n lus of siklus van saamgestelde alarms te skep, waar saamgestelde alarm A afhanklik is van saamgestelde alarm B, en saamgestelde alarm B ook afhanklik is van saamgestelde alarm A. In hierdie scenario is dit nie moontlik om enige saamgestelde alarm wat deel van die siklus is, te verwyder nie, omdat daar altyd steeds 'n saamgestelde alarm is wat afhanklik is van daardie alarm wat jy wil verwyder.
```bash
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>] ]
```
Die volgende voorbeeld toon hoe om 'n metriek alarm ondoeltreffend te maak:

- Hierdie metriek alarm monitor die gemiddelde CPU benutting van 'n spesifieke EC2 instansie, evalueer die metriek elke 300 sekondes en vereis 6 evaluasieperiodes (30 minute in totaal). As die gemiddelde CPU benutting 60% oorskry vir ten minste 4 van hierdie periodes, sal die alarm geaktiveer word en 'n kennisgewing na die gespesifiseerde SNS onderwerp stuur.
- Deur die Drempel aan te pas om meer as 99% te wees, die Periode op 10 sekondes te stel, die Evaluasieperiodes op 8640 (aangesien 8640 periodes van 10 sekondes gelyk is aan 1 dag), en die Datapunte na Alarm ook op 8640, sal dit nodig wees dat die CPU benutting elke 10 sekondes oor 99% moet wees gedurende die hele 24-uur periode om 'n alarm te aktiveer.

{{#tabs }}
{{#tab name="Original Metric Alarm" }}
```json
{
"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"
}
```
{{#endtab }}

{{#tab name="Gewysigde Metriek Alarm" }}
```json
{
"Namespace": "AWS/EC2",
"MetricName": "CPUUtilization",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-0645d6d414dadf9f8"
}
],
"AlarmActions": [],
"ComparisonOperator": "GreaterThanThreshold",
"DatapointsToAlarm": 8640,
"EvaluationPeriods": 8640,
"Period": 10,
"Statistic": "Average",
"Threshold": 99,
"AlarmDescription": "CPU Utilization of i-01234567890123456 with 60% as threshold",
"AlarmName": "Instance i-0645d6d414dadf9f8 CPU Utilization"
}
```
{{#endtab }}
{{#endtabs }}

**Potensiële Impak**: Gebrek aan kennisgewings vir kritieke gebeurtenisse, potensiële onopgemerkte probleme, vals waarskuwings, onderdruk werklike waarskuwings en moontlik gemiste opsporings van werklike voorvalle.

### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions` , `cloudwatch:SetAlarmState`**

Deur alarm aksies te verwyder, kan die aanvaller kritieke waarskuwings en outomatiese reaksies voorkom wanneer 'n alarmtoestand bereik word, soos om administrateurs te kennisgewing of outo-skaalaktiwiteite te aktiveer. Onbehoorlike aktivering of heraktivering van alarm aksies kan ook lei tot onverwagte gedrag, hetsy deur voorheen gedeaktiveerde aksies te heraktiveer of deur te verander watter aksies geaktiveer word, wat moontlik verwarring en verkeerde rigting in voorvalreaksie kan veroorsaak.

Boonop kan 'n aanvaller met die toestemming alarmtoestande manipuleer, in staat om vals alarms te skep om administrateurs te aflei en te verwarr, of werklike alarms te stil om aanhoudende kwaadwillige aktiwiteite of kritieke stelselfoute te verberg.

- As jy **`SetAlarmState`** op 'n saamgestelde alarm gebruik, is dit nie gewaarborg dat die saamgestelde alarm na sy werklike toestand terugkeer nie. Dit keer terug na sy werklike toestand slegs wanneer enige van sy kinderalarms toestand verander. Dit word ook herbeoordeel as jy sy konfigurasie opdateer.
```bash
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>]
```
**Potensiële Impak**: Gebrek aan kennisgewings vir kritieke gebeurtenisse, potensiële onopgemerkte probleme, vals waarskuwings, onderdruk werklike waarskuwings en moontlik gemiste opsporings van werklike voorvalle.

### **`cloudwatch:DeleteAnomalyDetector`, `cloudwatch:PutAnomalyDetector`**

'n Aanvaller sou in staat wees om die vermoë om ongewoon patrone of anomalieë in metrieke data op te spoor en daarop te reageer, te kompromitteer. Deur bestaande anomaliedetektore te verwyder, kan 'n aanvaller kritieke waarskuwingmeganismes deaktiveer; en deur hulle te skep of te wysig, sou dit in staat wees om ofwel verkeerd te konfigureer of vals positiewe te skep om die monitering te verwar of te oorweldig.
```bash
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>]
```
Die volgende voorbeeld toon hoe om 'n metrieke anomalie-detektor ondoeltreffend te maak. Hierdie metrieke anomalie-detektor monitor die gemiddelde CPU-gebruik van 'n spesifieke EC2-instansie, en net deur die “ExcludedTimeRanges” parameter met die gewenste tydsbereik by te voeg, sal dit genoeg wees om te verseker dat die anomalie-detektor nie enige relevante data gedurende daardie tydperk analiseer of waarsku nie.

{{#tabs }}
{{#tab name="Original Metric Anomaly Detector" }}
```json
{
"SingleMetricAnomalyDetector": {
"Namespace": "AWS/EC2",
"MetricName": "CPUUtilization",
"Stat": "Average",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-0123456789abcdefg"
}
]
}
}
```
{{#endtab }}

{{#tab name="Gewysigde Metriek Anomalie Detektor" }}
```json
{
"SingleMetricAnomalyDetector": {
"Namespace": "AWS/EC2",
"MetricName": "CPUUtilization",
"Stat": "Average",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-0123456789abcdefg"
}
]
},
"Configuration": {
"ExcludedTimeRanges": [
{
"StartTime": "2023-01-01T00:00:00Z",
"EndTime": "2053-01-01T23:59:59Z"
}
],
"Timezone": "Europe/Madrid"
}
}
```
{{#endtab }}
{{#endtabs }}

**Potensiële Impak**: Direkte effek op die opsporing van ongewone patrone of sekuriteitsbedreigings.

### **`cloudwatch:DeleteDashboards`, `cloudwatch:PutDashboard`**

'n Aanvaller sou in staat wees om die monitering en visualisering vermoëns van 'n organisasie te kompromitteer deur sy dashboards te skep, te wysig of te verwyder. Hierdie toestemmings kan benut word om kritieke sigbaarheid in die prestasie en gesondheid van stelsels te verwyder, dashboards te verander om verkeerde data te vertoon of kwaadwillige aktiwiteite te verberg.
```bash
aws cloudwatch delete-dashboards --dashboard-names <value>
aws cloudwatch put-dashboard --dashboard-name <value> --dashboard-body <value>
```
**Potensiële Impak**: Verlies van moniteringssigbaarheid en misleidende inligting.

### **`cloudwatch:DeleteInsightRules`, `cloudwatch:PutInsightRule` ,`cloudwatch:PutManagedInsightRule`**

Inligtingsreëls word gebruik om anomalieë te detecteer, prestasie te optimaliseer en hulpbronne effektief te bestuur. Deur bestaande inligtingsreëls te verwyder, kan 'n aanvaller kritieke moniteringsvermoëns verwyder, wat die stelsel blind laat vir prestasieprobleme en sekuriteitsbedreigings. Boonop kan 'n aanvaller inligtingsreëls skep of wysig om misleidende data te genereer of kwaadwillige aktiwiteite te verberg, wat lei tot onakkurate diagnosering en onvanpaste reaksies van die operasiespan.
```bash
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>
```
**Potensiële Impak**: Moeilikheid om prestasieprobleme en anomalieë te detecteer en daarop te reageer, verkeerd ingeligte besluitneming en moontlik die verborge van kwaadwillige aktiwiteite of stelselfoute.

### **`cloudwatch:DisableInsightRules`, `cloudwatch:EnableInsightRules`**

Deur kritieke insigreëls te deaktiveer, kan 'n aanvaller die organisasie effektief blind maak vir sleutelprestasie- en sekuriteitsmetrieke. Omgekeerd, deur misleidende reëls in te skakel of te konfigureer, kan dit moontlik wees om vals data te genereer, geraas te skep, of kwaadwillige aktiwiteit te verberg.
```bash
aws cloudwatch disable-insight-rules --rule-names <value>
aws cloudwatch enable-insight-rules --rule-names <value>
```
**Potensiële Impak**: Verwarring onder die operasiespan, wat lei tot vertraagde reaksies op werklike probleme en onnodige aksies gebaseer op vals waarskuwings.

### **`cloudwatch:DeleteMetricStream` , `cloudwatch:PutMetricStream` , `cloudwatch:PutMetricData`**

'n Aanvaller met die **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream`** regte sou in staat wees om metrieke data strome te skep en te verwyder, wat die sekuriteit, monitering en data integriteit in gevaar stel:

- **Skep kwaadwillige strome**: Skep metrieke strome om sensitiewe data na nie-geautoriseerde bestemmings te stuur.
- **Hulpbron manipulasie**: Die skep van nuwe metrieke strome met oormatige data kan baie geraas veroorsaak, wat onakkurate waarskuwings veroorsaak en werklike probleme verdoesel.
- **Monitering onderbreking**: Deur metrieke strome te verwyder, sou aanvallers die deurlopende vloei van moniteringsdata onderbreek. Op hierdie manier sou hul kwaadwillige aktiwiteite effektief verborge wees.

Op soortgelyke wyse, met die **`cloudwatch:PutMetricData`** toestemming, sou dit moontlik wees om data aan 'n metrieke stroom toe te voeg. Dit kan lei tot 'n DoS as gevolg van die hoeveelheid onvanpaste data wat bygevoeg word, wat dit heeltemal nutteloos maak.
```bash
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>]
```
Voorbeeld van die toevoeging van data wat ooreenstem met 'n 70% CPU benutting oor 'n gegewe EC2-instansie:
```bash
aws cloudwatch put-metric-data --namespace "AWS/EC2" --metric-name "CPUUtilization" --value 70 --unit "Percent" --dimensions "InstanceId=i-0123456789abcdefg"
```
**Potensiële Impak**: Ontwrichting in die vloei van moniteringsdata, wat die opsporing van anomalieë en voorvalle beïnvloed, hulpbronmanipulasie en koste wat toeneem as gevolg van die skep van oortollige metriekstrome.

### **`cloudwatch:StopMetricStreams`, `cloudwatch:StartMetricStreams`**

'n Aanvaller sou die vloei van die geaffekteerde metriekdatastrome beheer (elke datastroom as daar geen hulpbronbeperking is nie). Met die toestemming **`cloudwatch:StopMetricStreams`**, kan aanvallers hul kwaadwillige aktiwiteite verberg deur kritieke metriekstrome te stop.
```bash
aws cloudwatch stop-metric-streams --names <value>
aws cloudwatch start-metric-streams --names <value>
```
**Potensiële Impak**: Ontwrichting in die vloei van moniteringsdata, wat die opsporing van anomalieë en voorvalle beïnvloed.

### **`cloudwatch:TagResource`, `cloudwatch:UntagResource`**

'n Aanvaller sal in staat wees om etikette by te voeg, te wysig of te verwyder van CloudWatch hulpbronne (huidiglik slegs alarms en Contributor Insights reëls). Dit kan jou organisasie se toegangbeheerbeleide op grond van etikette ontwrig.
```bash
aws cloudwatch tag-resource --resource-arn <value> --tags <value>
aws cloudwatch untag-resource --resource-arn <value> --tag-keys <value>
```
**Potensiële Impak**: Ontwrichting van etiket-gebaseerde toegangbeheerbeleide.

## Verwysings

- [https://cloudsecdocs.com/aws/services/logging/cloudwatch/](https://cloudsecdocs.com/aws/services/logging/cloudwatch/#general-info)
- [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatch.html](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](https://docs.aws.amazon.com/es_es/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric)

{{#include ../../../../banners/hacktricks-training.md}}
