GCP - Logging Enum
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Informations de base
Ce service permet aux utilisateurs de stocker, rechercher, analyser, surveiller et alerter sur les données et événements de journal provenant de GCP.
Cloud Logging est entiĂšrement intĂ©grĂ© avec dâautres services GCP, fournissant un rĂ©fĂ©rentiel centralisĂ© pour les journaux de toutes vos ressources GCP. Il collecte automatiquement les journaux de divers services GCP comme App Engine, Compute Engine et Cloud Functions. Vous pouvez Ă©galement utiliser Cloud Logging pour des applications fonctionnant sur site ou dans dâautres clouds en utilisant lâagent ou lâAPI Cloud Logging.
Fonctionnalités clés :
- Centralisation des donnĂ©es de journal : AgrĂ©ger les donnĂ©es de journal provenant de diverses sources, offrant une vue dâensemble de vos applications et de votre infrastructure.
- Gestion des journaux en temps réel : Diffuser les journaux en temps réel pour une analyse et une réponse immédiates.
- Analyse de données puissante : Utiliser des capacités de filtrage et de recherche avancées pour trier rapidement de grands volumes de données de journal.
- IntĂ©gration avec BigQuery : Exporter les journaux vers BigQuery pour une analyse et des requĂȘtes dĂ©taillĂ©es.
- MĂ©triques basĂ©es sur les journaux : CrĂ©er des mĂ©triques personnalisĂ©es Ă partir de vos donnĂ©es de journal pour la surveillance et lâalerte.
Flux de journaux
 (1) (1).png)
https://betterstack.com/community/guides/logging/gcp-logging/
Fondamentalement, les sinks et les mĂ©triques basĂ©es sur les journaux dĂ©termineront oĂč un journal doit ĂȘtre stockĂ©.
Configurations prises en charge par GCP Logging
Cloud Logging est hautement configurable pour répondre à divers besoins opérationnels :
- Seaux de journaux (Stockage des journaux sur le web) : Définir des seaux dans Cloud Logging pour gérer la conservation des journaux, offrant un contrÎle sur la durée de conservation de vos entrées de journal.
- Par défaut, les seaux
_Defaultet_Requiredsont créés (lâun enregistre ce que lâautre nâenregistre pas). - _Required est :
```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")
```
- La pĂ©riode de conservation des donnĂ©es est configurĂ©e par bucket et doit ĂȘtre dâau moins 1 jour. Cependant, la pĂ©riode de conservation de _Required est de 400 jours et ne peut pas ĂȘtre modifiĂ©e.
- Notez que les Log Buckets ne sont pas visibles dans Cloud Storage.
- Log Sinks (Routeur de logs dans le web) : CrĂ©ez des sinks pour exporter des entrĂ©es de logs vers diverses destinations telles que Pub/Sub, BigQuery ou Cloud Storage en fonction dâun filtre.
- Par défaut, des sinks pour les buckets
_Defaultet_Requiredsont créés : -
_Required logging.googleapis.com/projects/
- **Filtres d'exclusion :** Il est possible de configurer des **exclusions pour empĂȘcher des entrĂ©es de logs spĂ©cifiques** d'ĂȘtre ingĂ©rĂ©es, ce qui permet d'Ă©conomiser des coĂ»ts et de rĂ©duire le bruit inutile.
3. **Métriques basées sur les logs :** Configurez des **métriques personnalisées** basées sur le contenu des logs, permettant des alertes et un suivi basés sur les données de logs.
4. **Vues de logs :** Les vues de logs offrent un contrÎle avancé et **granulaire sur qui a accÚs** aux logs dans vos buckets de logs.
- Cloud Logging **crée automatiquement la vue `_AllLogs` pour chaque bucket**, qui montre tous les logs. Cloud Logging crée également une vue pour le bucket `_Default` appelée `_Default`. La vue `_Default` pour le bucket `_Default` montre tous les logs sauf les logs d'audit d'accÚs aux données. Les vues `_AllLogs` et `_Default` ne sont pas modifiables.
Il est possible de permettre à un principal **d'utiliser uniquement une vue de log spécifique** avec une politique IAM comme :
```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
}
Journaux par défaut
Par dĂ©faut, les opĂ©rations Admin Write (Ă©galement appelĂ©es journaux dâaudit dâactivitĂ© admin) sont celles qui sont enregistrĂ©es (Ă©crire des mĂ©tadonnĂ©es ou des informations de configuration) et ne peuvent pas ĂȘtre dĂ©sactivĂ©es.
Ensuite, lâutilisateur peut activer les journaux dâaudit dâaccĂšs aux donnĂ©es, qui sont Admin Read, Data Write et Data Write.
Vous pouvez trouver plus dâinfos sur chaque type de journal dans la documentation : https://cloud.google.com/iam/docs/audit-logging
Cependant, notez que cela signifie quâen par dĂ©faut, les actions GetIamPolicy et dâautres actions de lecture ne sont pas enregistrĂ©es. Donc, par dĂ©faut, un attaquant essayant dâĂ©numĂ©rer lâenvironnement ne sera pas dĂ©tectĂ© si lâadministrateur systĂšme nâa pas configurĂ© la gĂ©nĂ©ration de journaux supplĂ©mentaires.
Pour activer plus de journaux dans la console, lâadministrateur systĂšme doit se rendre sur https://console.cloud.google.com/iam-admin/audit et les activer. Il existe 2 options diffĂ©rentes :
- Configuration par dĂ©faut : Il est possible de crĂ©er une configuration par dĂ©faut et dâenregistrer tous les journaux Admin Read et/ou Data Read et/ou Data Write et mĂȘme dâajouter des principaux exemptĂ©s :
.png)
- Sélectionner les services : Ou simplement sélectionner les services pour lesquels vous souhaitez générer des journaux et le type de journaux ainsi que le principal exempté pour ce service spécifique.
Notez Ă©galement quâen par dĂ©faut, seuls ces journaux sont gĂ©nĂ©rĂ©s car gĂ©nĂ©rer plus de journaux augmentera les coĂ»ts.
ĂnumĂ©ration
Lâoutil en ligne de commande gcloud est une partie intĂ©grante de lâĂ©cosystĂšme GCP, vous permettant de gĂ©rer vos ressources et services. Voici comment vous pouvez utiliser gcloud pour gĂ©rer vos configurations de journaux et accĂ©der aux journaux.
# 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
Exemple pour vérifier les journaux de cloudresourcemanager (celui utilisé pour BF permissions) : 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
Il nây a pas de journaux de testIamPermissions :
 (1) (1) (1).png)
Post Exploitation
GCP - Logging Post Exploitation
Persistence
Références
- https://cloud.google.com/logging/docs/logs-views#gcloud
- https://betterstack.com/community/guides/logging/gcp-logging/
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

