GCP - Logging Enum
Informações Básicas
Este serviço permite aos usuários armazenar, pesquisar, analisar, monitorar e alertar sobre dados de log e eventos 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 em execução localmente ou em outras nuvens, usando o agente ou API do Cloud Logging.
Recursos Principais:
Centralização de Dados de Log: Agregue dados de log de várias fontes, oferecendo uma visão holística de seus aplicativos e infraestrutura.
Gerenciamento de Log em Tempo Real: Transmita logs em tempo real para análise e resposta imediatas.
Análise de Dados Poderosa: Utilize capacidades avançadas de filtragem e pesquisa para analisar rapidamente grandes volumes de dados de log.
Integração com o BigQuery: Exporte logs para o BigQuery para análise e consulta detalhadas.
Métricas Baseadas em Log: Crie métricas personalizadas a partir dos seus dados de log para monitoramento e alerta.
Fluxo de Logs
Basicamente, os sinks e métricas baseadas em log determinarão onde um log deve ser armazenado.
Configurações Suportadas pelo Cloud Logging do GCP
O Cloud Logging é altamente configurável para atender a diversas necessidades operacionais:
Buckets de Log (Armazenamento de Logs na web): Defina buckets no Cloud Logging para gerenciar a retenção de logs, fornecendo controle sobre por quanto tempo suas entradas de log são retidas.
Por padrão, os buckets
_Default
e_Required
são criados (um está registrando o que o outro não está)._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 do _Required é de 400 dias e não pode ser modificado.
Observe que os Buckets de Log não são visíveis no Cloud Storage.
Sinks de Log (Roteador de Log 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")
Registos Padrão
Por padrão, as operações de Escrita de Admin (também chamadas de registos de auditoria de Atividade de Admin) são as que são registadas (escrever metadados ou informações de configuração) e não podem ser desativadas.
Em seguida, o usuário pode ativar os registos de auditoria de Acesso a Dados, que são de Leitura de Admin, Escrita de Dados e Escrita de Dados.
Você pode encontrar mais informações sobre cada tipo de registo na documentação: https://cloud.google.com/iam/docs/audit-logging
No entanto, observe que isso significa que por padrão as ações de GetIamPolicy
e outras ações de leitura não estão sendo registadas. Portanto, por padrão, um atacante tentando enumerar o ambiente não será detectado se o administrador do sistema não configurar para gerar mais registos.
Para ativar mais registos no console, o administrador do sistema precisa ir para https://console.cloud.google.com/iam-admin/audit e ativá-los. Existem 2 opções diferentes:
Configuração Padrão: É possível criar uma configuração padrão e registar todos os registos de Leitura de Admin e/ou Leitura de Dados e/ou Escrita de Dados e até adicionar princípios isentos:
Selecionar os serviços: Ou apenas selecionar os serviços dos quais gostaria de gerar registos e o tipo de registos e o princípio isento para esse serviço específico.
Também observe que por padrão apenas esses registos estão sendo gerados porque gerar mais registos aumentará os custos.
Enumeração
A ferramenta de linha de comando gcloud
é uma parte integral do ecossistema do GCP, permitindo que você gerencie seus recursos e serviços. Veja como você pode usar o gcloud
para gerenciar suas configurações de registo e aceder aos registos.
Exemplo para verificar os logs do cloudresourcemanager
(o usado para BF permissões): 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
:
Pós-Exploração
GCP - Logging Post ExploitationPersistência
GCP - Logging PersistenceReferências
Last updated