Vectra

Version de l'intégration : 8.0

Cas d'utilisation

  1. Ingérez les détections Vectra pour les utiliser afin de créer des alertes Google Security Operations. Ensuite, dans Google SecOps, les alertes peuvent être utilisées pour effectuer des orchestrations avec des playbooks ou des analyses manuelles.
  2. Effectuez des actions d'enrichissement : obtenez des données de Vectra pour enrichir les données dans les alertes Google SecOps.

Autorisation du produit

Pour obtenir un jeton d'API, vous devez accéder à la page "Profil" et le copier.

Emplacement du jeton d'API

Configurer l'intégration de Vectra dans Google SecOps

Pour obtenir des instructions détaillées sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.

Paramètres d'intégration

Utilisez les paramètres suivants pour configurer l'intégration :

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
Nom de l'instance Chaîne N/A Non Nom de l'instance pour laquelle vous souhaitez configurer l'intégration.
Description Chaîne N/A Non Description de l'instance.
Racine de l'API Chaîne https://{address}:{port} Oui Racine de l'API du serveur Vectra.
Jeton d'API Mot de passe N/A Oui Jeton d'API du compte Vectra.
Vérifier le protocole SSL Case à cocher Cochée Oui Si cette option est activée, vérifiez que le certificat SSL pour la connexion au serveur Vectra est valide.
Exécuter à distance Case à cocher Décochée Non Cochez le champ pour exécuter l'intégration configurée à distance. Une fois la case cochée, l'option permettant de sélectionner l'utilisateur distant (agent) s'affiche.

Actions

Ping

Description

Testez la connectivité à Vectra avec les paramètres fournis sur la page de configuration de l'intégration dans l'onglet Google Security Operations Marketplace.

Exécuter sur

L'action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si l'opération réussit :

Imprimez "Successfully connected to the Vectra server with the provided connection parameters!" (Connexion au serveur Vectra réussie avec les paramètres de connexion fournis !)

L'action doit échouer et arrêter l'exécution d'un playbook :
Si l'opération échoue :

Le message "Échec de la connexion au serveur Vectra ! Error is {0}".format(exception.stacktrace)

Général

Point de terminaison Enrich

Description

Récupérez les informations système du point de terminaison par son nom d'hôte ou son adresse IP.

Exécuter sur

Cette action s'applique aux entités suivantes :

  • Adresse IP
  • Nom d'hôte

Résultats de l'action

Enrichissement d'entités
Nom du champ d'enrichissement Source (clé JSON) Logique : quand les utiliser ?
Vectra_id results/id Lorsqu'il est disponible au format JSON
Vectra_name results/name Lorsqu'il est disponible au format JSON
Vectra_state results/state Lorsqu'il est disponible au format JSON
Vectra_threat résultats/menace Lorsqu'il est disponible au format JSON
Vectra_certainty résultats/certitude Lorsqu'il est disponible au format JSON
Vectra_ip results/last_source Lorsqu'il est disponible au format JSON
Vectra_tags {results/tags} séparés par un espace Lorsqu'il est disponible au format JSON
Vectra_note résultats/note Lorsqu'il est disponible au format JSON
Vectra_url results/url Lorsqu'il est disponible au format JSON
Vectra_last_modified results/last_modified Lorsqu'il est disponible au format JSON
Vectra_groups {results/groups} séparés par des espaces Lorsqu'il est disponible au format JSON
Vectra_is_key_asset results/is_key_asset Lorsqu'il est disponible au format JSON
Vectra_has_active_traffic results/has_active_traffic Lorsqu'il est disponible au format JSON
Vectra_is_targeting_key_asset results/is_targeting_key_asset Lorsqu'il est disponible au format JSON
Vectra_privilege_level results/privilege_level Lorsqu'il est disponible au format JSON
Vectra_previous_ip {results/previous_ips} séparés par des espaces Lorsqu'il est disponible au format JSON
Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
{
            "id": 131,
            "name": "DESKTOP-DAIOS7J",
            "active_traffic": false,
            "has_active_traffic": false,
            "t_score": 0,
            "threat": 0,
            "c_score": 0,
            "certainty": 0,
            "severity": null,
            "last_source": "10.0.2.68",
            "ip": "10.0.2.68",
            "previous_ips": [],
            "last_detection_timestamp": "2019-10-08T17:13:57Z",
            "key_asset": false,
            "is_key_asset": false,
            "state": "inactive",
            "targets_key_asset": false,
            "is_targeting_key_asset": false,
            "detection_set": [],
            "host_artifact_set": [
                {
                    "type": "netbios",
                    "value": "DESKTOP-DAIOS7J",
                    "source": null,
                    "siem": false
                }
            ],
            "sensor": "YLq09aHU",
            "sensor_name": "Vectra X",
            "tags": [],
            "note": null,
            "note_modified_by": null,
            "note_modified_timestamp": null,
            "url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "last_modified": "2020-02-12T13:41:51Z",
            "assigned_to": null,
            "assigned_date": null,
            "groups": [],
            "has_custom_model": false,
            "privilege_level": null,
            "privilege_category": null,
            "probable_owner": null,
            "detection_profile": null,
            "host_session_luids": [],
            "host_luid": "e0M-jygN"
}
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si l'opération réussit et qu'au moins une des entités fournies a été enrichie (is_success = true) :

Print "Successfully enriched the following endpoints from Vectra: \n {0}".format(entity.identifier list)

Si l'action a trouvé plusieurs correspondances dans Vectra pour certaines entités Google SecOps, la première correspondance a été utilisée pour enrichir le point de terminaison :

Imprimez "Plusieurs correspondances ont été trouvées dans Vectra. La première correspondance est utilisée pour les entités suivantes :/n {0}".format(liste des identifiants de l'entité)

Si l'enrichissement de certaines entités échoue(is_success = true) :

Imprimez "Aucune entité n'a été enrichie."

L'action doit échouer et arrêter l'exécution d'un playbook :
En cas d'erreur fatale, comme des identifiants incorrects, l'absence de connexion au serveur, etc.

Imprimez "Erreur lors de l'exécution de l'action "Enrich Endpoint". Raison : {0}''.format(error.Stacktrace)

Général

Ajouter des tags

Description

Ajoutez des tags au point de terminaison ou à la détection dans Vectra.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Mandatory Description
Type d'élément Menu déroulant

Point de terminaison

Valeurs possibles :
Point de terminaison

Détection

Oui Sélectionnez le type d'élément auquel vous souhaitez ajouter des tags.
ID de l'élément Chaîne N/A Oui Spécifiez l'ID de la détection/du point de terminaison.
Tags CSV N/A Oui Spécifiez les tags que vous souhaitez ajouter à la détection/au point de terminaison. Les tags doivent être séparés par une virgule (par exemple, tag1, tag2).

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si une détection/un point de terminaison est trouvé et que les tags ont été mis à jour (is_success = true) :

Imprimez "Successfully added tags {0} to {1} with ID {2}.format(tags, Item Type, Item ID)

Si une détection/un point de terminaison a été trouvé, mais que des tags n'ont pas été ajoutés (is_success=False) :

Imprime "L'action n'a pas pu ajouter les tags {0} à {1} avec l'ID {2}. Reason: {3}. format(tags, Item Type, Item ID, tags parameter from response)".

Si la détection/le point de terminaison n'a pas été trouvé (is_success=False) :

Imprimez "{0} avec l'ID {1} est introuvable.format(Item Type, Item ID)."

II is_success=false sans situation spécifique et sans erreur critique :

Imprimez "Action wasn't able to add tags to {0} with ID {1}.format(Item Type, Item ID)" (L'action n'a pas pu ajouter de tags à {0} avec l'ID {1}.format(Item Type, Item ID)) :

L'action doit échouer et arrêter l'exécution d'un playbook :
En cas d'erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action)

Imprime "Erreur lors de l'exécution de l'action "Ajouter des tags". Raison : {0}''.format(error.Stacktrace)

Général

Supprimer des tags

Description

Supprimez les tags du point de terminaison ou de la détection dans Vectra.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
Type d'élément Menu déroulant

Point de terminaison

Valeurs possibles :
Point de terminaison

Détection

Oui Sélectionnez le type d'élément dont vous souhaitez supprimer les tags.
ID de l'élément Chaîne N/A Oui Spécifiez l'ID de la détection/du point de terminaison.
Tags CSV N/A Oui Spécifiez les tags que vous souhaitez supprimer de la détection/du point de terminaison. Les tags doivent être séparés par une virgule (par exemple, tag1, tag2).

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si une détection/un point de terminaison est trouvé et que les tags ont été mis à jour (is_success = true) :

Imprime "Successfully removed tags {0} from {1} with ID {2}.format(tags, Item Type, Item ID)

Si la détection/le point de terminaison n'a pas été trouvé (is_success=False) :

Imprimez "{0} avec l'ID {1} introuvable.".format(Item Type, Item ID)."

Si un point de terminaison/une détection a été trouvé, mais que la balise n'a pas été trouvée (is_success=False) :

Imprimez "Les tags {0} n'existent pas dans {1} avec l'ID {2}.".format(liste des tags introuvables séparés par une virgule, type d'élément, ID de l'élément)."

Si is_success=false sans situation spécifique et qu'il ne s'agit pas d'une erreur critique :

Imprimez "Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)" :

L'action doit échouer et arrêter l'exécution d'un playbook :
En cas d'erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action)

Message "Erreur lors de l'exécution de l'action "Supprimer les tags". Raison : {0}''.format(error.Stacktrace)

Général

Mettre à jour une note

Description

Note de mise à jour pour le point de terminaison ou la détection.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Mandatory Description
Type d'élément Menu déroulant

Point de terminaison

Valeurs possibles :
Point de terminaison

Détection

Oui Sélectionnez le type d'élément pour lequel vous souhaitez modifier une note.
ID de l'élément Chaîne N/A Oui Spécifiez l'ID de la détection/du point de terminaison.
Remarque Chaîne N/A Oui Spécifiez la note que vous souhaitez ajouter à la détection/au point de terminaison.

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si une détection/un point de terminaison est trouvé et que la note a été mise à jour (is_success = true) :

Imprimez "Note modifiée avec succès sur {1} avec l'ID {2}.format(Item Type, Item ID)

Si la détection/le point de terminaison n'a pas été trouvé (is_success=False) :

Imprimez "{0} avec l'ID {1} introuvable.".format(Item Type, Item ID)."

Si is_success=false sans situation spécifique et qu'il ne s'agit pas d'une erreur critique :

Imprimez "L'action n'a pas pu mettre à jour la note sur {0} avec l'ID {1}.format(Item Type, Item ID)" :

L'action doit échouer et arrêter l'exécution d'un playbook :
En cas d'erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action)

Imprimez "Erreur lors de l'exécution de l'action "Mettre à jour la note". Raison : {0}''.format(error.Stacktrace)

Général

Modifier l'état de la détection

Description

Mettez à jour l'état de la détection.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
ID de la détection Integer N/A Oui Spécifiez l'ID de la détection dont vous souhaitez modifier l'état.
État LDD

Correction de

Valeurs possibles :

Fixe

Actif

Oui Indiquez l'état à définir pour la détection.

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie\*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si une détection est trouvée et que l'état a été mis à jour (is_success = true) :

Imprimez "Successfully updated status to '{0}' on detection with ID {1}.format(Status, Detection ID)

Si aucune détection n'a été trouvée (is_success=False) :

Imprimez "Détection avec l'ID {1} introuvable".format(ID de détection)."

Si is_success=false sans situation spécifique et qu'il ne s'agit pas d'une erreur critique :

Imprimez "Action wasn't able to update status on detection with ID {1}.format(detection ID)" (L'action n'a pas pu mettre à jour l'état de la détection avec l'ID {1}.format(detection ID)) :

L'action doit échouer et arrêter l'exécution d'un playbook :
En cas d'erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action)

Imprimez "Erreur lors de l'exécution de l'action "Mettre à jour l'état de la détection". Raison : {0}''.format(error.Stacktrace)

Général

Obtenir les détails d'une règle de triage

Description

Obtenez des informations détaillées sur les règles de triage.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
ID des règles de tri Integer N/A Oui Spécifiez une liste d'ID de règles de tri séparés par une virgule. Exemple : 28,29
Créer des insights Case à cocher Vrai Oui Si cette option est activée, l'action créera un insight distinct pour chaque règle de triage traitée.

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Insight
Titre de l'insight Description de l'insight
"Triage Rule {0}".format(triage_rule) "Detection Category: {0}\n Triage Category: {1}\n Detection: {2} \n Description: {3}".format(detection_category, triage_category, detection, description)
Résultat du script
Nom du résultat du script Options de valeur Exemple
is_success Vrai/Faux is_success:False
Résultat JSON
{
    "id": 28,
    "url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
    "description": "whatever",
    "enabled": true,
    "created_timestamp": "2020-10-01T17:21:19Z",
    "last_timestamp": "2020-10-01T17:21:19Z",
    "is_whitelist": false,
    "priority": 1,
    "active_detections": 1,
    "total_detections": 1,
    "template": false,
    "additional_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "remote1_ip",
                            "values": [
                                {
                                    "url": null,
                                    "value": "35.166.75.118",
                                    "label": "35.166.75.118"
                                }
                            ],
                            "groups": [],
                            "label": "C&C Server IP"
                        }
                    }
                ]
            }
        ]
    },
    "source_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "host",
                            "values": [
                                {
                                    "url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
                                    "value": 142,
                                    "label": "IP-10.10.100.10"
                                }
                            ],
                            "groups": [],
                            "label": "Host"
                        }
                    }
                ]
            }
        ]
    },
    "detection_category": "COMMAND & CONTROL",
    "triage_category": "triage rule 1",
    "detection": "Hidden HTTPS Tunnel"
Mur des cas
Type de résultat Valeur / Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

Si l'opération réussit et qu'au moins l'un des ID de règle fournis a été enrichi (is_success = true) :

Print "Successfully retrieved information about the following triage rules from Vectra: \n {0}".format(processed rule ids)

Si l'enrichissement de certaines entités échoue(is_success = true) :

Imprimez "L'action n'a pas pu récupérer d'informations sur les règles de triage suivantes\n: {0}".format(not processed rule ids)

Si l'enrichissement échoue pour toutes les entités (is_success = false) :

Imprimez "Aucune information n'a été récupérée concernant les règles de triage."

L'action doit échouer et arrêter l'exécution d'un playbook :
En cas d'erreur fatale (mauvaises identifiants, erreur de connexion, plantage de l'action)

Imprimez "Erreur lors de l'exécution de l'action "Obtenir les détails de la règle de triage". Raison : {0}''.format(error.Stacktrace)

Général
Tableau du mur des cas

Nom de la table : "Détails des règles de triage"

Colonnes du tableau :

ID (mappé en tant qu'ID)

Activé (mappé comme activé)

Catégorie de détection (mappée en tant que detection_category)

Catégorie de triage (mappée en tant que triage_category)

Détection (mappée en tant que détection)

Liste blanche (mappée en tant que "is_whitelist")

Priorité (mappée en tant que priorité)

Créé le (mappé en tant que created_timestamp)

Général

Connecteurs

Connecteur Vectra – Détections

Configurer le connecteur Vectra – Detections dans Google SecOps

Pour obtenir des instructions détaillées sur la configuration d'un connecteur dans Google SecOps, consultez Configurer le connecteur.

Paramètres du connecteur

Utilisez les paramètres suivants pour configurer le connecteur :

Nom à afficher du paramètre Type Valeur par défaut Obligatoire Description
Nom du champ de produit Chaîne Nom du produit Oui Saisissez le nom du champ source pour récupérer le nom du champ produit.
Nom du champ d'événement Chaîne eventType Oui Saisissez le nom du champ source pour récupérer le nom du champ d'événement.

Nom du champ d'environnement

Chaîne "" Non

Décrit le nom du champ dans lequel le nom de l'environnement est stocké.

Si le champ "environment" (environnement) est introuvable, l'environnement est celui par défaut.

Modèle d'expression régulière de l'environnement

Chaîne .* Non

Expression régulière à exécuter sur la valeur trouvée dans le champ "Nom du champ d'environnement".

La valeur par défaut est ".*" pour tout capturer et renvoyer la valeur inchangée.

Permet à l'utilisateur de manipuler le champ "environnement" à l'aide de la logique des expressions régulières.

Si le modèle d'expression régulière est nul ou vide, ou si la valeur d'environnement est nulle, l'environnement par défaut est utilisé comme résultat final.

Délai avant expiration du script (en secondes) Integer 180 Oui Délai avant expiration du processus Python exécutant le script actuel.
Racine de l'API Chaîne https://x.x.x.x:x:x Oui Racine de l'API du serveur Vectra.
Jeton d'API Mot de passe N/A Oui Jeton d'API du compte Vectra.
Score de menace le plus faible à récupérer Integer 50 Oui

Score de menace le plus bas qui sera utilisé pour récupérer les détections.

Min : 0

Valeur maximale : 100

Score de certitude minimal à récupérer Integer 0 Non

Score de certitude le plus bas qui sera utilisé pour récupérer les détections.

Min : 0

Valeur maximale : 100

Filtre par catégorie Valeurs séparées par une virgule Commande et contrôle,botnet ,reconnaissance,déplacement latéral,exfiltration,info

Spécifiez les catégories de détections à ingérer dans Google SecOps.

Valeurs possibles :

Commande et contrôle

Botnet

Reconnaissance

Mouvement latéral

Exfiltration

Infos

Récupérer les heures Max en arrière Integer 1 Non Nombre d'heures à partir desquelles extraire les menaces.
Nombre maximal de détections à récupérer Integer 25 Non Nombre de détections à traiter par itération de connecteur. La limite est de 5 000. Il s'agit d'une limitation de Vectra.
Utiliser la liste blanche comme liste noire Case à cocher Décochée Oui Si cette option est activée, la liste blanche sera utilisée comme liste noire.
Vérifier le protocole SSL Case à cocher Cochée Oui Si cette option est activée, vérifiez que le certificat SSL pour la connexion au serveur Vectra est valide.
Adresse du serveur proxy Chaîne N/A Non Adresse du serveur proxy à utiliser.
Nom d'utilisateur du proxy Chaîne N/A Non Nom d'utilisateur du proxy pour l'authentification.
Mot de passe du proxy Mot de passe N/A Non Mot de passe du proxy pour l'authentification.

Règles du connecteur

Assistance de proxy

Le connecteur est compatible avec le proxy.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.