GCP - Logging Enum
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die 💬 Discord group of die telegram group of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Hierdie diens laat gebruikers toe om logdata en gebeurtenisse van GCP te stoor, soek, analiseer, monitor en waarsku.
Cloud Logging is volledig geïntegreer met ander GCP-dienste, wat ’n gesentraliseerde berging van logs van al jou GCP-hulpbronne bied. Dit verskaf outomaties logs van verskeie GCP-dienste soos App Engine, Compute Engine, en Cloud Functions. Jy kan ook Cloud Logging gebruik vir toepassings wat op-premises of in ander wolke loop deur die Cloud Logging-agent of API te gebruik.
Belangrike Kenmerke:
- Logdata Sentralisering: Aggregere logdata van verskeie bronne, wat ’n holistiese oorsig van jou toepassings en infrastruktuur bied.
- Regstydse Logbestuur: Stroom logs in regstyd vir onmiddellike analise en reaksie.
- Kragvolle Data-analise: Gebruik gevorderde filtrering en soekvermoëns om vinnig deur groot volumes logdata te sift.
- Integrasie met BigQuery: Eksporteer logs na BigQuery vir gedetailleerde analise en navraag.
- Log-gebaseerde Metings: Skep pasgemaakte metings uit jou logdata vir monitering en waarskuwing.
Logs vloei
 (1) (1).png)
https://betterstack.com/community/guides/logging/gcp-logging/
Basies sal die sinks en log-gebaseerde metings bepaal waar ’n log gestoor moet word.
Konfigurasies Ondersteun deur GCP Logging
Cloud Logging is hoogs konfigureerbaar om aan diverse operasionele behoeftes te voldoen:
- Log Emmers (Logs berging in die web): Definieer emmers in Cloud Logging om logretensie te bestuur, wat beheer bied oor hoe lank jou loginskrywings behou word.
- Standaard word die emmers
_Defaulten_Requiredgeskep (een log wat die ander nie doen nie). - _Required is:
```bash
LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency")
```
- Retensieperiode van die data is per emmer geconfigureer en moet ten minste 1 dag wees. Die retensieperiode van _Required is 400 dae en kan nie gewysig word nie.
- Let daarop dat Log Buckets nie sigbaar is in Cloud Storage nie.
- Log Sinks (Log router in die web): Skep sinks om loginskrywings na verskeie bestemmings soos Pub/Sub, BigQuery, of Cloud Storage te eksporteer gebaseer op ’n filter.
- Deur verstek word sinks vir die emmers
_Defaulten_Requiredgeskep: -
_Required logging.googleapis.com/projects/
- **Uitsluitingsfilters:** Dit is moontlik om **uitsluitings op te stel om spesifieke loginskrywings** te voorkom van ingestel te word, wat koste bespaar en onnodige geraas verminder.
3. **Log-gebaseerde Metriques:** Konfigureer **aangepaste metriques** gebaseer op die inhoud van logs, wat waarskuwing en monitering op grond van logdata moontlik maak.
4. **Log weergawes:** Log weergawes bied gevorderde en **fyn beheer oor wie toegang het** tot die logs binne jou log emmers.
- Cloud Logging **skep outomaties die `_AllLogs` weergave vir elke emmer**, wat al die logs wys. Cloud Logging skep ook 'n weergave vir die `_Default` emmer genaamd `_Default`. Die `_Default` weergave vir die `_Default` emmer wys al die logs behalwe Data Access audit logs. Die `_AllLogs` en `_Default` weergawes is nie redigeerbaar nie.
Dit is moontlik om 'n prinsiep **slegs toe te laat om 'n spesifieke Log weergave** te gebruik met 'n IAM-beleid soos:
```json
{
"bindings": [
{
"members": ["user:username@gmail.com"],
"role": "roles/logging.viewAccessor",
"condition": {
"title": "Bucket reader condition example",
"description": "Grants logging.viewAccessor role to user username@gmail.com for the VIEW_ID log view.",
"expression": "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\""
}
}
],
"etag": "BwWd_6eERR4=",
"version": 3
}
Standaard Logs
Deur die standaard is Admin Write operasies (ook genoem Admin Activity audit logs) diegene wat gelog word (skryf metadata of konfigurasie-inligting) en kan nie gedeaktiveer word nie.
Dan kan die gebruiker Data Access audit logs aktiveer, dit is Admin Read, Data Write en Data Write.
Jy kan meer inligting oor elke tipe log in die dokumentasie vind: https://cloud.google.com/iam/docs/audit-logging
Let egter daarop dat dit beteken dat deur die standaard GetIamPolicy aksies en ander leesaksies nie gelog word nie. So, deur die standaard sal ’n aanvaller wat probeer om die omgewing te enumereer nie gevang word as die stelselsadministrateur nie gekonfigureer het om meer logs te genereer nie.
Om meer logs in die konsole te aktiveer, moet die stelselsadministrateur na https://console.cloud.google.com/iam-admin/audit gaan en dit aktiveer. Daar is 2 verskillende opsies:
- Standaard Konfigurasie: Dit is moontlik om ’n standaard konfigurasie te skep en al die Admin Read en/of Data Read en/of Data Write logs te log en selfs vrygestelde principals by te voeg:
.png)
- Kies die dienste: Of net kies die dienste waarvoor jy logs wil genereer en die tipe logs en die vrygestelde principal vir daardie spesifieke diens.
Let ook daarop dat deur die standaard slegs daardie logs gegenereer word omdat die generering van meer logs die koste sal verhoog.
Enumerasie
Die gcloud opdraglyn hulpmiddel is ’n integrale deel van die GCP ekosisteem, wat jou toelaat om jou hulpbronne en dienste te bestuur. Hier is hoe jy gcloud kan gebruik om jou log konfigurasies en toegang logs te bestuur.
# List buckets
gcloud logging buckets list
gcloud logging buckets describe <bucket-name> --location <location>
# List log entries: only logs that contain log entries are listed.
gcloud logging logs list
# Get log metrics
gcloud logging metrics list
gcloud logging metrics describe <metric-name>
# Get log sinks
gcloud logging sinks list
gcloud logging sinks describe <sink-name>
# Get log views
gcloud logging views list --bucket <bucket> --location global
gcloud logging views describe --bucket <bucket> --location global <view-id> # view-id is usually the same as the bucket name
# Get log links
gcloud logging links list --bucket _Default --location global
gcloud logging links describe <link-id> --bucket _Default --location global
Voorbeeld om die logs van cloudresourcemanager (die gebruik word om BF toestemmings te kry) te kontroleer: https://console.cloud.google.com/logs/query;query=protoPayload.serviceName%3D%22cloudresourcemanager.googleapis.com%22;summaryFields=:false:32:beginning;cursorTimestamp=2024-01-20T00:07:14.482809Z;startTime=2024-01-01T11:12:26.062Z;endTime=2024-02-02T17:12:26.062Z?authuser=2&project=digital-bonfire-410512
Daar is geen logs van testIamPermissions nie:
 (1) (1) (1).png)
Post Exploitation
GCP - Logging Post Exploitation
Persistence
References
- https://cloud.google.com/logging/docs/logs-views#gcloud
- https://betterstack.com/community/guides/logging/gcp-logging/
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die 💬 Discord group of die telegram group of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

