Integra GRR Rapid Response con Google SecOps

Questo documento spiega come configurare e integrare GRR Rapid Response con Google Security Operations.

Casi d'uso

L'integrazione di GRR Rapid Response utilizza le funzionalità di Google SecOps per supportare i seguenti casi d'uso:

  • Raccolta forense degli endpoint: attiva automaticamente i flussi forensi per raccogliere file, chiavi di registro e artefatti di memoria dagli endpoint remoti durante un'indagine.

  • Ricerca rapida delle minacce: cerca file o hash specifici in tutti i client gestiti per identificare l'ambito di una compromissione.

  • Arricchimento dei metadati del client: recupera informazioni dettagliate sul client, tra cui versione del sistema operativo, specifiche hardware e configurazione di rete, per fornire il contesto per gli avvisi di sicurezza.

  • Risposta automatica agli incidenti: utilizza i playbook per elencare i client attivi o cercare artefatti sospetti immediatamente dopo il rilevamento di attività dannose.

Prima di iniziare

Prima di configurare l'integrazione in Google SecOps, verifica che l'ambiente GRR Rapid Response soddisfi i seguenti requisiti:

  • Credenziali API: devi disporre di un nome utente e una password validi per un account utente con accesso API al server GRR.

  • Autorizzazioni account: assicurati che l'account utilizzato per l'integrazione disponga di autorizzazioni sufficienti per avviare i flussi e cercare artefatti nei client di destinazione.

  • Configurazione del server: identifica la radice dell'API del tuo server GRR (ad esempio, https://<grr-server-address>:8000).

  • Accesso alla rete: assicurati che la configurazione di rete consenta connessioni HTTPS in uscita dal tuo ambiente Google SecOps all'endpoint dell'API GRR.

Parametri di integrazione

L'integrazione di GRR Rapid Response richiede i seguenti parametri:

Parametro Descrizione
API Root

Obbligatorio.

L'URL di base dell'API del server GRR, inclusa la porta (ad esempio, https://grr.example.com:8000).

Username

Obbligatorio.

Il nome utente dell'account GRR utilizzato per autenticare la connessione.

Password

Obbligatorio.

La password associata all'account GRR utilizzato per l'autenticazione.

Verify SSL

Facoltativo.

Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server GRR.

Abilitato per impostazione predefinita.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supporto di più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Recupera i dettagli del client

Utilizza l'azione Recupera dettagli cliente per recuperare i dettagli completi del cliente.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Ottieni dettagli cliente richiede i seguenti parametri:

Parametro Descrizione
Client ID

Obbligatorio.

L'ID del cliente. Questo parametro accetta più valori come stringa separata da virgole.

Output azione

L'azione Ottieni dettagli cliente fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Tabella della bacheca casi

L'azione Ottieni dettagli cliente può generare la seguente tabella:

Nome tabella: GRR Clients Details

Colonne della tabella:

  • ID client
  • Organizzatore
  • Versione del sistema operativo
  • Etichette
  • Dimensioni memoria
  • Versione client
  • Prima visualizzazione
  • Ultimo accesso
  • Data di installazione del sistema operativo
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Ottieni dettagli cliente:

[
        {
            "HardwareInfo": {
                "system_product_name": "HVM domU",
                "bios_rom_size": "64 kB",
                "bios_vendor": "Xen",
                "system_sku_number": "Not Specified",
                "system_family": "Not Specified",
                "system_uuid": "UUID",
                "system_manufacturer": "Xen",
                "bios_release_date": "08/24/2006",
                "bios_version": "4.2.amazon",
                "serial_number": "UUID",
                "bios_revision": "4.2"
            },
            "LastClock": 1535907460060247,
            "Interfaces": [
                {
                    "ifname": "lo",
                    "addresses": [
                        {
                            "packed_bytes": "fwAAAQ==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "AAAAAAAAAAAAAAAAAAAAAQ==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "MAC_ADDRESS"
                },
                {
                    "ifname": "eth0",
                    "addresses": [
                        {
                            "packed_bytes": "rB8sWw==",
                            "address_type": "INET"
                        },
                        {
                            "packed_bytes": "/oAAAAAAAAAE1kv//h5yfg==",
                            "address_type": "INET6"
                        }
                    ],
                    "mac_address": "MAC_ADDRESS"
                }
            ],
            "OS": {
                "kernel": "4.4.0-1065-aws",
                "install_date": 1534280169000000,
                "system": "Linux",
                "fqdn": "ip-192-0-2-91.example",
                "machine": "x86_64",
                "version": "16.4",
                "release": "Ubuntu"
            },
            "AgentInfo": {
                "client_name": "grr",
                "client_description": "grr linux amd64",
                "client_version": 3232,
                "build_time": "2018-06-28 09:37:57"
            },
            "Labels": [],
            "LastBootedAt": 1535292604000000,
            "FirstSeenAt": 1535293827970976,
            "User": [],
            "Volumes": [
                {
                    "total_allocation_units": 50808745,
                    "bytes_per_sector": 4096,
                    "sectors_per_allocation_unit": 1,
                    "unixvolume": {
                        "mount_point": "/"
                    },
                    "actual_available_allocation_units": 50027766
                }
            ],
            "LastCrashAt": null,
            "LastSeenAt": 1535907460075229,
            "ID": "CLIENT_ID"
        }
]
Messaggi di output

L'azione Ottieni dettagli cliente può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully fetched details for the following clients: CLIENT_ID_LIST.

Could not fetch details for the specified clients. CLIENT_ID does not exist.

L'azione è riuscita.
Error executing action "Get Client Details". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ottieni dettagli cliente:

Nome del risultato dello script Valore
is_success True o False

Visualizzare i dettagli della ricerca

Utilizza l'azione Ottieni dettagli ricerca per recuperare i dettagli della ricerca.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Recupera dettagli ricerca richiede i seguenti parametri:

Parametro Descrizione
Hunt ID

Obbligatorio.

L'ID di una ricerca da recuperare. Questo parametro accetta più valori come stringa separata da virgole.

Output azione

L'azione Ottieni dettagli ricerca fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile

L'azione Ottieni dettagli caccia può generare il seguente link:

API_ROOT/#/hunts/HUNT_ID

Risultato JSON

Il seguente esempio mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Get Hunt Details:

[
        {
            "Name": "ExampleHunt",
            "Expires": 1537063517000000,
            "Description": "test",
            "Creator": "admin",
            "IsRobot": false,
            "Status": "PAUSED",
            "Hunt_ID": "HUNT_ID",
            "Created": 1535853917657925,
            "Start_Time": 1535853917657925,
            "Duration": "2w",
            "Expiration time": " ",
            "Crash_limit": 100,
            "Client_limit": 100,
            "Client_rate (clients/min)": "20.5",
            "Client_Queued": "20.5",
            "Client_Scheduled": "20.5",
            "Client_Outstanding": "20.5",
            "Client_Completed": "20.5",
            "Client_with Results": "20.5",
            "Results": "20.5",
            "Total_CPU_Time_Used": "20.5",
            "Total_Network_Traffic": "20.5",
            "Flow_Name": "KeepAlive",
            "Flow_Arguments": "20.5",
            "Client_Rule_Set": " "
        }
]
Messaggi di output

L'azione Ottieni dettagli della caccia può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully fetched details for the HUNT_ID hunt.

Could not fetch details for the specified hunts. HUNT_ID does not exist.

L'azione è riuscita.
Error executing action "Get Hunt Details". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ottieni dettagli ricerca:

Nome del risultato dello script Valore
is_success True o False

List Clients

Utilizza l'azione Elenca clienti per cercare i clienti e interagire con loro.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Elenca clienti richiede i seguenti parametri:

Parametro Descrizione
Offset

Facoltativo.

Il punto di partenza (offset) per la ricerca dei clienti.

Max Results To Return

Facoltativo.

Il numero massimo di clienti da restituire in ogni risposta.

Il valore predefinito è 5.

Output azione

L'azione Elenca clienti fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Tabella della bacheca casi

L'azione Elenca clienti può generare la seguente tabella:

Nome tabella: GRR Clients

Colonne della tabella:

  • ID client
  • Organizzatore
  • Versione del sistema operativo
  • Prima visualizzazione
  • Versione client
  • Etichette
  • Ultima registrazione
  • Data di installazione del sistema operativo
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Elenca clienti:

[{
    "Client_ID": "CLIENT_ID",
    "Agent_Info":{
       "Client_Name": "example",
       "Client_Version": 3420}
    "OS_Info":{
       "System": "Linux",
       "Release": "Ubuntu",
       "Architecture": "x86_64",
       "Installation_Time": "2020-04-09 13:44:17 UTC",
       "Kernel": "4.15.0-96-generic",
       "Version": "18.04"}
    "Client_Last_Booted_At": "",
    "Client_First_Seen_At": "2020-09-25 14:26:38 UTC",
    "Client_Last_Seen": "2020-11-19 10:12:52 UTC",
    "Client_Last_Clock": "2020-11-19 10:12:52 UTC",
    "Memory_Size": "985.6MiB",
    "Client_Labels": []
   }]
Messaggi di output

L'azione Elenca clienti può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully listed available clients in GRR.

No clients are available in GRR.

L'azione è riuscita.
Error executing action "List Clients". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La seguente tabella elenca il valore dell'output del risultato dello script quando utilizzi l'azione Elenca clienti:

Nome del risultato dello script Valore
is_success True o False

Elenco delle ricerche

Utilizza l'azione Elenca cacce per recuperare informazioni su tutte le cacce disponibili.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Elenca ricerche richiede i seguenti parametri:

Parametro Descrizione
Creator

Facoltativo.

Un utente che ha creato una caccia.

Offset

Facoltativo.

Il punto di partenza (offset) per la ricerca di cacce.

Max Results To Return

Facoltativo.

Il numero massimo di ricerche da restituire in ogni risposta.

Il valore predefinito è 5.

Output azione

L'azione Elenca ricerche fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Tabella della bacheca casi

L'azione Elenca ricerche può generare la seguente tabella:

Nome tabella: Hunts

Colonne della tabella:

  • ID caccia
  • Stato
  • Ora creazione
  • Ora di inizio
  • Durata
  • Limite client
  • Ora di scadenza
  • Creator
  • Descrizione
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione List Hunts:

[
    {
        "Hunt_Description": "Interrogate run by cron to keep host info fresh.",
        "Creator": "GRRCron",
        "Is_Robot": false,
        "State": "STARTED",
        "Creation Time": "1605690387510082",
        "Start Time (initial)": "1605690387678448",
        "Start Time (last)": "1605690387678448",
        "Duration": " ",
        "Client Limit": 0,
        "Expiration Time": " ",
        "Hunt_ID": "HUNT_ID",
    }
]
Messaggi di output

L'azione Elenca ricerche può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully listed hunts.

Could not list hunts for the specified creator. CREATOR_ID< does not exist.

Could not list hunts for the specified creator. Please check the Offset value.

L'azione è riuscita.
Error executing action "List Hunts". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Elenca ricerche:

Nome del risultato dello script Valore
is_success True o False

Elenco flussi avviati

Utilizza l'azione List Launched Flows (Elenca flussi avviati) per elencare i flussi avviati su un client specificato.

Questa azione viene eseguita sulle seguenti entità Google SecOps:

  • IP Address
  • Hostname

Input azione

L'azione Elenca flussi avviati richiede i seguenti parametri:

Parametro Descrizione
Offset

Facoltativo.

Il punto di partenza (offset) per la ricerca dei flussi.

Max Results To Return

Facoltativo.

Un numero massimo di flussi da restituire in ogni risposta.

Il valore predefinito è 5.

Output azione

L'azione Elenca flussi avviati fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Tabella della bacheca casi

L'azione Elenca flussi avviati può generare la seguente tabella:

Nome tabella: GRR Launch Flows

Colonne della tabella:

  • Nome flusso
  • ID flusso
  • Stato
  • Ora creazione
  • Ultima attività
  • Creator
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Elenca flussi avviati:

{
    "Creator": "admin",
    "NestedFlow": [],
    "LastActiveAt": 1535900632278975,
    "Args": {
        "ARGUMENTS"
    },
    "State": "TERMINATED",
    "StartedAt": 1535900542745106,
    "Flow_ID": "FLOW_ID",
    "Flow_Name": "FLOW_NAME"
}
Messaggi di output

L'azione Elenca flussi avviati può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully listed flows launched on CLIENT_ID client.

Could not list flows. No entities were found.

Could not list flows. IPs or Hosts entities were not found in current scope.

Could not list flows on the following entities: ENTITY_ID.

L'azione è riuscita.
Error executing action "List Launched Flows". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Elenca flussi avviati:

Nome del risultato dello script Valore
is_success True o False

Dindin

Utilizza l'azione Ping per testare la connettività a GRR Rapid Response.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

Nessuno.

Output azione

L'azione Ping fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Messaggi di output

L'azione Ping può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully connected to the GRR server with the provided connection parameters! L'azione è riuscita.
Failed to connect to the GRR server! Error is ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La tabella seguente elenca il valore dell'output del risultato dello script quando utilizzi l'azione Ping:

Nome del risultato dello script Valore
is_success True o False

Inizia una caccia

Utilizza l'azione Avvia una caccia per avviare una caccia appena creata. Per impostazione predefinita, GRR Rapid Response assegna lo stato PAUSED a tutte le nuove ricerche.

La risposta rapida GRR imposta tutte le ricerche che hanno raggiunto il limite del client sullo stato PAUSED. Dopo aver rimosso il limite client, puoi utilizzare l'azione Avvia una caccia per riavviare le ricerche in pausa.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Avvia una ricerca richiede i seguenti parametri:

Parametro Descrizione
Hunt ID

Obbligatorio.

L'ID della caccia da avviare. Questo parametro accetta più valori come stringa separata da virgole.

Output azione

L'azione Avvia una ricerca fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

L'esempio seguente mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Avvia una caccia:

[{ "Hunt_ID": "HUNT_ID", "State": STARTED}]
Messaggi di output

L'azione Avvia una caccia può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully started the following hunts: HUNT_ID_LIST.

Could not start the following hunts. HUNT_ID_LIST could not be found in GRR.

Could not stop the following hunts: HUNT_ID_LIST. Hunt can only be started from PAUSED state.

L'azione è riuscita.
Error executing action "Start A Hunt". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Interrompere una ricerca

Utilizza l'azione Interrompi una ricerca per impedire ai nuovi clienti di pianificare e interrompere i flussi attuali nel momento in cui il loro stato cambia.

Una volta interrotta una caccia, non puoi riprenderla. Questa azione elimina tutti i risultati correnti in corso e non influisce sui risultati già segnalati.

Questa azione non viene eseguita sulle entità Google SecOps.

Input azione

L'azione Interrompi una ricerca richiede i seguenti parametri:

Parametro Descrizione
Hunt ID

Obbligatorio.

L'ID di una caccia da interrompere. Questo parametro accetta più valori come stringa separata da virgole.

Output azione

L'azione Interrompi una ricerca fornisce i seguenti output:

Tipo di output dell'azione Disponibilità
Allegato della bacheca casi Non disponibile
Link alla bacheca casi Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Messaggi di output Disponibile
Risultato dello script Disponibile
Risultato JSON

Il seguente esempio mostra l'output del risultato JSON ricevuto quando si utilizza l'azione Interrompi una ricerca:

[{ "Hunt_ID": "HUNT_ID", "State": STOPPED}]
Messaggi di output

L'azione Interrompi una caccia può restituire i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

Successfully stopped the following hunts: HUNT_ID_LIST.

Could not stop the following hunts. HUNT_ID_LIST could not be found in GRR.

Could not stop the following hunts: HUNT_ID_LIST. Hunt can only be stopped from STARTED or PAUSED states.

L'azione è riuscita.
Error executing action "Stop A Hunt". Reason: ERROR_REASON

L'azione non è riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Risultato dello script

La seguente tabella elenca il valore dell'output del risultato dello script quando si utilizza l'azione Interrompi una ricerca:

Nome del risultato dello script Valore
is_success True o False

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.