GCP - Pub/Sub Enum
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
Pub/Sub
Google Cloud Pub/Sub bağımsız uygulamalar arasında mesaj alışverişini kolaylaştıran bir hizmet olarak tanımlanmaktadır. Temel bileşenler, uygulamaların abone olabileceği konulardır. Abone olan uygulamalar mesaj gönderebilir ve alabilir. Her mesaj, gerçek içeriğin yanı sıra ilişkili meta verileri de içerir.
Konu, mesajların gönderileceği kuyruktur, abonelikler ise kullanıcıların konulardaki mesajlara erişmek için kullanacağı nesnelerdir. Her konu için birden fazla abonelik olabilir ve 4 tür abonelik bulunmaktadır:
- Pull: Bu aboneliğin kullanıcıları mesajları çekmek zorundadır.
- Push: Bir URL uç noktası belirtilir ve mesajlar hemen bu noktaya gönderilir.
- Big query table: Push gibi, ancak mesajları bir Big query tablosuna yerleştirir.
- Cloud Storage: Mesajları mevcut bir kovaya doğrudan teslim eder.
Varsayılan olarak, bir abonelik 31 gün sonra sona erer, ancak asla sona ermeyecek şekilde ayarlanabilir.
Varsayılan olarak, bir mesaj 7 gün boyunca saklanır, ancak bu süre 31 güne kadar uzatılabilir. Ayrıca, eğer 10 saniye içinde ACK edilmezse, kuyrukta geri döner. ACK edilen mesajların saklanmaya devam etmesi de ayarlanabilir.
Bir konu, varsayılan olarak Google yönetimli şifreleme anahtarı kullanılarak şifrelenir. Ancak KMS’den bir CMEK (Müşteri Yönetimli Şifreleme Anahtarı) de seçilebilir.
Dead letter: Abonelikler, maksimum teslimat denemesi sayısını yapılandırabilir. Bir mesaj teslim edilemediğinde, belirtilen dead letter konusuna yeniden yayınlanır.
Snapshots & Schemas
Bir snapshot, bir aboneliğin belirli bir zamandaki durumunu yakalayan bir özelliktir. Temelde, bir abonelikteki onaylanmamış mesajların tutarlı bir yedeklemesidir. Bir snapshot oluşturarak, aboneliğin mesaj onaylama durumunu korursunuz ve snapshot alındığı noktadan itibaren mesaj tüketimine devam etmenizi sağlar, orijinal mesajlar silinmiş olsa bile.
Eğer çok şanslıysanız, bir snapshot, alındığı zamandan kalma eski hassas bilgileri içerebilir.
Bir konu oluştururken, konu mesajlarının bir şemayı takip etmesi gerektiğini belirtebilirsiniz.
Enumeration
# Get a list of topics in the project
gcloud pubsub topics list
gcloud pubsub topics describe <topic>
gcloud pubsub topics list-subscriptions <topic>
gcloud pubsub topics get-iam-policy <topic>
# Get a list of subscriptions across all topics
gcloud pubsub subscriptions list
gcloud pubsub subscriptions describe <subscription>
gcloud pubsub subscriptions get-iam-policy <subscription>
# Get list of schemas
gcloud pubsub schemas list
gcloud pubsub schemas describe <schema>
gcloud pubsub schemas list-revisions <schema>
# Get list of snapshots
gcloud pubsub snapshots list
gcloud pubsub snapshots describe <snapshot>
Ancak, daha iyi sonuçlar alabilirsiniz daha büyük bir veri seti istemek, eski mesajlar da dahil. Bunun bazı ön koşulları vardır ve uygulamaları etkileyebilir, bu yüzden gerçekten ne yaptığınızı bildiğinizden emin olun.
Yetki Yükseltme & Sonrası Sömürü
GCP - Pub/Sub Post Exploitation
Pub/Sub Lite
Pub/Sub Lite bölgesel depolama ile bir mesajlaşma hizmetidir. Pub/Sub Lite, Pub/Sub’un bir kısmı kadar maliyete sahiptir ve yüksek hacimli akış (saniyede 10 milyon mesaja kadar) boru hatları ve düşük maliyetin birincil öncelik olduğu olay odaklı sistemler için tasarlanmıştır.
Pub/Sub Lite’da konular ve abonelikler vardır, anlık görüntüler ve şemalar yoktur ve şunlar vardır:
- Rezervasyonlar: Pub/Sub Lite Rezervasyonları, kullanıcıların mesaj akışları için belirli bir bölgede kapasite ayırtmalarına olanak tanıyan bir özelliktir.
- İşlemler: Pub/Sub Lite’ı yönetme ve idare etme ile ilgili eylem ve görevleri ifade eder.
Sayım
# lite-topics
gcloud pubsub lite-topics list
gcloud pubsub lite-topics describe <topic>
gcloud pubsub lite-topics list-subscriptions <topic>
# lite-subscriptions
gcloud pubsub lite-subscriptions list
gcloud pubsub lite-subscriptions describe <subscription>
# lite-reservations
gcloud pubsub lite-reservations list
gcloud pubsub lite-reservations describe <topic>
gcloud pubsub lite-reservations list-topics <topic>
# lite-operations
gcloud pubsub lite-operations list
gcloud pubsub lite-operations describe <topic>
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın:HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

