GCP - Logging Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Este serviço permite que os usuários armazenem, pesquisem, analisem, monitorem e alertem sobre dados e eventos de log do GCP.
O Cloud Logging está totalmente integrado com outros serviços do GCP, fornecendo um repositório centralizado para logs de todos os seus recursos do GCP. Ele coleta automaticamente logs de vários serviços do GCP como App Engine, Compute Engine e Cloud Functions. Você também pode usar o Cloud Logging para aplicativos que estão em execução localmente ou em outras nuvens usando o agente ou API do Cloud Logging.
Principais Recursos:
Centralização de Dados de Log: Agregue dados de log de várias fontes, oferecendo uma visão holística de suas aplicações e infraestrutura.
Gerenciamento de Logs em Tempo Real: Transmita logs em tempo real para análise e resposta imediatas.
Análise de Dados Poderosa: Use recursos avançados de filtragem e pesquisa para filtrar rapidamente grandes volumes de dados de log.
Integração com BigQuery: Exporte logs para o BigQuery para análise e consulta detalhadas.
Métricas Baseadas em Logs: Crie métricas personalizadas a partir dos seus dados de log para monitoramento e alertas.
Basicamente, os sinks e métricas baseadas em logs determinarão onde um log deve ser armazenado.
O Cloud Logging é altamente configurável para atender a diversas necessidades operacionais:
Log Buckets (Armazenamento de logs na web): Defina buckets no Cloud Logging para gerenciar retenção de logs, proporcionando controle sobre quanto tempo suas entradas de log são retidas.
Por padrão, os buckets _Default
e _Required
são criados (um registra o que o outro não registra).
_Required é:
O período de retenção dos dados é configurado por bucket e deve ser de pelo menos 1 dia. No entanto, o período de retenção de _Required é de 400 dias e não pode ser modificado.
Observe que os Log Buckets não são visíveis no Cloud Storage.
Log Sinks (Roteador de logs na web): Crie sinks para exportar entradas de log para vários destinos, como Pub/Sub, BigQuery ou Cloud Storage, com base em um filtro.
Por padrão, sinks para os buckets _Default
e _Required
são criados:
_Required logging.googleapis.com/projects//locations/global/buckets/_Required 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") _Default logging.googleapis.com/projects//locations/global/buckets/_Default NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT LOG_ID("externalaudit.googleapis.com/activity") AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT LOG_ID("externalaudit.googleapis.com/system_event") AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
Por padrão, as operações de Admin Write (também chamadas de logs de auditoria de Atividade do Admin) são as que são registradas (escrevem metadados ou informações de configuração) e não podem ser desativadas.
Em seguida, o usuário pode habilitar os logs de auditoria de Acesso a Dados, que são Admin Read, Data Write e Data Write.
Você pode encontrar mais informações sobre cada tipo de log na documentação: https://cloud.google.com/iam/docs/audit-logging
No entanto, observe que isso significa que, por padrão, as ações GetIamPolicy
e outras ações de leitura não estão sendo registradas. Portanto, por padrão, um atacante tentando enumerar o ambiente não será pego se o administrador do sistema não configurar para gerar mais logs.
Para habilitar mais logs no console, o administrador do sistema precisa acessar https://console.cloud.google.com/iam-admin/audit e habilitá-los. Existem 2 opções diferentes:
Configuração Padrão: É possível criar uma configuração padrão e registrar todos os logs de Admin Read e/ou Data Read e/ou Data Write e até adicionar principais isentos:
Selecionar os serviços: Ou apenas selecionar os serviços para os quais você gostaria de gerar logs e o tipo de logs e o principal isento para esse serviço específico.
Além disso, observe que, por padrão, apenas esses logs estão sendo gerados, pois gerar mais logs aumentará os custos.
A ferramenta de linha de comando gcloud
é uma parte integral do ecossistema GCP, permitindo que você gerencie seus recursos e serviços. Veja como você pode usar gcloud
para gerenciar suas configurações de logging e acessar logs.
Exemplo para verificar os logs do cloudresourcemanager
(o usado para 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
Não há logs de testIamPermissions
:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)