Recopilar registros de LAPS de Microsoft

Disponible en:

En este documento se explica cómo ingerir los registros de Microsoft LAPS (Local Administrator Password Solution) en Google Security Operations mediante Bindplane. El analizador primero extrae los datos con formato JSON del campo message y, a continuación, analiza el campo EventData del JSON extraído. A continuación, asigna los campos extraídos al esquema del modelo de datos unificado (UDM), clasifica el tipo de evento en función del EventId y, por último, combina todos los datos procesados en el evento de salida.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Si se ejecuta a través de un proxy, los puertos del cortafuegos están abiertos.
  • Acceso privilegiado a un servidor Microsoft Windows con LAPS

Obtener el archivo de autenticación de ingestión de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instalar el agente de Bindplane

Instalación de ventanas

  1. Abre el símbolo del sistema o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Recursos de instalación adicionales

Para ver más opciones de instalación, consulta la guía de instalación.

Configurar el agente de BindPlane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:
    • Busca el archivo config.yaml. Normalmente, se encuentra en el directorio de instalación en Windows.
    • Abre el archivo con un editor de texto (por ejemplo, el Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

    receivers:
      windowseventlog/laps_operational:
        channel: Microsoft-Windows-LAPS/Operational
        max_reads: 100
        poll_interval: 5s
        raw: true
        start_at: end
    
    processors:
      batch:
    
    exporters:
      chronicle/laps:
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'WINDOWS_LAPS'
            override_log_type: false
            raw_log_field: body
    
    service:
      pipelines:
        logs/laps:
          receivers:
          - windowseventlog/laps_operational
          processors: [batch]
          exporters: [chronicle/laps]
    
  3. Sustituye <customer_id> por el ID de cliente real.

  4. Actualiza /path/to/ingestion-authentication-file.json a la ruta en la que se guardó el archivo de autenticación en la sección Obtener el archivo de autenticación de ingestión de Google SecOps.

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar LAPS de Microsoft Windows

  1. Escribe eventvwr.msc en una petición de comando elevada y pulsa ENTRAR para abrir el Visor de eventos.
  2. Ve a Registros de aplicaciones y servicios > Microsoft > Windows > LAPS.
  3. Despliega LAPS.
  4. Haz clic con el botón derecho en LAPS y, a continuación, en Propiedades.
  5. Selecciona la casilla Habilitar registro.
  6. Haz clic en Aceptar cuando se te pregunte si el registro está habilitado.
  7. Haz clic en Aceptar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Canal read_only_udm.additional.fields.key El valor se toma del campo Channel del registro sin procesar y se asigna al campo key.
Canal read_only_udm.additional.fields.value.string_value El valor se toma del campo Channel del registro sin procesar y se asigna al campo string_value.
Ordenador read_only_udm.principal.hostname El valor se toma del campo Computer del registro sin procesar.
Ordenador read_only_udm.principal.asset.hostname El valor se toma del campo Computer del registro sin procesar.
EventData.%1 read_only_udm.additional.fields.value.string_value El valor se toma del campo EventData.%1 del registro sin procesar y se asigna al campo string_value.
EventId read_only_udm.metadata.product_event_type El valor se toma del campo EventId del registro sin procesar.
EventId read_only_udm.security_result.rule_name El valor se toma del campo EventId del registro sin procesar y se añade a EventID:.
EventRecordID read_only_udm.metadata.product_log_id El valor se toma del campo EventRecordID del registro sin procesar.
Palabras clave read_only_udm.additional.fields.key El valor se toma del campo Keywords del registro sin procesar y se asigna al campo key.
Palabras clave read_only_udm.additional.fields.value.string_value El valor se toma del campo Keywords del registro sin procesar y se asigna al campo string_value.
Nivel read_only_udm.security_result.severity El valor se toma del campo Level del registro sin procesar y se asigna a INFORMATIONAL para INFO, Informational, Information, Normal y NOTICE; ERROR para ERROR y Error; y CRITICAL para Critical.
Código de operación read_only_udm.additional.fields.key El valor se toma del campo Opcode del registro sin procesar y se asigna al campo key.
Código de operación read_only_udm.additional.fields.value.string_value El valor se toma del campo Opcode del registro sin procesar y se asigna al campo string_value.
ProcessID read_only_udm.principal.process.pid El valor se toma del campo ProcessID del registro sin procesar.
ProviderName read_only_udm.metadata.product_name El valor se toma del campo ProviderName del registro sin procesar.
Tarea read_only_udm.additional.fields.key El valor se toma del campo Task del registro sin procesar y se asigna al campo key.
Tarea read_only_udm.additional.fields.value.string_value El valor se toma del campo Task del registro sin procesar y se asigna al campo string_value.
ThreadID read_only_udm.additional.fields.key El valor se toma del campo ThreadID del registro sin procesar y se asigna al campo key.
ThreadID read_only_udm.additional.fields.value.string_value El valor se toma del campo ThreadID del registro sin procesar y se asigna al campo string_value.
TimeCreated read_only_udm.metadata.event_timestamp El valor se toma del campo TimeCreated del registro sin procesar y se analiza como una marca de tiempo UNIX_MS.
TimeCreated events.timestamp El valor se toma del campo TimeCreated del registro sin procesar y se analiza como una marca de tiempo UNIX_MS.
Versión read_only_udm.additional.fields.key El valor se toma del campo Version del registro sin procesar y se asigna al campo key.
Versión read_only_udm.additional.fields.value.string_value El valor se toma del campo Version del registro sin procesar y se asigna al campo string_value.
read_only_udm.additional.fields.key Se le ha asignado el valor EventData_P1.
read_only_udm.metadata.event_type Se asigna condicionalmente STATUS_UNCATEGORIZED si EventId es 7 o 2. De lo contrario, se asigna GENERIC_EVENT.
read_only_udm.metadata.vendor_name Se le ha asignado el valor Microsoft.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.