AWS - GuardDuty Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Σύμφωνα με τα docs: Το GuardDuty συνδυάζει μηχανική μάθηση, ανίχνευση ανωμαλιών, παρακολούθηση δικτύου και ανακάλυψη κακόβουλων αρχείων, χρησιμοποιώντας τόσο το AWS όσο και κορυφαίες πηγές τρίτων για να βοηθήσει στην προστασία των φορτίων εργασίας και των δεδομένων στο AWS. Το GuardDuty είναι ικανό να αναλύει δεκάδες δισεκατομμύρια γεγονότα σε πολλές πηγές δεδομένων AWS, όπως τα αρχεία καταγραφής γεγονότων AWS CloudTrail, τα αρχεία καταγραφής ροής Amazon Virtual Private Cloud (VPC), τα αρχεία καταγραφής ελέγχου και συστήματος Amazon Elastic Kubernetes Service (EKS) και τα αρχεία καταγραφής ερωτημάτων DNS.
Το Amazon GuardDuty εντοπίζει ασυνήθιστη δραστηριότητα στους λογαριασμούς σας, αναλύει τη σχετικότητα ασφαλείας της δραστηριότητας και παρέχει το πλαίσιο στο οποίο κλήθηκε. Αυτό επιτρέπει σε έναν ανταποκριτή να καθορίσει αν θα πρέπει να αφιερώσει χρόνο για περαιτέρω έρευνα.
Οι ειδοποιήσεις εμφανίζονται στην κονσόλα GuardDuty (90 ημέρες) και στα CloudWatch Events.
Όταν ένας χρήστης απενεργοποιήσει το GuardDuty, θα σταματήσει να παρακολουθεί το περιβάλλον AWS σας και δεν θα δημιουργήσει καθόλου νέες ευρήματα, και τα υπάρχοντα ευρήματα θα χαθούν. Αν το σταματήσετε απλώς, τα υπάρχοντα ευρήματα θα παραμείνουν.
Reconnaissance: Δραστηριότητα που υποδηλώνει αναγνώριση από έναν επιτιθέμενο, όπως ασυνήθιστη δραστηριότητα API, ύποπτες προσπάθειες σύνδεσης σε βάση δεδομένων, εσωτερική σάρωση θυρών VPC, ασυνήθιστοι τύποι αποτυχημένων αιτημάτων σύνδεσης ή σάρωση θυρών από γνωστή κακή IP.
Instance compromise: Δραστηριότητα που υποδηλώνει παραβίαση μιας παρουσίας, όπως εξόρυξη κρυπτονομισμάτων, δραστηριότητα πίσω πόρτας και έλεγχος (C&C), κακόβουλο λογισμικό που χρησιμοποιεί αλγόριθμους γεννήτριας τομέα (DGA), δραστηριότητα άρνησης υπηρεσίας εξόδου, ασυνήθιστα υψηλός όγκος δικτυακής κίνησης, ασυνήθιστοι δικτυακοί πρωτόκολλοι, επικοινωνία εξόδου παρουσίας με γνωστή κακόβουλη IP, προσωρινές διαπιστεύσεις Amazon EC2 που χρησιμοποιούνται από μια εξωτερική διεύθυνση IP και εξαγωγή δεδομένων μέσω DNS.
Account compromise: Κοινά μοτίβα που υποδηλώνουν παραβίαση λογαριασμού περιλαμβάνουν κλήσεις API από ασυνήθιστη γεωγραφική τοποθεσία ή ανώνυμο proxy, προσπάθειες απενεργοποίησης της καταγραφής AWS CloudTrail, αλλαγές που αποδυναμώνουν την πολιτική κωδικών πρόσβασης του λογαριασμού, ασυνήθιστες εκκινήσεις παρουσιών ή υποδομών, αναπτύξεις υποδομών σε ασυνήθιστη περιοχή, κλοπή διαπιστεύσεων, ύποπτη δραστηριότητα σύνδεσης σε βάση δεδομένων και κλήσεις API από γνωστές κακόβουλες διευθύνσεις IP.
Bucket compromise: Δραστηριότητα που υποδηλώνει παραβίαση ενός bucket, όπως ύποπτα μοτίβα πρόσβασης σε δεδομένα που υποδηλώνουν κακή χρήση διαπιστεύσεων, ασυνήθιστη δραστηριότητα API Amazon S3 από απομακρυσμένο host, μη εξουσιοδοτημένη πρόσβαση S3 από γνωστές κακόβουλες διευθύνσεις IP και κλήσεις API για ανάκτηση δεδομένων σε buckets S3 από χρήστη χωρίς προηγούμενο ιστορικό πρόσβασης στο bucket ή που κλήθηκε από ασυνήθιστη τοποθεσία. Το Amazon GuardDuty παρακολουθεί και αναλύει συνεχώς τα γεγονότα δεδομένων S3 του AWS CloudTrail (π.χ. GetObject, ListObjects, DeleteObject) για να ανιχνεύσει ύποπτη δραστηριότητα σε όλα τα buckets Amazon S3 σας.
Αποκτήστε πρόσβαση σε μια λίστα με όλα τα ευρήματα GuardDuty στο: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
Μπορείτε να καλέσετε άλλους λογαριασμούς σε έναν διαφορετικό λογαριασμό GuardDuty AWS ώστε κάθε λογαριασμός να παρακολουθείται από το ίδιο GuardDuty. Ο κύριος λογαριασμός πρέπει να προσκαλέσει τους λογαριασμούς μέλη και στη συνέχεια ο εκπρόσωπος του λογαριασμού μέλους πρέπει να αποδεχτεί την πρόσκληση.
Μπορείτε να ορίσετε οποιονδήποτε λογαριασμό εντός της οργάνωσης ως εξουσιοδοτημένο διαχειριστή GuardDuty. Μόνο ο λογαριασμός διαχείρισης της οργάνωσης μπορεί να ορίσει έναν εξουσιοδοτημένο διαχειριστή.
Ένας λογαριασμός που ορίζεται ως εξουσιοδοτημένος διαχειριστής γίνεται λογαριασμός διαχειριστή GuardDuty, έχει το GuardDuty ενεργοποιημένο αυτόματα στην καθορισμένη περιοχή AWS και έχει επίσης άδεια να ενεργοποιεί και να διαχειρίζεται το GuardDuty για όλους τους λογαριασμούς στην οργάνωση εντός αυτής της περιοχής. Οι άλλοι λογαριασμοί στην οργάνωση μπορούν να προβληθούν και να προστεθούν ως λογαριασμοί μέλη GuardDuty που σχετίζονται με αυτόν τον εξουσιοδοτημένο διαχειριστή λογαριασμού.
Προσπαθήστε να μάθετε όσο το δυνατόν περισσότερα για τη συμπεριφορά των διαπιστευτηρίων που πρόκειται να χρησιμοποιήσετε:
Ώρες που χρησιμοποιούνται
Τοποθεσίες
User Agents / Υπηρεσίες (Μπορεί να χρησιμοποιηθεί από awscli, webconsole, lambda...)
Άδειες που χρησιμοποιούνται τακτικά
Με αυτές τις πληροφορίες, αναδημιουργήστε όσο το δυνατόν περισσότερο το ίδιο σενάριο για να χρησιμοποιήσετε την πρόσβαση:
Αν είναι χρήστης ή ρόλος που προσπελάστηκε από χρήστη, προσπαθήστε να το χρησιμοποιήσετε τις ίδιες ώρες, από την ίδια γεωγραφική τοποθεσία (ακόμα και τον ίδιο ISP και IP αν είναι δυνατόν)
Αν είναι ρόλος που χρησιμοποιείται από υπηρεσία, δημιουργήστε την ίδια υπηρεσία στην ίδια περιοχή και χρησιμοποιήστε την από εκεί στις ίδιες χρονικές περιόδους
Προσπαθήστε πάντα να χρησιμοποιείτε τις ίδιες άδειες που έχει χρησιμοποιήσει αυτός ο κύριος
Αν χρειαστεί να χρησιμοποιήσετε άλλες άδειες ή να καταχραστείτε μια άδεια (για παράδειγμα, να κατεβάσετε 1.000.000 αρχεία καταγραφής cloudtrail) κάντε το αργά και με τον ελάχιστο αριθμό αλληλεπιδράσεων με το AWS (το awscli καλεί μερικές φορές πολλές αναγνωστικές APIs πριν από την εγγραφή)
guardduty:UpdateDetector
Με αυτή την άδεια μπορείτε να απενεργοποιήσετε το GuardDuty για να αποφύγετε την ενεργοποίηση ειδοποιήσεων.
guardduty:CreateFilter
Οι επιτιθέμενοι με αυτή την άδεια έχουν τη δυνατότητα να χρησιμοποιούν φίλτρα για την αυτόματη αρχειοθέτηση ευρημάτων:
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)Οι επιτιθέμενοι με τα προηγούμενα δικαιώματα θα μπορούσαν να τροποποιήσουν τη Λίστα Εμπιστευμένων IP του GuardDuty προσθέτοντας τη διεύθυνση IP τους σε αυτήν και να αποφύγουν τη δημιουργία ειδοποιήσεων.
guardduty:DeletePublishingDestination
Οι επιτιθέμενοι θα μπορούσαν να αφαιρέσουν τον προορισμό για να αποτρέψουν την ειδοποίηση:
Η διαγραφή αυτού του προορισμού δημοσίευσης δεν θα επηρεάσει τη δημιουργία ή την ορατότητα των ευρημάτων μέσα στην κονσόλα GuardDuty. Το GuardDuty θα συνεχίσει να αναλύει γεγονότα στο περιβάλλον AWS σας, να εντοπίζει ύποπτη ή απροσδόκητη συμπεριφορά και να δημιουργεί ευρήματα.
Σημειώστε ότι υπάρχουν δεκάδες ευρήματα του GuardDuty, ωστόσο, ως Red Teamer, δεν θα σας επηρεάσουν όλα, και το καλύτερο είναι ότι έχετε την πλήρη τεκμηρίωση καθενός από αυτά στο https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html οπότε ρίξτε μια ματιά πριν κάνετε οποιαδήποτε ενέργεια για να μην πιαστείτε.
Εδώ έχετε μερικά παραδείγματα παράκαμψης συγκεκριμένων ευρημάτων του GuardDuty:
Το GuardDuty ανιχνεύει αιτήματα API AWS από κοινά εργαλεία δοκιμών διείσδυσης και ενεργοποιεί ένα PenTest Finding. Ανιχνεύεται από το όνομα του user agent που μεταφέρεται στο αίτημα API. Επομένως, η τροποποίηση του user agent είναι δυνατή για να αποτραπεί η ανίχνευση της επίθεσης από το GuardDuty.
Για να το αποτρέψετε αυτό, μπορείτε να αναζητήσετε το σενάριο session.py
στο πακέτο botocore
και να τροποποιήσετε τον user agent, ή να ορίσετε το Burp Suite ως proxy AWS CLI και να αλλάξετε τον user-agent με το MitM ή απλά να χρησιμοποιήσετε ένα λειτουργικό σύστημα όπως το Ubuntu, Mac ή Windows που θα αποτρέψει την ενεργοποίηση αυτής της ειδοποίησης.
Η εξαγωγή διαπιστευτηρίων EC2 από την υπηρεσία μεταδεδομένων και η χρήση τους εκτός του περιβάλλοντος AWS ενεργοποιεί την ειδοποίηση UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
. Αντίθετα, η χρήση αυτών των διαπιστευτηρίων από την EC2 instance σας ενεργοποιεί την ειδοποίηση UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS
. Ωστόσο, η χρήση των διαπιστευτηρίων σε άλλη συμβιβασμένη EC2 instance εντός του ίδιου λογαριασμού δεν ανιχνεύεται, χωρίς να προκαλεί καμία ειδοποίηση.
Επομένως, χρησιμοποιήστε τα εξαγόμενα διαπιστευτήρια από μέσα στη μηχανή όπου τα βρήκατε για να μην ενεργοποιηθεί αυτή η ειδοποίηση.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)