AWS - CloudWatch Enum

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

CloudWatch

CloudWatch συλλέγει δεδομένα παρακολούθησης και λειτουργίας με τη μορφή logs/metrics/events παρέχοντας μια ενιαία εικόνα των πόρων AWS, εφαρμογών και υπηρεσιών.
Το CloudWatch Log Event έχει περιορισμό μεγέθους 256KB σε κάθε γραμμή log.
Μπορεί να ρυθμίσει υψηλής ανάλυσης συναγερμούς, να οπτικοποιήσει logs και metrics δίπλα-δίπλα, να εκτελεί αυτοματοποιημένες ενέργειες, να επιλύει προβλήματα και να ανακαλύπτει πληροφορίες για τη βελτιστοποίηση εφαρμογών.

Μπορείτε να παρακολουθήσετε, για παράδειγμα, logs από το CloudTrail. Τα γεγονότα που παρακολουθούνται:

  • Αλλαγές σε Security Groups και NACLs
  • Εκκίνηση, διακοπή, επανεκκίνηση και τερματισμός EC2 instances
  • Αλλαγές σε Security Policies εντός IAM και S3
  • Αποτυχημένες προσπάθειες σύνδεσης στο AWS Management Console
  • Κλήσεις API που οδήγησαν σε αποτυχημένη εξουσιοδότηση
  • Φίλτρα για αναζήτηση στο cloudwatch: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html

Key concepts

Namespaces

Ένα namespace είναι ένα δοχείο για τα metrics του CloudWatch. Βοηθά στην κατηγοριοποίηση και απομόνωση των metrics, διευκολύνοντας τη διαχείριση και ανάλυσή τους.

  • Παραδείγματα: AWS/EC2 για metrics που σχετίζονται με EC2, AWS/RDS για metrics RDS.

Metrics

Τα metrics είναι σημεία δεδομένων που συλλέγονται με την πάροδο του χρόνου και αντιπροσωπεύουν την απόδοση ή τη χρήση των πόρων AWS. Τα metrics μπορούν να συλλέγονται από υπηρεσίες AWS, προσαρμοσμένες εφαρμογές ή τρίτες ενσωματώσεις.

  • Παράδειγμα: CPUUtilization, NetworkIn, DiskReadOps.

Dimensions

Οι διαστάσεις είναι ζεύγη κλειδιού-τιμής που είναι μέρος των metrics. Βοηθούν στην μοναδική αναγνώριση ενός metric και παρέχουν επιπλέον συμφραζόμενα, με 30 να είναι ο μέγιστος αριθμός διαστάσεων που μπορεί να συσχετιστεί με ένα metric. Οι διαστάσεις επιτρέπουν επίσης την φιλτράρισμα και την ομαδοποίηση των metrics με βάση συγκεκριμένα χαρακτηριστικά.

  • Παράδειγμα: Για τα EC2 instances, οι διαστάσεις μπορεί να περιλαμβάνουν InstanceId, InstanceType και AvailabilityZone.

Statistics

Οι στατιστικές είναι μαθηματικοί υπολογισμοί που εκτελούνται σε δεδομένα metrics για να τα συνοψίσουν με την πάροδο του χρόνου. Κοινές στατιστικές περιλαμβάνουν Μέσο Όρο, Άθροισμα, Ελάχιστο, Μέγιστο και Δείγμα.

  • Παράδειγμα: Υπολογισμός του μέσου όρου χρήσης CPU σε μια περίοδο μίας ώρας.

Units

Οι μονάδες είναι ο τύπος μέτρησης που σχετίζεται με ένα metric. Οι μονάδες βοηθούν να παρέχουν συμφραζόμενα και νόημα στα δεδομένα του metric. Κοινές μονάδες περιλαμβάνουν Ποσοστό, Bytes, Δευτερόλεπτα, Πλήθος.

  • Παράδειγμα: Το CPUUtilization μπορεί να μετρηθεί σε Ποσοστό, ενώ το NetworkIn μπορεί να μετρηθεί σε Bytes.

CloudWatch Features

Dashboard

CloudWatch Dashboards παρέχουν προσαρμόσιμες εικόνες των metrics του AWS CloudWatch. Είναι δυνατή η δημιουργία και ρύθμιση dashboards για την οπτικοποίηση δεδομένων και την παρακολούθηση πόρων σε μία μόνο εικόνα, συνδυάζοντας διάφορα metrics από διάφορες υπηρεσίες AWS.

Κύρια Χαρακτηριστικά:

  • Widgets: Βασικά στοιχεία των dashboards, συμπεριλαμβανομένων γραφημάτων, κειμένου, συναγερμών και άλλων.
  • Προσαρμογή: Η διάταξη και το περιεχόμενο μπορούν να προσαρμοστούν για να ταιριάζουν σε συγκεκριμένες ανάγκες παρακολούθησης.

Παράδειγμα Χρήσης:

  • Ένα μόνο dashboard που δείχνει τα κύρια metrics για ολόκληρο το περιβάλλον AWS σας, συμπεριλαμβανομένων των EC2 instances, RDS βάσεων δεδομένων και S3 buckets.

Metric Stream and Metric Data

Metric Streams στο AWS CloudWatch σας επιτρέπουν να μεταδίδετε συνεχώς τα metrics του CloudWatch σε έναν προορισμό της επιλογής σας σε σχεδόν πραγματικό χρόνο. Αυτό είναι ιδιαίτερα χρήσιμο για προηγμένη παρακολούθηση, αναλύσεις και προσαρμοσμένα dashboards χρησιμοποιώντας εργαλεία εκτός του AWS.

Metric Data μέσα στα Metric Streams αναφέρεται στις πραγματικές μετρήσεις ή σημεία δεδομένων που μεταδίδονται. Αυτά τα σημεία δεδομένων αντιπροσωπεύουν διάφορα metrics όπως η χρήση CPU, η χρήση μνήμης, κ.λπ., για τους πόρους AWS.

Παράδειγμα Χρήσης:

  • Αποστολή πραγματικών metrics σε μια υπηρεσία παρακολούθησης τρίτου μέρους για προηγμένη ανάλυση.
  • Αρχειοθέτηση metrics σε ένα Amazon S3 bucket για μακροχρόνια αποθήκευση και συμμόρφωση.

Alarm

CloudWatch Alarms παρακολουθούν τα metrics σας και εκτελούν ενέργειες με βάση προκαθορισμένα όρια. Όταν ένα metric παραβιάσει ένα όριο, ο συναγερμός μπορεί να εκτελέσει μία ή περισσότερες ενέργειες όπως η αποστολή ειδοποιήσεων μέσω SNS, η ενεργοποίηση μιας πολιτικής αυτόματης κλιμάκωσης ή η εκτέλεση μιας λειτουργίας AWS Lambda.

Κύρια Στοιχεία:

  • Όριο: Η τιμή στην οποία ενεργοποιείται ο συναγερμός.
  • Περίοδοι Αξιολόγησης: Ο αριθμός των περιόδων κατά τις οποίες αξιολογούνται τα δεδομένα.
  • Δεδομένα για Συναγερμό: Ο αριθμός των περιόδων με επιτευχθέν όριο που απαιτούνται για να ενεργοποιηθεί ο συναγερμός.
  • Ενέργειες: Τι συμβαίνει όταν ενεργοποιείται η κατάσταση του συναγερμού (π.χ., ειδοποίηση μέσω SNS).

Παράδειγμα Χρήσης:

  • Παρακολούθηση της χρήσης CPU ενός EC2 instance και αποστολή ειδοποίησης μέσω SNS αν υπερβεί το 80% για 5 συνεχόμενα λεπτά.

Anomaly Detectors

Anomaly Detectors χρησιμοποιούν μηχανική μάθηση για να ανιχνεύσουν αυτόματα ανωμαλίες στα metrics σας. Μπορείτε να εφαρμόσετε ανίχνευση ανωμαλιών σε οποιοδήποτε metric του CloudWatch για να εντοπίσετε αποκλίσεις από κανονικά πρότυπα που μπορεί να υποδηλώνουν προβλήματα.

Κύρια Στοιχεία:

  • Εκπαίδευση Μοντέλου: Το CloudWatch χρησιμοποιεί ιστορικά δεδομένα για να εκπαιδεύσει ένα μοντέλο και να καθορίσει πώς φαίνεται η κανονική συμπεριφορά.
  • Ζώνη Ανίχνευσης Ανωμαλιών: Μια οπτική αναπαράσταση της αναμενόμενης κλίμακας τιμών για ένα metric.

Παράδειγμα Χρήσης:

  • Ανίχνευση ασυνήθιστων προτύπων χρήσης CPU σε ένα EC2 instance που μπορεί να υποδηλώνει παραβίαση ασφάλειας ή πρόβλημα εφαρμογής.

Insight Rules and Managed Insight Rules

Insight Rules σας επιτρέπουν να εντοπίζετε τάσεις, να ανιχνεύετε αιχμές ή άλλα ενδιαφέροντα πρότυπα στα δεδομένα metrics σας χρησιμοποιώντας ισχυρές μαθηματικές εκφράσεις για να καθορίσετε τις συνθήκες υπό τις οποίες θα πρέπει να ληφθούν ενέργειες. Αυτοί οι κανόνες μπορούν να σας βοηθήσουν να εντοπίσετε ανωμαλίες ή ασυνήθιστες συμπεριφορές στην απόδοση και τη χρήση των πόρων σας.

Managed Insight Rules είναι προρυθμισμένοι κανόνες insight που παρέχονται από την AWS. Είναι σχεδιασμένοι για να παρακολουθούν συγκεκριμένες υπηρεσίες AWS ή κοινές περιπτώσεις χρήσης και μπορούν να ενεργοποιηθούν χωρίς να απαιτείται λεπτομερής ρύθμιση.

Παράδειγμα Χρήσης:

  • Παρακολούθηση Απόδοσης RDS: Ενεργοποιήστε έναν διαχειριζόμενο κανόνα insight για το Amazon RDS που παρακολουθεί βασικούς δείκτες απόδοσης όπως η χρήση CPU, η χρήση μνήμης και η δισκοεισαγωγή/εξαγωγή. Εάν οποιοδήποτε από αυτά τα metrics υπερβεί ασφαλή λειτουργικά όρια, ο κανόνας μπορεί να ενεργοποιήσει μια ειδοποίηση ή μια αυτοματοποιημένη ενέργεια μετριασμού.

CloudWatch Logs

Επιτρέπει να συγκεντρώνετε και να παρακολουθείτε logs από εφαρμογές και συστήματα από υπηρεσίες AWS (συμπεριλαμβανομένου του CloudTrail) και από εφαρμογές/συστήματα (CloudWatch Agent μπορεί να εγκατασταθεί σε έναν host). Τα logs μπορούν να αποθηκεύονται επ’ αόριστον (ανάλογα με τις ρυθμίσεις του Log Group) και μπορούν να εξαχθούν.

Στοιχεία:

ΌροςΟρισμός
Log GroupΜια συλλογή log streams που μοιράζονται τις ίδιες ρυθμίσεις διατήρησης, παρακολούθησης και ελέγχου πρόσβασης
Log StreamΜια ακολουθία log events που μοιράζονται την ίδια πηγή
Subscription FiltersΟρίζουν ένα μοτίβο φίλτρου που ταιριάζει με γεγονότα σε μια συγκεκριμένη ομάδα logs, στέλνοντάς τα σε Kinesis Data Firehose stream, Kinesis stream ή μια λειτουργία Lambda

CloudWatch Monitoring & Events

Το CloudWatch βασικά συγκεντρώνει δεδομένα κάθε 5 λεπτά (το λεπτομερές το κάνει κάθε 1 λεπτό). Μετά τη συγκέντρωση, ελέγχει τα όρια των συναγερμών σε περίπτωση που χρειαστεί να ενεργοποιήσει έναν.
Σε αυτή την περίπτωση, το CloudWatch μπορεί να είναι έτοιμο να στείλει ένα γεγονός και να εκτελέσει κάποιες αυτόματες ενέργειες (λειτουργίες AWS lambda, θέματα SNS, ουρές SQS, Kinesis Streams)

Agent Installation

Μπορείτε να εγκαταστήσετε agents μέσα στις μηχανές/δοχεία σας για να στέλνετε αυτόματα τα logs πίσω στο CloudWatch.

  • Δημιουργήστε έναν ρόλο και συνδέστε τον με το instance με δικαιώματα που επιτρέπουν στο CloudWatch να συλλέγει δεδομένα από τα instances εκτός από την αλληλεπίδραση με το AWS Systems Manager SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
  • Κατεβάστε και εγκαταστήστε τον agent στο EC2 instance (https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip). Μπορείτε να το κατεβάσετε από μέσα στο EC2 ή να το εγκαταστήσετε αυτόματα χρησιμοποιώντας το AWS Systems Manager επιλέγοντας το πακέτο AWS-ConfigureAWSPackage
  • Ρυθμίστε και εκκινήστε τον CloudWatch Agent

Μια ομάδα logs έχει πολλές ροές. Μια ροή έχει πολλά γεγονότα. Και μέσα σε κάθε ροή, τα γεγονότα διασφαλίζονται ότι είναι σε σειρά.

Enumeration

# 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

Ένας επιτιθέμενος με αυτές τις άδειες θα μπορούσε να υπονομεύσει σημαντικά την υποδομή παρακολούθησης και ειδοποίησης ενός οργανισμού. Διαγράφοντας υπάρχουσες ειδοποιήσεις, ένας επιτιθέμενος θα μπορούσε να απενεργοποιήσει κρίσιμες ειδοποιήσεις που ενημερώνουν τους διαχειριστές για κρίσιμα ζητήματα απόδοσης, παραβιάσεις ασφαλείας ή λειτουργικές αποτυχίες. Επιπλέον, δημιουργώντας ή τροποποιώντας ειδοποιήσεις μετρήσεων, ο επιτιθέμενος θα μπορούσε επίσης να παραπλανήσει τους διαχειριστές με ψευδείς ειδοποιήσεις ή να σιωπήσει νόμιμες ειδοποιήσεις, καλύπτοντας αποτελεσματικά κακόβουλες δραστηριότητες και αποτρέποντας έγκαιρες αντιδράσεις σε πραγματικά περιστατικά.

Επιπλέον, με την άδεια cloudwatch:PutCompositeAlarm, ένας επιτιθέμενος θα ήταν σε θέση να δημιουργήσει έναν βρόχο ή κύκλο σύνθετων ειδοποιήσεων, όπου η σύνθετη ειδοποίηση A εξαρτάται από τη σύνθετη ειδοποίηση B, και η σύνθετη ειδοποίηση B εξαρτάται επίσης από τη σύνθετη ειδοποίηση A. Σε αυτό το σενάριο, δεν είναι δυνατόν να διαγραφεί καμία σύνθετη ειδοποίηση που είναι μέρος του κύκλου, διότι πάντα υπάρχει μια σύνθετη ειδοποίηση που εξαρτάται από αυτήν την ειδοποίηση που θέλετε να διαγράψετε.

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

Το παρακάτω παράδειγμα δείχνει πώς να καταστήσετε μια μετρική ειδοποίηση αναποτελεσματική:

  • Αυτή η μετρική ειδοποίηση παρακολουθεί τη μέση χρήση CPU μιας συγκεκριμένης EC2 παρουσίας, αξιολογεί τη μετρική κάθε 300 δευτερόλεπτα και απαιτεί 6 περιόδους αξιολόγησης (30 λεπτά συνολικά). Εάν η μέση χρήση CPU υπερβαίνει το 60% για τουλάχιστον 4 από αυτές τις περιόδους, η ειδοποίηση θα ενεργοποιηθεί και θα στείλει μια ειδοποίηση στο καθορισμένο θέμα SNS.
  • Με την τροποποίηση του Threshold να είναι πάνω από 99%, ρυθμίζοντας την Περίοδο σε 10 δευτερόλεπτα, τις Περιόδους Αξιολόγησης σε 8640 (καθώς 8640 περίοδοι των 10 δευτερολέπτων ισοδυναμούν με 1 ημέρα), και τα Datapoints to Alarm σε 8640 επίσης, θα ήταν απαραίτητο η χρήση CPU να είναι πάνω από 99% κάθε 10 δευτερόλεπτα καθ’ όλη τη διάρκεια της 24ωρης περιόδου για να ενεργοποιηθεί μια ειδοποίηση.
{
"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"
}

Πιθανές Επιπτώσεις: Έλλειψη ειδοποιήσεων για κρίσιμα γεγονότα, πιθανές μη ανιχνευμένες προβλήματα, ψευδείς ειδοποιήσεις, καταστολή γνήσιων ειδοποιήσεων και πιθανές παραλείψεις ανίχνευσης πραγματικών περιστατικών.

cloudwatch:DeleteAlarmActions, cloudwatch:EnableAlarmActions, cloudwatch:SetAlarmState

Διαγράφοντας τις ενέργειες συναγερμού, ο επιτιθέμενος θα μπορούσε να αποτρέψει κρίσιμες ειδοποιήσεις και αυτοματοποιημένες αντιδράσεις από το να ενεργοποιηθούν όταν επιτευχθεί μια κατάσταση συναγερμού, όπως η ειδοποίηση των διαχειριστών ή η ενεργοποίηση δραστηριοτήτων αυτόματης κλιμάκωσης. Η ακατάλληλη ενεργοποίηση ή επανενεργοποίηση των ενεργειών συναγερμού θα μπορούσε επίσης να οδηγήσει σε απροσδόκητες συμπεριφορές, είτε επανενεργοποιώντας προηγουμένως απενεργοποιημένες ενέργειες είτε τροποποιώντας ποιες ενέργειες ενεργοποιούνται, προκαλώντας πιθανή σύγχυση και παραπλάνηση στην αντίδραση σε περιστατικά.

Επιπλέον, ένας επιτιθέμενος με την άδεια θα μπορούσε να χειριστεί τις καταστάσεις συναγερμού, έχοντας τη δυνατότητα να δημιουργήσει ψευδείς συναγερμούς για να αποσπάσει και να μπερδέψει τους διαχειριστές, ή να σιωπήσει γνήσιους συναγερμούς για να κρύψει συνεχιζόμενες κακόβουλες δραστηριότητες ή κρίσιμες αποτυχίες συστήματος.

  • Εάν χρησιμοποιήσετε SetAlarmState σε έναν σύνθετο συναγερμό, ο σύνθετος συναγερμός δεν είναι εγγυημένο ότι θα επιστρέψει στην πραγματική του κατάσταση. Επιστρέφει στην πραγματική του κατάσταση μόνο όταν αλλάξει η κατάσταση οποιουδήποτε από τα παιδιά του συναγερμούς. Επίσης, επαναξιολογείται εάν ενημερώσετε τη διαμόρφωσή του.
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>]

Πιθανές Επιπτώσεις: Έλλειψη ειδοποιήσεων για κρίσιμα γεγονότα, πιθανές μη ανιχνευθείσες προβλήματα, ψευδείς ειδοποιήσεις, καταστολή γνήσιων ειδοποιήσεων και πιθανώς χαμένες ανιχνεύσεις πραγματικών περιστατικών.

cloudwatch:DeleteAnomalyDetector, cloudwatch:PutAnomalyDetector

Ένας επιτιθέμενος θα μπορούσε να συμβιβάσει την ικανότητα ανίχνευσης και αντίδρασης σε ασυνήθιστους τύπους ή ανωμαλίες στα δεδομένα μετρήσεων. Διαγράφοντας υπάρχοντες ανιχνευτές ανωμαλιών, ένας επιτιθέμενος θα μπορούσε να απενεργοποιήσει κρίσιμους μηχανισμούς ειδοποίησης; και δημιουργώντας ή τροποποιώντας τους, θα μπορούσε είτε να παραμορφώσει τη ρύθμιση είτε να δημιουργήσει ψευδείς θετικές ανιχνεύσεις προκειμένου να αποσπάσει την προσοχή ή να κατακλύσει την παρακολούθηση.

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

Το παρακάτω παράδειγμα δείχνει πώς να καταστήσετε έναν ανιχνευτή ανωμαλιών μετρήσεων αναποτελεσματικό. Αυτός ο ανιχνευτής ανωμαλιών μετρήσεων παρακολουθεί τη μέση χρήση CPU μιας συγκεκριμένης EC2 παρουσίας, και απλά προσθέτοντας την παράμετρο “ExcludedTimeRanges” με την επιθυμητή χρονική περίοδο, θα ήταν αρκετό για να διασφαλιστεί ότι ο ανιχνευτής ανωμαλιών δεν αναλύει ή δεν ειδοποιεί για οποιαδήποτε σχετική δεδομένα κατά τη διάρκεια εκείνης της περιόδου.

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

Πιθανές Επιπτώσεις: Άμεσος αντίκτυπος στην ανίχνευση ασυνήθιστων προτύπων ή απειλών ασφαλείας.

cloudwatch:DeleteDashboards, cloudwatch:PutDashboard

Ένας επιτιθέμενος θα μπορούσε να συμβιβάσει τις δυνατότητες παρακολούθησης και οπτικοποίησης μιας οργάνωσης δημιουργώντας, τροποποιώντας ή διαγράφοντας τους πίνακες ελέγχου της. Αυτές οι άδειες θα μπορούσαν να χρησιμοποιηθούν για να αφαιρεθεί η κρίσιμη ορατότητα στην απόδοση και την υγεία των συστημάτων, να τροποποιηθούν οι πίνακες ελέγχου για να εμφανίζουν λανθασμένα δεδομένα ή να κρύβουν κακόβουλες δραστηριότητες.

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

Πιθανές Επιπτώσεις: Απώλεια ορατότητας παρακολούθησης και παραπλανητικές πληροφορίες.

cloudwatch:DeleteInsightRules, cloudwatch:PutInsightRule ,cloudwatch:PutManagedInsightRule

Οι κανόνες insight χρησιμοποιούνται για την ανίχνευση ανωμαλιών, τη βελτιστοποίηση της απόδοσης και τη διαχείριση πόρων αποτελεσματικά. Διαγράφοντας υπάρχοντες κανόνες insight, ένας επιτιθέμενος θα μπορούσε να αφαιρέσει κρίσιμες δυνατότητες παρακολούθησης, αφήνοντας το σύστημα τυφλό σε ζητήματα απόδοσης και απειλές ασφαλείας. Επιπλέον, ένας επιτιθέμενος θα μπορούσε να δημιουργήσει ή να τροποποιήσει κανόνες insight για να παράγει παραπλανητικά δεδομένα ή να κρύψει κακόβουλες δραστηριότητες, οδηγώντας σε λανθασμένες διαγνώσεις και ακατάλληλες αντιδράσεις από την ομάδα λειτουργίας.

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>

Πιθανές Επιπτώσεις: Δυσκολία στην ανίχνευση και αντίδραση σε προβλήματα απόδοσης και ανωμαλίες, λανθασμένη λήψη αποφάσεων και πιθανή απόκρυψη κακόβουλων δραστηριοτήτων ή αποτυχιών συστήματος.

cloudwatch:DisableInsightRules, cloudwatch:EnableInsightRules

Απενεργοποιώντας κρίσιμους κανόνες ανάλυσης, ένας επιτιθέμενος θα μπορούσε να τυφλώσει αποτελεσματικά τον οργανισμό σε βασικούς δείκτες απόδοσης και ασφάλειας. Αντίθετα, ενεργοποιώντας ή ρυθμίζοντας παραπλανητικούς κανόνες, θα μπορούσε να είναι δυνατό να παραχθούν ψευδή δεδομένα, να δημιουργηθεί θόρυβος ή να αποκρυφτεί κακόβουλη δραστηριότητα.

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

Πιθανές Επιπτώσεις: Σύγχυση στην ομάδα λειτουργίας, οδηγώντας σε καθυστερημένες αντιδράσεις σε πραγματικά ζητήματα και περιττές ενέργειες βασισμένες σε ψευδείς ειδοποιήσεις.

cloudwatch:DeleteMetricStream , cloudwatch:PutMetricStream , cloudwatch:PutMetricData

Ένας επιτιθέμενος με τα δικαιώματα cloudwatch:DeleteMetricStream , cloudwatch:PutMetricStream θα μπορούσε να δημιουργήσει και να διαγράψει ροές δεδομένων μετρήσεων, θέτοντας σε κίνδυνο την ασφάλεια, την παρακολούθηση και την ακεραιότητα των δεδομένων:

  • Δημιουργία κακόβουλων ροών: Δημιουργία ροών μετρήσεων για την αποστολή ευαίσθητων δεδομένων σε μη εξουσιοδοτημένους προορισμούς.
  • Εκμετάλλευση πόρων: Η δημιουργία νέων ροών μετρήσεων με υπερβολικά δεδομένα θα μπορούσε να παράγει πολύ θόρυβο, προκαλώντας λανθασμένες ειδοποιήσεις, καλύπτοντας αληθινά ζητήματα.
  • Διακοπή παρακολούθησης: Διαγράφοντας ροές μετρήσεων, οι επιτιθέμενοι θα διαταράξουν τη συνεχή ροή δεδομένων παρακολούθησης. Με αυτόν τον τρόπο, οι κακόβουλες δραστηριότητές τους θα κρύβονται αποτελεσματικά.

Ομοίως, με την άδεια cloudwatch:PutMetricData, θα ήταν δυνατό να προστεθούν δεδομένα σε μια ροή μετρήσεων. Αυτό θα μπορούσε να οδηγήσει σε DoS λόγω της ποσότητας ακατάλληλων δεδομένων που προστίθενται, καθιστώντας την εντελώς άχρηστη.

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

Παράδειγμα προσθήκης δεδομένων που αντιστοιχούν σε 70% χρησιμοποίησης CPU σε μια δεδομένη EC2 instance:

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

Πιθανές Επιπτώσεις: Διακοπή στη ροή των δεδομένων παρακολούθησης, επηρεάζοντας την ανίχνευση ανωμαλιών και περιστατικών, χειρισμός πόρων και αύξηση κόστους λόγω της δημιουργίας υπερβολικών ροών μετρήσεων.

cloudwatch:StopMetricStreams, cloudwatch:StartMetricStreams

Ένας επιτιθέμενος θα ελέγχει τη ροή των επηρεαζόμενων ροών δεδομένων μετρήσεων (κάθε ροή δεδομένων αν δεν υπάρχει περιορισμός πόρων). Με την άδεια cloudwatch:StopMetricStreams, οι επιτιθέμενοι θα μπορούσαν να κρύψουν τις κακόβουλες δραστηριότητές τους σταματώντας κρίσιμες ροές μετρήσεων.

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

Πιθανές Επιπτώσεις: Διαταραχή στη ροή των δεδομένων παρακολούθησης, επηρεάζοντας την ανίχνευση ανωμαλιών και περιστατικών.

cloudwatch:TagResource, cloudwatch:UntagResource

Ένας επιτιθέμενος θα μπορούσε να προσθέσει, να τροποποιήσει ή να αφαιρέσει ετικέτες από τους πόρους του CloudWatch (προς το παρόν μόνο συναγερμούς και κανόνες Contributor Insights). Αυτό θα μπορούσε να διαταράξει τις πολιτικές ελέγχου πρόσβασης της οργάνωσής σας με βάση τις ετικέτες.

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

Πιθανές Επιπτώσεις: Διαταραχή των πολιτικών ελέγχου πρόσβασης με βάση τις ετικέτες.

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks