AWS - CloudTrail Enum
CloudTrail
Το AWS CloudTrail καταγράφει και παρακολουθεί τη δραστηριότητα εντός του περιβάλλοντος AWS. Καταγράφει λεπτομερείς αρχεία καταγραφής συμβάντων, συμπεριλαμβανομένου του ποιος έκανε τι, πότε και από πού, για όλες τις αλληλεπιδράσεις με τους πόρους του AWS. Αυτό παρέχει ένα ίχνος ελέγχου των αλλαγών και των ενεργειών, βοηθώντας στην ανάλυση ασφάλειας, τον έλεγχο συμμόρφωσης και την παρακολούθηση των αλλαγών στους πόρους. Το CloudTrail είναι απαραίτητο για την κατανόηση της συμπεριφοράς των χρηστών και των πόρων, την ενίσχυση της ασφάλειας και τη διασφάλιση της συμμόρφωσης με τους κανονισμούς.
Κάθε καταγεγραμμένο συμβάν περιέχει:
Το όνομα της κληθείσας API:
eventName
Την κληθείσα υπηρεσία:
eventSource
Την ώρα:
eventTime
Τη διεύθυνση IP:
SourceIPAddress
Τη μέθοδο του πράκτορα:
userAgent
. Παραδείγματα:Signing.amazonaws.com - Από το AWS Management Console
console.amazonaws.com - Ριζικός χρήστης του λογαριασμού
lambda.amazonaws.com - AWS Lambda
Τις παραμέτρους αιτήματος:
requestParameters
Τα στοιχεία απόκρισης:
responseElements
Τα συμβάντα γράφονται σε ένα νέο αρχείο καταγραφής περίπου κάθε 5 λεπτά σε ένα αρχείο JSON, κρατιούνται από το CloudTrail και τελικά, τα αρχεία καταγραφής παραδίδονται στο S3 περίπου 15 λεπτά μετά. Οι καταγραφές του CloudTrail μπορούν να συγκεντρωθούν ανάλογα με τους λογαριασμούς και τις περιοχές. Το CloudTrail επιτρέπει τη χρήση ακεραιότητας αρχείου καταγραφής για να μπορείτε να επαληθεύσετε ότι τα αρχεία καταγραφής σας παρέμειναν αναλλοίωτα από τότε που τα παρέδωσε το CloudTrail. Δημιουργεί ένα SHA-256 hash των καταγραφών μέσα σε ένα αρχείο αναλύσεως. Ένα sha-256 hash των νέων καταγραφών δημιουργείται κάθε ώρα. Όταν δημιουργείτε ένα Trail, οι επιλογείς συμβάντων θα σας επιτρέψουν να υποδείξετε το Trail για καταγραφή: Διαχείριση, δεδομένα ή γεγονότα ενόρασης.
Οι καταγραφές αποθηκεύονται σε ένα κάδο S3. Από προεπιλογή χρησιμοποιείται η Κρυπτογράφηση Εξυπηρετητή Πλευράς Εξυπηρέτησης (SSE-S3), έτσι η AWS θα αποκρυπτογραφήσει το περιεχόμενο για τα άτομα που έχουν πρόσβαση σε αυτό, αλλά για επιπλέον ασφάλεια μπορείτε να χρησιμοποιήσετε την SSE με το KMS και τα δικά σας κλειδιά.
Οι καταγραφές αποθηκεύονται σε ένα κάδο S3 με την ακόλουθη μορφή ονόματος:
BucketName/AWSLogs/AccountID/CloudTrail/RegionName/YYY/MM/DD
Με το BucketName:
aws-cloudtrail-logs-<accountid>-<random>
Παράδειγμα:
aws-cloudtrail-logs-947247140022-ffb95fe7/AWSLogs/947247140022/CloudTrail/ap-south-1/2023/02/22/
Μέσα σε κάθε φάκελο, κάθε καταγραφή θα έχει ένα όνομα που ακολουθεί αυτήν τη μορφή: AccountID_CloudTrail_RegionName_YYYYMMDDTHHMMZ_Random.json.gz
Σύμβαση Ονομασίας Αρχείου Καταγραφής
Επιπλέον, τα αρχεία αναλύσεως (για έλεγχο ακεραιότητας αρχείου) θα βρίσκονται στον ίδιο κάδο σε:
Καταγραφή στο CloudWatch
Το CloudTrail μπορεί αυτόματα να στείλει τις καταγραφές στο CloudWatch, ώστε να μπορείτε να ορίσετε ειδοποιήσεις που θα σας προειδοποιούν όταν πραγματοποιούνται ύποπτες δραστηριότητες. Σημειώστε ότι για να επιτρέψετε στο CloudTrail να στείλει τις καταγραφές στο CloudWatch, πρέπει να δημιουργηθεί ένας ρόλος που επιτρέπει αυτήν την ενέργεια. Εάν είναι δυνατόν, συνιστάται να χρησιμοποιηθεί ο προεπιλεγμένος ρόλος της AWS για την εκτέλεση αυτών των ενεργειών. Αυτός ο ρόλος θα επιτρέψει στο CloudTrail να:
CreateLogStream: Αυτό επιτρέπει τη δημιουργία ενός ροής καταγραφής CloudWatch Logs
PutLogEvents: Παράδοση των καταγραφών CloudTrail στη ροή καταγραφής CloudWatch Logs
Ιστορικό Συμβάντων
Το Ιστορικό Συμβάντων του CloudTrail σας επιτρέπει να επιθεωρήσετε σε μια πίνακα τις καταγραφές που έχουν καταγραφεί:
Αναλύσεις
Οι Αναλύσεις του CloudTrail αναλύουν αυτόματα τα γεγονότα διαχείρισης εγγραφών από τις διαδρομές του CloudTrail και σας προειδοποιούν για ασυνήθιστη δραστηριότητα. Για παράδειγμα, εάν υπάρχει αύξηση στα γεγονότα TerminateInstance
που διαφέρει από τις καθιερωμένες βάσεις, θα το δείτε ως ένα γεγονός Ανάλυσης. Αυτά τα γεγονότα καθιστούν την εύρεση και την αντίδραση σε ασυνήθιστη δραστηριότητα του API πιο εύκολη από ποτέ.
Οι αναλύσεις αποθηκεύονται στον ίδιο κάδο με τις καταγραφές του CloudTrail στο: BucketName/AWSLogs/AccountID/CloudTrail-Insight
Ασφάλεια
Ακεραιότητα Αρχείου Καταγραφής CloudTrail |
|
Αποτροπή μη εξουσιοδοτημένης πρόσβασης |
|
Αποτροπή διαγραφής αρχείων καταγραφής |
|
Σύμβουλος Πρόσβασης
Ο Σύμβουλος Πρόσβασης της AWS βασίζεται στις τελευταίες 400 ημέρες καταγραφών CloudTrail για να συγκεντρώσει τις αναλύσεις του. Το CloudTrail καταγράφει ένα ιστορικό των κλήσεων API της AWS και των σχετικών γεγονότων που πραγματοποιούνται σε ένα λογαριασμό AWS. Ο Σύμβουλος Πρόσβασης χρησιμοποιεί αυτά τα δεδομένα για να εμφανίσει πότε τελευταία προσπελάστηκαν οι υπηρεσίες. Αναλύοντας τις καταγραφές του CloudTrail, ο Σύμβουλος Πρόσβασης μπορεί να προσδιορίσει ποιες υπηρεσίες της AWS έχει προσπελάσει ένας χρήστης IAM ή ένας ρόλος και πότε πραγματοποιήθηκε αυτή η πρόσβαση. Αυτό βοηθά τους διαχειριστές της AWS να λαμβάνουν ενημερωμένες αποφάσεις σχετικά με τη βελτιστοποίηση των δικαιωμάτων, καθώς μπορούν να αναγνωρίσουν υπηρεσίες που δεν έχουν προσπελαστεί για εκτεταμένα χρονικά διαστήματα και ενδεχομένως να μειώσουν υπερβολικά ευρείες άδειες βάσει πραγματικών προτύπων χρήσης.
Επομένως, ο Σύμβουλος Πρόσβασης ενημερώνει για τις περιττές άδειες που δίνονται στους χρήστες, ώστε ο διαχειριστής να μπορεί να τις αφαιρέσει
Ενέργειες
Απαρίθμηση
Εισαγωγή CSV
Είναι δυνατόν να πραγματοποιηθεί εισαγωγή CVS μέσα στο CloudTrail που θα εκτελέσει αυθαίρετο κώδικα εάν τα αρχεία καταγραφής εξάγονται σε μορφή CSV και ανοίγονται με το Excel. Ο παρακάτω κώδικας θα δημιουργήσει μια καταχώρηση καταγραφής με ένα κακό όνομα Trail που περιέχει το φορτίο (payload):
Για περισσότερες πληροφορίες σχετικά με τις επιθέσεις CSV Injections, ελέγξτε τη σελίδα:
Για περισσότερες πληροφορίες σχετικά με αυτήν τη συγκεκριμένη τεχνική, ελέγξτε https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/
Παράκαμψη Ανίχνευσης
Παράκαμψη HoneyTokens
Τα HoneyTokens δημιουργούνται για να ανιχνεύσουν τη διαρροή ευαίσθητων πληροφοριών. Στην περίπτωση του AWS, είναι κλειδιά AWS των οποίων η χρήση παρακολουθείται, αν κάτι ενεργοποιήσει μια ενέργεια με αυτό το κλειδί, τότε κάποιος πρέπει να έχει κλέψει αυτό το κλειδί.
Ωστόσο, αυτή η παρακολούθηση γίνεται μέσω του CloudTrail και υπάρχουν μερικές υπηρεσίες του AWS που δεν αποστέλλουν καταγραφές στο CloudTrail (βρείτε τη λίστα εδώ). Ορισμένες από αυτές τις υπηρεσίες θα απαντήσουν με ένα σφάλμα που περιέχει το ARN του ρόλου του κλειδιού αν κάποιος μη εξουσιοδοτημένος (το κλειδί HoneyToken) προσπαθήσει να τον προσεγγίσει.
Με αυτόν τον τρόπο, ένας επιτιθέμενος μπορεί να αποκτήσει το ARN του κλειδιού χωρίς να ενεργοποιήσει καμία καταγραφή. Στο ARN, ο επιτιθέμενος μπορεί να δει τον αριθμό του λογαριασμού AWS και το όνομα, είναι εύκολο να γνωρίζει τους αριθμούς λογαριασμών των εταιρειών HoneyToken, έτσι ένας επιτιθέμενος μπορεί να αναγνωρίσει αν το τοκέν είναι ένα HoneyToken.
Ανίχνευση HoneyTokens
Το Pacu ανιχνεύει αν ένα κλειδί ανήκει στα Canarytokens, SpaceCrab, SpaceSiren:
Εάν το
canarytokens.org
εμφανίζεται στο όνομα του ρόλου ή το534261010715
εμφανίζεται στο μήνυμα σφάλματος.Ελέγχοντάς τα πιο πρόσφατα, χρησιμοποιούν τον λογαριασμό
717712589309
και εξακολουθούν να έχουν τον χαρακτηρισμόcanarytokens.com
στο όνομα.Εάν το
SpaceCrab
εμφανίζεται στο όνομα του ρόλου στο μήνυμα σφάλματος.Το SpaceSiren χρησιμοποιεί uuids για τη δημιουργία ονομάτων χρηστών:
[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}
Εάν το όνομα φαίνεται σαν τυχαία δημιουργημένο, υπάρχουν υψηλές πιθανότητες ότι είναι ένα HoneyToken.
Σημειώστε ότι όλες οι δημόσιες διεπαφές που ανακαλύφθηκαν ότι δεν δημιουργούν καταγραφές CloudTrail έχουν διορθωθεί τώρα, οπότε ίσως χρειαστεί να βρείτε τις δικές σας...
Ή μπορείτε να λάβετε τον Αριθμό Λογαριασμού από τον κωδικοποιημένο μέσα στο κλειδί πρόσβασης όπως εξηγείται εδώ και να ελέγξετε τον αριθμό λογαριασμού με τη λίστα σας από λογαριασμούς Honeytokens AWS:
Για περισσότερες πληροφορίες, ελέγξτε την αρχική έρευνα.
Πρόσβαση σε τρίτη υποδομή
Ορισμένες υπηρεσίες του AWS θα δημιουργήσουν ορισμένες υποδομές όπως Βάσεις Δεδομένων ή Συστάδες Kubernetes (EKS). Ένας χρήστης που επικοινωνεί απευθείας με αυτές τις υπηρεσίες (όπως το Kubernetes API) δεν θα χρησιμοποιήσει το AWS API, οπότε το CloudTrail δεν θα μπορεί να δει αυτήν την επικοινωνία.
Συνεπώς, ένας χρήστης με πρόσβαση στο EKS που έχει ανακαλύψει το URL του EKS API μπορεί να δημιουργήσει ένα τοπικό διακριτικό και να επικοινωνήσει απευθείας με την υπηρεσία API χωρίς να ανιχνευθεί από το CloudTrail.
Περισσότερες πληροφορίες στο:
pageAWS - EKS Post ExploitationΤροποποίηση της διαμόρφωσης του CloudTrail
Διαγραφή ίχνων
Διακοπή ίχνων
Για να διακόψετε τα ίχνη:
Μεταβείτε στον πίνακα ελέγχου του AWS και επιλέξτε την υπηρεσία AWS CloudTrail.
Επιλέξτε το trail που θέλετε να διακόψετε.
Κάντε κλικ στο κουμπί "Διακοπή ίχνης" στην επάνω αριστερή γωνία της σελίδας.
Επιβεβαιώστε τη διακοπή των ίχνων πατώντας το κουμπί "Διακοπή ίχνης" στο παράθυρο επιβεβαίωσης.
Τα ίχνη θα διακοπούν και δεν θα καταγράφονται πλέον λεπτομέρειες δραστηριότητας.
Απενεργοποίηση καταγραφής πολλαπλών περιοχών
Απενεργοποίηση καταγραφής με επιλογείς συμβάντων
Στο πρώτο παράδειγμα, παρέχεται ένας μόνο επιλογέας συμβάντων ως ένα JSON πίνακα με ένα μόνο αντικείμενο. Το "ReadWriteType": "ReadOnly"
υποδηλώνει ότι ο επιλογέας συμβάντων θα πρέπει να καταγράφει μόνο τα συμβάντα μόνο για ανάγνωση (έτσι οι CloudTrail insights δεν θα ελέγχουν για παράδειγμα τα συμβάντα εγγραφής).
Μπορείτε να προσαρμόσετε τον επιλογέα συμβάντων βάσει των συγκεκριμένων απαιτήσεών σας.
Διαγραφή καταγραφών μέσω πολιτικής κύκλου ζωής S3
Τροποποίηση της διαμόρφωσης του κάδου
Διαγραφή του κάδου S3
Αλλαγή της πολιτικής του κάδου για να απορρίπτει οποιαδήποτε εγγραφή από την υπηρεσία CloudTrail
Προσθήκη πολιτικής κύκλου ζωής στον κάδο S3 για τη διαγραφή αντικειμένων
Απενεργοποίηση του κλειδιού kms που χρησιμοποιείται για την κρυπτογράφηση των αρχείων καταγραφής του CloudTrail
Ransomware του CloudTrail
Ransomware του S3
Μπορείτε να δημιουργήσετε ένα ασύμμετρο κλειδί και να κάνετε τον CloudTrail να κρυπτογραφήσει τα δεδομένα με αυτό το κλειδί και να διαγράψετε το ιδιωτικό κλειδί έτσι ώστε τα περιεχόμενα του CloudTrail να μην μπορούν να ανακτηθούν. Αυτό είναι ουσιαστικά ένα S3-KMS ransomware που εξηγείται στο:
pageAWS - S3 Post ExploitationRansomware του KMS
Αυτός είναι ο ευκολότερος τρόπος για να πραγματοποιήσετε την προηγούμενη επίθεση με διαφορετικές απαιτήσεις δικαιωμάτων:
pageAWS - KMS Post ExploitationΑναφορές
Last updated