AWS - CloudWatch Enum

Unterstützen Sie HackTricks

CloudWatch

CloudWatch sammelt Überwachungs- und Betriebsdaten in Form von Protokollen/Metriken/Ereignissen und bietet eine einheitliche Ansicht der AWS-Ressourcen, Anwendungen und Dienste. CloudWatch-Protokollereignisse haben eine Größenbeschränkung von 256 KB pro Protokollzeile. Es können Hochauflösungsalarme festgelegt, Protokolle und Metriken nebeneinander visualisiert, automatisierte Aktionen durchgeführt, Probleme behoben und Erkenntnisse zur Optimierung von Anwendungen gewonnen werden.

Sie können beispielsweise Protokolle von CloudTrail überwachen. Überwachte Ereignisse:

Schlüsselkonzepte

Namensräume

Ein Namespace ist ein Container für CloudWatch-Metriken. Er hilft dabei, Metriken zu kategorisieren und zu isolieren, was das Verwalten und Analysieren erleichtert.

  • Beispiele: AWS/EC2 für EC2-bezogene Metriken, AWS/RDS für RDS-Metriken.

Metriken

Metriken sind im Laufe der Zeit gesammelte Datenpunkte, die die Leistung oder Auslastung von AWS-Ressourcen darstellen. Metriken können von AWS-Diensten, benutzerdefinierten Anwendungen oder Integrationen von Drittanbietern gesammelt werden.

  • Beispiel: CPU-Auslastung, Netzwerkeingang, Festplatten-Lesevorgänge.

Dimensionen

Dimensionen sind Schlüssel-Wert-Paare, die Teil von Metriken sind. Sie helfen dabei, eine Metrik eindeutig zu identifizieren und zusätzlichen Kontext bereitzustellen. Es können bis zu 30 Dimensionen mit einer Metrik verknüpft werden. Dimensionen ermöglichen es auch, Metriken basierend auf spezifischen Attributen zu filtern und zu aggregieren.

  • Beispiel: Für EC2-Instanzen könnten Dimensionen InstanceId, InstanceType und AvailabilityZone umfassen.

Statistiken

Statistiken sind mathematische Berechnungen, die an Metrikdaten durchgeführt werden, um sie im Laufe der Zeit zusammenzufassen. Häufige Statistiken umfassen Durchschnitt, Summe, Minimum, Maximum und Stichprobenanzahl.

  • Beispiel: Berechnung der durchschnittlichen CPU-Auslastung über einen Zeitraum von einer Stunde.

Einheiten

Einheiten sind der mit einer Metrik verbundene Messungstyp. Einheiten helfen dabei, Kontext und Bedeutung für die Metrikdaten bereitzustellen. Häufige Einheiten sind Prozent, Bytes, Sekunden, Anzahl.

  • Beispiel: CPU-Auslastung könnte in Prozent gemessen werden, während Netzwerkeingang in Bytes gemessen werden könnte.

CloudWatch-Funktionen

Dashboard

CloudWatch-Dashboards bieten anpassbare Ansichten Ihrer AWS CloudWatch-Metriken. Es ist möglich, Dashboards zu erstellen und zu konfigurieren, um Daten zu visualisieren und Ressourcen in einer einzigen Ansicht zu überwachen, indem verschiedene Metriken aus verschiedenen AWS-Diensten kombiniert werden.

Hauptfunktionen:

  • Widgets: Bausteine von Dashboards, einschließlich Diagrammen, Text, Alarmen und mehr.

  • Anpassung: Layout und Inhalt können angepasst werden, um spezifische Überwachungsanforderungen zu erfüllen.

Beispiel-Anwendungsfall:

  • Ein einzelnes Dashboard, das wichtige Metriken für Ihre gesamte AWS-Umgebung anzeigt, einschließlich EC2-Instanzen, RDS-Datenbanken und S3-Buckets.

Metrik-Stream und Metrikdaten

Metrik-Streams in AWS CloudWatch ermöglichen es Ihnen, kontinuierlich CloudWatch-Metriken in Echtzeit an ein Ziel Ihrer Wahl zu streamen. Dies ist besonders nützlich für erweiterte Überwachung, Analytik und benutzerdefinierte Dashboards unter Verwendung von Tools außerhalb von AWS.

Metrikdaten in Metrik-Streams beziehen sich auf die tatsächlichen Messungen oder Datenpunkte, die gestreamt werden. Diese Datenpunkte repräsentieren verschiedene Metriken wie CPU-Auslastung, Speicherauslastung usw. für AWS-Ressourcen.

Beispiel-Anwendungsfall:

  • Senden von Echtzeitmetriken an einen Überwachungsdienst eines Drittanbieters für eine fortgeschrittene Analyse.

  • Archivierung von Metriken in einem Amazon S3-Bucket für Langzeit-Speicherung und Compliance.

Alarm

CloudWatch-Alarme überwachen Ihre Metriken und führen Aktionen basierend auf vordefinierten Schwellenwerten aus. Wenn eine Metrik einen Schwellenwert überschreitet, kann der Alarm eine oder mehrere Aktionen ausführen, wie z.B. Benachrichtigungen über SNS senden, eine automatische Skalierungsrichtlinie auslösen oder eine AWS Lambda-Funktion ausführen.

Hauptkomponenten:

  • Schwellenwert: Der Wert, bei dem der Alarm ausgelöst wird.

  • Auswertungszeiträume: Die Anzahl der Zeiträume, über die Daten ausgewertet werden.

  • Datenpunkte zum Alarm: Die Anzahl der Zeiträume mit einem erreichten Schwellenwert, die erforderlich sind, um den Alarm auszulösen.

  • Aktionen: Was passiert, wenn ein Alarmzustand ausgelöst wird (z.B. Benachrichtigung über SNS senden).

Beispiel-Anwendungsfall:

  • Überwachung der CPU-Auslastung einer EC2-Instanz und Senden einer Benachrichtigung über SNS, wenn sie 80 % für 5 aufeinanderfolgende Minuten überschreitet.

Anomalie-Detektoren

Anomalie-Detektoren verwenden maschinelles Lernen, um automatisch Anomalien in Ihren Metriken zu erkennen. Sie können die Anomalieerkennung auf jede CloudWatch-Metrik anwenden, um Abweichungen von normalen Mustern zu identifizieren, die auf Probleme hinweisen könnten.

Hauptkomponenten:

  • Modelltraining: CloudWatch verwendet historische Daten, um ein Modell zu trainieren und festzulegen, wie normales Verhalten aussieht.

  • Anomalieerkennungsband: Eine visuelle Darstellung des erwarteten Wertebereichs für eine Metrik.

Beispiel-Anwendungsfall:

  • Erkennung ungewöhnlicher CPU-Auslastungsmuster in einer EC2-Instanz, die auf einen Sicherheitsvorfall oder ein Anwendungsproblem hinweisen könnten.

Insight-Regeln und verwaltete Insight-Regeln

Insight-Regeln ermöglichen es Ihnen, Trends, Spitzen oder andere interessante Muster in Ihren Metrikdaten zu identifizieren, indem Sie leistungsstarke mathematische Ausdrücke verwenden, um die Bedingungen festzulegen, unter denen Aktionen ausgeführt werden sollen. Diese Regeln können Ihnen helfen, Anomalien oder ungewöhnliches Verhalten in der Leistung und Auslastung Ihrer Ressourcen zu identifizieren.

Verwaltete Insight-Regeln sind vorab konfigurierte Insight-Regeln, die von AWS bereitgestellt werden. Sie sind darauf ausgelegt, spezifische AWS-Dienste oder häufige Anwendungsfälle zu überwachen und können ohne detaillierte Konfiguration aktiviert werden.

Beispiel-Anwendungsfall:

  • Überwachung der RDS-Performance: Aktivieren einer verwalteten Insight-Regel für Amazon RDS, die wichtige Leistungsindikatoren wie CPU-Auslastung, Speicherauslastung und Festplatten-I/O überwacht. Wenn einer dieser Metriken sicheren Betriebsgrenzen überschreitet, kann die Regel einen Alarm auslösen oder eine automatisierte Maßnahme ergreifen.

CloudWatch-Protokolle

Ermöglicht das Aggregieren und Überwachen von Protokollen aus Anwendungen und Systemen von AWS-Diensten (einschließlich CloudTrail) und von Apps/Systemen (CloudWatch-Agent kann auf einem Host installiert werden). Protokolle können unbegrenzt gespeichert werden (abhängig von den Einstellungen der Protokollgruppe) und können exportiert werden.

Elemente:

Protokollgruppe

Eine Sammlung von Protokollströmen, die dieselben Aufbewahrungs-, Überwachungs- und Zugriffskontrolleinstellungen teilen

Protokollstrom

Eine Sequenz von Protokollereignissen, die dieselbe Quelle teilen

Abonnementfilter

Definieren eines Filtermusters, das Ereignisse in einer bestimmten Protokollgruppe übereinstimmt, senden sie an einen Kinesis Data Firehose-Stream, Kinesis-Stream oder eine Lambda-Funktion

### CloudWatch Überwachung & Ereignisse

CloudWatch basic aggregiert Daten alle 5 Minuten (die detaillierte Version macht das alle 1 Minute). Nach der Aggregation überprüft es die Schwellenwerte der Alarme, falls einer ausgelöst werden muss. In diesem Fall kann CloudWatch so konfiguriert werden, dass es ein Ereignis sendet und automatische Aktionen ausführt (AWS Lambda-Funktionen, SNS-Themen, SQS-Warteschlangen, Kinesis-Streams)

Agenteninstallation

Sie können Agenten in Ihren Maschinen/Containern installieren, um die Protokolle automatisch an CloudWatch zurückzusenden.

  • Erstellen Sie eine Rolle und fügen Sie sie dem Instanz hinzu, mit Berechtigungen, die es CloudWatch ermöglichen, Daten von den Instanzen zu sammeln, zusätzlich zur Interaktion mit dem AWS-System-Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)

  • Herunterladen und installieren Sie den Agenten auf der EC2-Instanz (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). Sie können ihn von innerhalb der EC2 herunterladen oder ihn automatisch mit AWS System Manager installieren, indem Sie das Paket AWS-ConfigureAWSPackage auswählen

  • Konfigurieren und starten Sie den CloudWatch-Agenten

Eine Protokollgruppe hat viele Streams. Ein Stream hat viele Ereignisse. Und innerhalb jedes Streams sind die Ereignisse garantiert in der richtigen Reihenfolge.

# 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 / Umgehung

cloudwatch:DeleteAlarms,cloudwatch:PutMetricAlarm , cloudwatch:PutCompositeAlarm

Ein Angreifer mit diesen Berechtigungen könnte die Überwachungs- und Alarminfrastruktur einer Organisation erheblich untergraben. Durch das Löschen bestehender Alarme könnte ein Angreifer wichtige Benachrichtigungen deaktivieren, die Administratoren über kritische Leistungsprobleme, Sicherheitsverletzungen oder Betriebsausfälle informieren. Darüber hinaus könnte der Angreifer durch das Erstellen oder Ändern von Metrikalarmen auch Administratoren mit falschen Alarmen täuschen oder legitime Alarme zum Schweigen bringen, um bösartige Aktivitäten zu verschleiern und zeitnahe Reaktionen auf tatsächliche Vorfälle zu verhindern.

Darüber hinaus könnte ein Angreifer mit der Berechtigung cloudwatch:PutCompositeAlarm eine Schleife oder einen Zyklus von Verbundalarmen erstellen, bei dem Verbundalarm A von Verbundalarm B abhängt und Verbundalarm B auch von Verbundalarm A abhängt. In diesem Szenario ist es nicht möglich, einen Verbundalarm zu löschen, der Teil des Zyklus ist, da immer noch ein Verbundalarm vorhanden ist, der von dem Alarm abhängt, den Sie löschen möchten.

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 folgende Beispiel zeigt, wie man einen Metrik-Alarm unwirksam macht:

  • Dieser Metrik-Alarm überwacht die durchschnittliche CPU-Auslastung einer bestimmten EC2-Instanz, bewertet die Metrik alle 300 Sekunden und erfordert 6 Auswertungszeiträume (insgesamt 30 Minuten). Wenn die durchschnittliche CPU-Auslastung für mindestens 4 dieser Zeiträume über 60% liegt, wird der Alarm ausgelöst und eine Benachrichtigung an das angegebene SNS-Thema gesendet.

  • Durch Ändern des Schwellenwerts auf mehr als 99%, Einstellen des Zeitraums auf 10 Sekunden, der Auswertungszeiträume auf 8640 (da 8640 Zeiträume von 10 Sekunden einem Tag entsprechen) und der Datenpunkte für den Alarm ebenfalls auf 8640, müsste die CPU-Auslastung während des gesamten 24-Stunden-Zeitraums alle 10 Sekunden über 99% liegen, um einen Alarm auszulösen.

{
"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"
}

Potenzielle Auswirkungen: Fehlende Benachrichtigungen über kritische Ereignisse, potenziell unentdeckte Probleme, falsche Alarme unterdrücken und möglicherweise echte Vorfälle übersehen.

cloudwatch:DeleteAlarmActions, cloudwatch:EnableAlarmActions , cloudwatch:SetAlarmState

Durch das Löschen von Alarmaktionen könnte der Angreifer verhindern, dass kritische Warnungen und automatisierte Reaktionen ausgelöst werden, wenn ein Alarmpunkt erreicht wird, z. B. Benachrichtigung von Administratoren oder Auslösen von automatischen Skalierungsaktivitäten. Das unangemessene Aktivieren oder Wiederaktivieren von Alarmaktionen könnte auch zu unerwartetem Verhalten führen, entweder durch Reaktivierung zuvor deaktivierter Aktionen oder durch Änderung der ausgelösten Aktionen, was potenziell Verwirrung und Fehlleitung in der Vorfallreaktion verursachen könnte.

Darüber hinaus könnte ein Angreifer mit den entsprechenden Berechtigungen Alarmzustände manipulieren, um falsche Alarme zu erzeugen, um Administratoren abzulenken und zu verwirren, oder echte Alarme zum Schweigen zu bringen, um laufende bösartige Aktivitäten oder kritische Systemausfälle zu verbergen.

  • Wenn Sie SetAlarmState bei einem Verbundalarm verwenden, ist nicht garantiert, dass der Verbundalarm zu seinem tatsächlichen Zustand zurückkehrt. Er kehrt nur zu seinem tatsächlichen Zustand zurück, sobald einer seiner Kinderalarme den Zustand ändert. Er wird auch neu bewertet, wenn Sie seine Konfiguration aktualisieren.

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>]

Potenzielle Auswirkungen: Fehlende Benachrichtigungen über kritische Ereignisse, potenziell unentdeckte Probleme, falsche Alarme, echte Alarme unterdrücken und potenziell verpasste Erkennung von echten Vorfällen.

cloudwatch:DeleteAnomalyDetector, cloudwatch:PutAnomalyDetector

Ein Angreifer könnte die Fähigkeit zur Erkennung und Reaktion auf ungewöhnliche Muster oder Anomalien in Metrikdaten kompromittieren. Durch Löschen vorhandener Anomalieerkennungen könnte ein Angreifer kritische Alarmmechanismen deaktivieren; und durch Erstellen oder Modifizieren von ihnen könnte entweder eine falsche Konfiguration vorgenommen oder falsche Positivmeldungen erstellt werden, um das Monitoring abzulenken oder zu überlasten.

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>]

Das folgende Beispiel zeigt, wie man einen Metrikanomalie-Detektor unwirksam macht. Dieser Metrikanomalie-Detektor überwacht die durchschnittliche CPU-Auslastung einer bestimmten EC2-Instanz, und allein durch das Hinzufügen des Parameters "ExcludedTimeRanges" mit dem gewünschten Zeitraum wäre es ausreichend, um sicherzustellen, dass der Anomalie-Detektor keine relevanten Daten während dieses Zeitraums analysiert oder Alarme auslöst.

{
"SingleMetricAnomalyDetector": {
"Namespace": "AWS/EC2",
"MetricName": "CPUUtilization",
"Stat": "Average",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-0123456789abcdefg"
}
]
}
}
{
"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"
}
}

Potenzielle Auswirkungen: Direkte Auswirkung auf die Erkennung ungewöhnlicher Muster oder Sicherheitsbedrohungen.

cloudwatch:DeleteDashboards, cloudwatch:PutDashboard

Ein Angreifer könnte die Überwachungs- und Visualisierungsfähigkeiten einer Organisation kompromittieren, indem er deren Dashboards erstellt, modifiziert oder löscht. Diese Berechtigungen könnten genutzt werden, um die kritische Sichtbarkeit in die Leistung und Gesundheit von Systemen zu entfernen, Dashboards zu ändern, um falsche Daten anzuzeigen oder bösartige Aktivitäten zu verbergen.

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

Potenzielle Auswirkungen: Verlust der Überwachungssichtbarkeit und irreführende Informationen.

cloudwatch:DeleteInsightRules, cloudwatch:PutInsightRule ,cloudwatch:PutManagedInsightRule

Insight-Regeln werden verwendet, um Anomalien zu erkennen, die Leistung zu optimieren und Ressourcen effektiv zu verwalten. Durch das Löschen bestehender Insight-Regeln könnte ein Angreifer kritische Überwachungsfunktionen entfernen, sodass das System blind für Leistungsprobleme und Sicherheitsbedrohungen wird. Darüber hinaus könnte ein Angreifer Insight-Regeln erstellen oder ändern, um irreführende Daten zu generieren oder bösartige Aktivitäten zu verbergen, was zu falschen Diagnosen und unangemessenen Reaktionen des Betriebsteams führen könnte.

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>

Potenzielle Auswirkungen: Schwierigkeiten bei der Erkennung und Reaktion auf Leistungsprobleme und Anomalien, fehlerhafte Entscheidungsfindung und möglicherweise das Verbergen von bösartigen Aktivitäten oder Systemausfällen.

cloudwatch:DisableInsightRules, cloudwatch:EnableInsightRules

Durch Deaktivieren kritischer Einsichtsregeln könnte ein Angreifer die Organisation effektiv blind für wichtige Leistungs- und Sicherheitsmetriken machen. Umgekehrt könnte es durch Aktivieren oder Konfigurieren irreführender Regeln möglich sein, falsche Daten zu generieren, Lärm zu erzeugen oder bösartige Aktivitäten zu verbergen.

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

Potenzielle Auswirkungen: Verwirrung im Betriebsteam, was zu verzögerten Reaktionen auf tatsächliche Probleme und unnötigen Aktionen aufgrund falscher Alarme führen kann.

cloudwatch:DeleteMetricStream, cloudwatch:PutMetricStream, cloudwatch:PutMetricData

Ein Angreifer mit den Berechtigungen cloudwatch:DeleteMetricStream, cloudwatch:PutMetricStream könnte Metrikdatenströme erstellen und löschen, was die Sicherheit, Überwachung und Datenintegrität gefährden würde:

  • Erstellen von bösartigen Strömen: Erstellen von Metrikdatenströmen, um sensible Daten an nicht autorisierte Ziele zu senden.

  • Ressourcenmanipulation: Das Erstellen neuer Metrikdatenströme mit übermäßigen Daten könnte viel Lärm verursachen, falsche Alarme auslösen und echte Probleme maskieren.

  • Überwachungsstörung: Durch Löschen von Metrikdatenströmen würden Angreifer den kontinuierlichen Datenfluss der Überwachung unterbrechen. Auf diese Weise könnten ihre bösartigen Aktivitäten effektiv verborgen werden.

Ebenso wäre es mit der Berechtigung cloudwatch:PutMetricData möglich, Daten zu einem Metrikdatenstrom hinzuzufügen. Dies könnte zu einem DoS führen, aufgrund der Menge an falschen Daten, die hinzugefügt werden, was den Datenstrom vollständig nutzlos machen würde.

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>]

Beispiel für das Hinzufügen von Daten, die einer CPU-Auslastung von 70% über einer bestimmten EC2-Instanz entsprechen:

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

Potenzielle Auswirkungen: Störung des Datenüberwachungsflusses, Beeinträchtigung der Erkennung von Anomalien und Vorfällen, Ressourcenmanipulation und Kostensteigerung aufgrund der Erstellung übermäßiger Metrikstreams.

cloudwatch:StopMetricStreams, cloudwatch:StartMetricStreams

Ein Angreifer könnte den Fluss der betroffenen Metrikdatenströme kontrollieren (jeden Datenstrom, wenn keine Ressourcenbeschränkung vorliegt). Mit der Berechtigung cloudwatch:StopMetricStreams könnten Angreifer ihre bösartigen Aktivitäten verbergen, indem sie kritische Metrikstreams stoppen.

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

Potenzielle Auswirkungen: Störung des Datenüberwachungsflusses, was sich auf die Erkennung von Anomalien und Vorfällen auswirken könnte.

cloudwatch:TagResource, cloudwatch:UntagResource

Ein Angreifer könnte Tags zu CloudWatch-Ressourcen hinzufügen, ändern oder entfernen (derzeit nur Alarme und Contributor Insights-Regeln). Dies könnte die Zugriffskontrollrichtlinien Ihrer Organisation stören, die auf Tags basieren.

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

Potenzielle Auswirkungen: Störung von zugriffsbasierten Richtlinien zur Tag-Steuerung.

Referenzen

Unterstützen Sie HackTricks

Last updated