AWS - GuardDuty Enum

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

GuardDuty

Σύμφωνα με τα έγγραφα: Το 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 σας και δεν παράγει καθόλου νέες ευρήματα, και τα υπάρχοντα ευρήματα θα χαθούν. Εάν απλά το σταματήσετε, τα υπάρχοντα ευρήματα θα παραμείνουν.

Παράδειγμα Ευρημάτων

  • Αναγνώριση: Δραστηριότητα που υποδηλώνει αναγνώριση από έναν εισβολέα, όπως ασυνήθιστη δραστηριότητα API, ύποπτες προσπάθειες σύνδεσης στη βάση δεδομένων, σάρωση θυρών εντός του VPC, ασυνήθιστα μοτίβα αποτυχημένων αιτημάτων σύνδεσης ή αποτυχημένων αιτημάτων προς θύρες από γνωστή κακόβουλη IP.

  • Παραβίαση παραδοχής: Δραστηριότητα που υποδηλώνει παραβίαση παραδοχής ενός παραδείγματος, όπως εξόρυξη κρυπτονομισμάτων, εντολές ελέγχου (C&C), κακόβουλο λογισμικό που χρησιμοποιεί αλγόριθμους δημιουργίας τομέων (DGA), εξωτερική δραστηριότητα απόρριψης υπηρεσίας, ασυνήθιστος όγκος δικτύου, ασυνήθιστα πρωτόκολλα δικτύου, εξωτερική επικοινωνία παραδείγματος με γνωστή κακόβουλη IP, προσωρινές διαπιστευτήρια Amazon EC2 που χρησιμοποιούνται από μια εξωτερική διεύθυνση IP και διαρροή δεδομένων μέσω DNS.

  • Παραβίαση λογαριασμού: Συνηθισμένα μοτίβα που υποδηλώνουν παραβίαση λογαριασμού περιλαμβάνουν κλήσεις API από μια ασυνήθιστη γεωγραφική τοποθεσία ή ανώνυμο διαμεσολαβητή, προσπάθειες απενεργοποίησης καταγραφής AWS CloudTrail, αλλαγές που αποδυναμώνουν την πολιτική κωδικού πρόσβασης του λογαριασμού, ασυνήθιστες εκκινήσεις παραδείγματο

# Get Org config
aws guardduty list-organization-admin-accounts #Get Delegated Administrator
aws guardduty describe-organization-configuration --detector-id <id>

# Check external invitations
aws guardduty list-invitations
aws guardduty get-invitations-count

# Detector Information
aws guardduty list-detectors # 1 detector per account with GuardDuty
aws guardduty get-detector --detector-id <id> # Get detector info
aws guardduty get-master-account --detector-id <id>

# Get filters
aws guardduty list-filters --detector-id <id> # Check filters
aws guardduty get-filter --detector-id <id> --filter-name <name>

# Findings
aws guardduty list-findings --detector-id <id> # List findings
aws guardduty get-findings --detector-id <id> --finding-ids <id> # Get details about the finding
aws guardduty get-findings-statistics --detector-id <id> --finding-statistic-types <types>

# Get trusted IP addresses
aws guardduty list-ip-sets --detector-id <id>
aws guardduty get-ip-set --detector-id <id>

# Member accounts of the current AWS GuardDuty master account
aws guardduty list-members --detector-id <id>
aws guardduty get-members --detector-id <id> --account-ids <id>
aws guardduty get-member-detectors --detector-id <id> --account-ids <id>

# Continuously export its findings to an Amazon S3 bucket
aws guardduty list-publishing-destinations --detector-id <id>

# Intelligence sets that you have uploaded to GuardDuty
aws guardduty list-threat-intel-sets --detector-id <id>
aws guardduty get-threat-intel-set --detector-id <id> --threat-intel-set-id <id>

Παράκαμψη του GuardDuty

Γενικές οδηγίες

Προσπαθήστε να βρείτε όσο το δυνατόν περισσότερες πληροφορίες για τη συμπεριφορά των διαπιστευτηρίων που πρόκειται να χρησιμοποιήσετε:

  • Φορές που χρησιμοποιούνται

  • Τοποθεσίες

  • User Agents / Υπηρεσίες (Μπορεί να χρησιμοποιηθεί από το awscli, το webconsole, το lambda...)

  • Περιοδικά χρησιμοποιούμενες άδειες

Με αυτές τις πληροφορίες, αναπαράγετε όσο το δυνατόν περισσότερο το ίδιο σενάριο για να χρησιμοποιήσετε την πρόσβαση:

  • Εάν είναι ένας χρήστης ή ένας ρόλος προσβάσιμος από έναν χρήστη, προσπαθήστε να τον χρησιμοποιήσετε τις ίδιες ώρες, από την ίδια γεωγραφική τοποθεσία (ακόμα και τον ίδιο ISP και IP, εάν είναι δυνατόν)

  • Εάν είναι ένας ρόλος που χρησιμοποιείται από μια υπηρεσία, δημιουργήστε την ίδια υπηρεσία στην ίδια περιοχή και χρησιμοποιήστε την από εκεί στα ίδια χρονικά εύρη

  • Πάντα προσπαθήστε να χρησιμοποιήσετε τις ίδιες άδειες που έχει χρησιμοποιήσει αυτός ο χρήστης

  • Εάν χρειάζεστε να χρησιμοποιήσετε άλλες άδειες ή να καταχραστείτε μια άδεια (για παράδειγμα, να κατεβάσετε 1.000.000 αρχεία καταγραφής cloudtrail) κάντε το αργά και με το ελάχιστο αριθμό αλληλεπιδράσεων με το AWS (το awscli καλεί μερικές φορές πολλές αναγνώσεις API πριν από την εγγραφή)

Παράκαμψη του GuardDuty

guardduty:UpdateDetector

Με αυτήν την άδεια μπορείτε να απενεργοποιήσετε το GuardDuty για να αποφύγετε την ενεργοποίηση των ειδοποιήσεων.

aws guardduty update-detector --detector-id <detector-id> --no-enable
aws guardduty update-detector --detector-id <detector-id> --data-sources S3Logs={Enable=false}

guardduty:CreateFilter

Οι επιτιθέμενοι με αυτήν την άδεια έχουν τη δυνατότητα να χρησιμοποιούν φίλτρα για την αυτόματη αρχειοθέτηση των ευρημάτων:

aws guardduty create-filter  --detector-id <detector-id> --name <filter-name> --finding-criteria file:///tmp/criteria.json --action ARCHIVE

iam:PutRolePolicy, (guardduty:CreateIPSet|guardduty:UpdateIPSet)

Οι επιτιθέμενοι με τα προηγούμενα προνόμια μπορούν να τροποποιήσουν την Λίστα Εμπιστευμένων IP του GuardDuty προσθέτοντας τη διεύθυνση IP τους και αποφεύγοντας τη δημιουργία ειδοποιήσεων.

aws guardduty update-ip-set --detector-id <detector-id> --activate --ip-set-id <ip-set-id> --location https://some-bucket.s3-eu-west-1.amazonaws.com/attacker.csv

guardduty:DeletePublishingDestination

Οι επιτιθέμενοι μπορούν να αφαιρέσουν τον προορισμό για να αποτρέψουν την ειδοποίηση:

aws guardduty delete-publishing-destination --detector-id <detector-id> --destination-id <dest-id>

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

Παραδείγματα Παράκαμψης Συγκεκριμένων Ευρημάτων

Σημειώστε ότι υπάρχουν δεκάδες ευρήματα του GuardDuty, ωστόσο, ως μέλος της Ομάδας Ερυθρού Συναγερμού, όχι όλα από αυτά θα σας επηρεάσουν, και ακόμη καλύτερα, έχετε την πλήρη τεκμηρίωση για καθένα από αυτά στο https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html, οπότε ρίξτε μια ματιά πριν προβείτε σε οποιαδήποτε ενέργεια για να μην αποκαλυφθείτε.

Εδώ έχετε μερικά παραδείγματα παράκαμψης συγκεκριμένων ευρημάτων του GuardDuty:

Ο GuardDuty ανιχνεύει αιτήσεις AWS API από κοινά εργαλεία δοκιμής διείσδυσης και ενεργοποιεί ένα εύρημα PenTest. Ανιχνεύεται από το όνομα του προγράμματος πελάτη που περνάται στην αίτηση του API. Επομένως, τροποποιώντας το όνομα του προγράμματος πελάτη είναι δυνατόν να αποτραπεί η ανίχνευση της επίθεσης από το GuardDuty.

Για να αποτρέψετε αυτό, μπορείτε να αναζητήσετε το σενάριο session.py στο πακέτο botocore και να τροποποιήσετε το όνομα του προγράμματος πελάτη, ή να ορίσετε το Burp Suite ως διαμεσολαβητή του AWS CLI και να αλλάξετε τον πράκτορα χρήστη με το MitM ή απλά να χρησιμοποιήσετε ένα λειτουργικό σύστημα όπως το Ubuntu, το Mac ή τα Windows για να αποτρέψετε την ενεργοποίηση αυτής της ειδοποίησης.

UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration

Η εξαγωγή διαπιστευτηρίων EC2 από την υπηρεσία μεταδεδομένων και η χρήση τους εκτός του περιβάλλοντος AWS ενεργοποιεί την ειδοποίηση UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS. Αντίθετα, η χρήση αυτών των διαπιστευτηρίων από την περίπτωση EC2 σας ενεργοποιεί την ειδοποίηση UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS. Ωστόσο, η χρήση των διαπιστευτηρίων σε άλλη περιορισμένη περίπτωση EC2 μέσα στον ίδιο λογαριασμό παραμένει ανεντοπίστα, χωρίς να εκδίδεται καμία ειδοποίηση.

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

Αναφορές

Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με

Last updated