URL malicioso observado

Este documento descreve um tipo de deteção de ameaças no Security Command Center. As conclusões de ameaças são geradas por detetores de ameaças quando detetam uma potencial ameaça nos seus recursos da nuvem. Para ver uma lista completa das conclusões de ameaças disponíveis, consulte o Índice de conclusões de ameaças.

Vista geral

A deteção de ameaças de contentores observou um URL malicioso na lista de argumentos de um processo executável. Os atacantes podem carregar software malicioso ou bibliotecas maliciosas através de URLs maliciosos.

A Deteção de ameaças de contentores é a origem desta descoberta.

Como responder

Para responder a esta descoberta, faça o seguinte:

Passo 1: reveja os detalhes da descoberta

  1. Abra uma Malicious URL Observeddescoberta conforme indicado em Rever descobertas. O painel de detalhes da descoberta é aberto no separador Resumo.

  2. No separador Resumo, reveja as informações nas seguintes secções:

    • O que foi detetado, especialmente os seguintes campos:
      • URI: o URI malicioso observado.
      • Added binary: o caminho completo do ficheiro binário do processo que recebeu os argumentos que contêm o URL malicioso.
      • Argumentos: os argumentos fornecidos quando invoca o ficheiro binário do processo.
      • Variáveis de ambiente: as variáveis de ambiente que estavam em vigor quando o ficheiro binário do processo foi invocado.
      • Contentores: o nome do contentor.
      • Pods do Kubernetes: o nome do pod e o namespace.
    • Recurso afetado, especialmente os seguintes campos:
      • Nome a apresentar do recurso: o nome do recurso afetado.
      • Nome completo do recurso: o nome completo do recurso do cluster. O nome completo do recurso inclui as seguintes informações:
        • O projeto que contém o cluster: projects/PROJECT_ID
        • A localização onde o cluster está localizado: zone/ZONE ou locations/LOCATION
        • O nome do cluster: projects/CLUSTER_NAME
    • Links relacionados, especialmente os seguintes campos:
      • Indicador do VirusTotal: link para a página de análise do VirusTotal.
  3. No separador JSON, no atributo sourceProperties, tome nota do valor da propriedade VM_Instance_Name.

Passo 2: reveja o cluster e o nó

  1. Na Google Cloud consola, aceda à página Clusters do Kubernetes.

    Aceda aos clusters do Kubernetes

  2. Na Google Cloud barra de ferramentas da consola, selecione o projeto que aparece em Nome completo do recurso (resource.name), se necessário. O nome do projeto aparece após /projects/ no nome do recurso completo.

  3. Clique no nome do cluster que anotou em Nome a apresentar do recurso (resource.display_name) do resumo da descoberta. É apresentada a página Clusters.

  4. Na secção Metadados da **página Detalhes do cluster, tome nota de todas as informações definidas pelo utilizador que possam ser úteis na resolução da ameaça, como informações que identifiquem o proprietário do cluster.

  5. Clique no separador Nodes.

  6. Nos nós listados, selecione o nó que corresponde ao valor de VM_Instance_Name que anotou no JSON da descoberta anteriormente.

  7. No separador Detalhes da página Detalhes do nó, na secção Anotações, tome nota do valor da anotação container.googleapis.com/instance_id.

Passo 3: reveja o Pod

  1. Na Google Cloud consola, aceda à página Kubernetes Workloads.

    Aceda às cargas de trabalho do Kubernetes

  2. Na Google Cloud barra de ferramentas da consola, selecione o projeto que anotou no nome completo do recurso (resource.name) do cluster no resumo da deteção, se necessário.

  3. Clique em Mostrar cargas de trabalho do sistema.

  4. Filtre a lista de cargas de trabalho pelo nome do cluster que anotou no Nome completo do recurso (resource.name) do resumo da descoberta e, se necessário, o espaço de nomes (kubernetes.pods.ns) do pod que anotou.

  5. Clique no nome da carga de trabalho que corresponde ao valor da propriedade VM_Instance_Name que anotou anteriormente no JSON da descoberta. É apresentada a página Detalhes do grupo.

  6. Na página Detalhes do Pod, tome nota de todas as informações sobre o Pod que possam ajudar a resolver a ameaça.

Passo 4: verifique os registos

  1. Na Google Cloud consola, aceda ao Explorador de registos.

    Aceda ao Explorador de registos

  2. Na Google Cloud barra de ferramentas da consola, selecione o projeto que aparece em Nome completo do recurso (resource.name), se necessário.

  3. Defina Selecionar intervalo de tempo para o período de interesse.

  4. Na página carregada, faça o seguinte:

    1. Encontre os registos do pod (kubernetes.pods.name) através do seguinte filtro:
      • resource.type="k8s_container"
      • resource.labels.project_id="PROJECT_ID"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="NAMESPACE_NAME"
      • resource.labels.pod_name="POD_NAME"
    2. Encontre registos de auditoria de clusters através do seguinte filtro:
      • logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="PROJECT_ID"
      • resource.labels.location="LOCATION_OR_ZONE"
      • resource.labels.cluster_name="CLUSTER_NAME/var>"
      • POD_NAME
    3. Encontre registos da consola de nós do GKE através do seguinte filtro:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

Passo 5: investigue o contentor em execução

Se o contentor ainda estiver em execução, pode ser possível investigar o ambiente do contentor diretamente.

  1. Na Google Cloud consola, aceda à página Clusters do Kubernetes.

    Aceda aos clusters do Kubernetes

  2. Clique no nome do cluster apresentado em resource.labels.cluster_name.

  3. Na página Clusters, clique em Associar e, de seguida, em Executar no Cloud Shell.

    O Cloud Shell é iniciado e adiciona comandos para o cluster no terminal.

  4. Prima Enter e, se for apresentada a caixa de diálogo Autorizar Cloud Shell, clique em Autorizar.

  5. Ligue-se ao ambiente do contentor executando o seguinte comando:

      kubectl exec --namespace=POD_NAMESPACE -ti POD_NAME -c CONTAINER_NAME -- /bin/sh
    

    Substitua CONTAINER_NAME pelo nome do contentor que anotou no resumo da descoberta anteriormente.

    Este comando requer que o contentor tenha uma shell instalada em /bin/sh.

Passo 6: pesquise métodos de ataque e resposta

  1. Verifique o estado do site da Navegação Segura para ver detalhes sobre o motivo pelo qual o URL é classificado como malicioso.
  2. Reveja as entradas da framework MITRE ATT&CK para este tipo de descoberta: Ingress Tool Transfer.
  3. Verifique o valor hash SHA-256 do ficheiro binário denunciado como malicioso no VirusTotal clicando no link no indicador do VirusTotal. O VirusTotal é um serviço pertencente à Alphabet que fornece contexto sobre ficheiros, URLs, domínios e endereços IP potencialmente maliciosos.
  4. Para desenvolver um plano de resposta, combine os resultados da investigação com a investigação da MITRE e a análise do VirusTotal.

Passo 7: implemente a sua resposta

O seguinte plano de resposta pode ser adequado para esta descoberta, mas também pode afetar as operações. Avalie cuidadosamente as informações recolhidas na sua investigação para determinar a melhor forma de resolver as conclusões.

  • Contacte o proprietário do projeto com o contentor comprometido.
  • Pare ou elimine o contentor comprometido e substitua-o por um novo contentor.

O que se segue?