GCP - Storage Post Exploitation

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

Cloud Storage

Za više informacija o Cloud Storage pogledajte ovu stranicu:

GCP - Storage Enum

Omogućavanje javnog pristupa

Moguće je dati eksternim korisnicima (prijavljenim na GCP ili ne) pristup sadržaju bucket-a. Međutim, podrazumevano će opcija za javno izlaganje bucket-a biti onemogućena:

# Disable public prevention
gcloud storage buckets update gs://BUCKET_NAME --no-public-access-prevention

# Make all objects in a bucket public
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
## I don't think you can make specific objects public just with IAM

# Make a bucket or object public (via ACL)
gcloud storage buckets update gs://BUCKET_NAME --add-acl-grant=entity=AllUsers,role=READER
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --add-acl-grant=entity=AllUsers,role=READER

Ako pokušate da dodelite ACLs bucketu sa onemogućenim ACLs, dobićete ovu grešku: ERROR: HTTPError 400: Cannot use ACL API to update bucket policy when uniform bucket-level access is enabled. Read more at https://cloud.google.com/storage/docs/uniform-bucket-level-access

Da biste pristupili otvorenim bucket-ovima preko pregledača, posetite URL https://<bucket_name>.storage.googleapis.com/ ili https://<bucket_name>.storage.googleapis.com/<object_name>

storage.objects.delete (storage.objects.get)

Da biste obrisali objekat:

gcloud storage rm gs://<BUCKET_NAME>/<OBJECT_NAME> --project=<PROJECT_ID>

storage.buckets.delete, storage.objects.delete & storage.objects.list

Da biste obrisali bucket:

gcloud storage rm -r gs://<BUCKET_NAME>

Onemogućavanje HMAC Keys

Dozvola storage.hmacKeys.update omogućava onemogućavanje HMAC Keys, a dozvola storage.hmacKeys.delete omogućava identitetu da obriše HMAC Keys povezane sa service accounts u Cloud Storage.

# Deactivate
gcloud storage hmac update <ACCESS_ID> --deactivate

# Delete
gcloud storage hmac delete <ACCESS_ID>

storage.buckets.setIpFilter & storage.buckets.update

Dozvola storage.buckets.setIpFilter, zajedno sa dozvolom storage.buckets.update, omogućava identitetu da konfiguriše filtere IP adresa na Cloud Storage bucketu, navodeći koji IP opsezi ili adrese imaju dozvolu za pristup resursima bucketa.

Za potpuno brisanje IP filtera može se koristiti sledeća komanda:

gcloud storage buckets update gs://<BUCKET_NAME> --project=<PROJECT_ID>

Da biste promenili filtrirane IP adrese, možete koristiti sledeću komandu:

gcloud storage buckets update gs://<BUCKET_NAME> \
--ip-filter-file=ip-filter.json \
--project=<PROJECT_ID>

JSON datoteka predstavlja sam filter, nešto poput:

{
"mode": "Enabled",
"publicNetworkSource": {
"allowedIpCidrRanges": ["<IP>/<MASK>"]
},
"allowCrossOrgVpcs": false,
"allowAllServiceAgentAccess": false
}

storage.buckets.restore

Vratite bucket koristeći:

gcloud storage restore gs://<BUCKET_NAME>#<GENERATION> \
--project=<PROJECT_ID>

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