Faux positifs sous contrôle : Créer un workflow spécial CrowdSec avec Tracecat

modifié le : 13 janvier 2025,
par Killian Prin-Abeil
 

Introduction

Il y a quelques semaines, nous avons publié notre tout premier article sur Tracecat, un outil SOAR que nous avons ajouté à notre stack et qui nous permet d'automatiser certaines tâches. L'article se concentrait notamment sur l'intégration réalisée avec CrowdSec, et dans cet article, nous allons approfondir l'intégration, notamment grâce à de nouveaux nœuds d'action créés par notre administrateur cybersec.

Faux positifs sous contrôle

Prérequis

  • Un serveur Tracecat (latest:0.20.0)
  • Un de vos serveur préférer avec CrowdSec (latest:1.6.4)

Création workflow

Créons maintenant notre workflow. Le but de ce workflow sera de gérer les faux positifs, notamment les @ip notées comme bénignes dans le CTI de CrowdSec.

Pour cela, nous aurons besoin de deux nœuds d'action :

  • Search for an IP address using the CTI CrowdSec API.
  • Unblock an IP address in CrowdSec

Ensuite, dans la partie 'Inputs', pour chacun des nœuds d'action, on ajoute :

ip_address: ${{ TRIGGER.ip_address }}

Cela signifie que chaque fois qu'une @IP est déclenchée, les nœuds d'action recevront cette @IP en tant qu'input.

Maintenant, ce que nous voulons, c'est traiter les alertes qui contiennent des faux positifs, afin d'éviter de bloquer un utilisateur légitime. C'est pourquoi, avant le nœud unblock_ip_address, il y a le nœud search_ip_address, car nous allons vérifier si l'@IP est légitime ou, du moins, non malicieuse.

Pour cela, il nous suffit simplement d'ajouter dans le nœud unblock_ip_address, dans la section 'Control Flow' puis 'Run if', l'instruction suivante :

${{ ACTIONS.search_for_an_ip_address_using_the_cti_crowdsec_api.result.data.reputation == 'benign' }}

Cette instruction permettra que, lorsque le résultat de la recherche sur l'@IP arrive, il vérifie la réputation. Si celle-ci n'est pas 'benign', alors le nœud d'action ne se déclenchera pas. Dans le cas contraire, le nœud se déclenchera et l'@IP, notée 'benign', sera débannie du serveur.

  • [ ] 💡 Tips :
    Notez qu'il existe au total 6 états de réputation dans le CTI de CrowdSec. À vous de vous adapter comme bon vous semble.

    benign
    safe
    unknown
    known
    suspicious
    malicious

Avant de pouvoir utiliser le workflow, n'oubliez pas d'enregistrer vos identifiants :

Bien, pour utiliser le workflow, nous allons entrer manuellement les @IP, dans le meilleur des cas, nous vous recommandons d'utiliser la notification créée dans le premier article afin que cela se fasse automatiquement.

Sur ma machine, j'ai deux adresses IP bannies par CrowdSec : la 193.41.206.36 et la 167.94.146.56. Testons la première :

On observe que seul le nœud d'action search_ip_address se déclenche, la raison étant, comme vous pouvez le voir, que la réputation de l'@ip est "malicious".

Testons maintenant la deuxième @ip.

Qu'observe-t-on ? Eh bien, le deuxième nœud d'action s'est déclenché, et ce, pour une raison simple : l'@ip est notée "benign", ce qui a permis son débanissement du serveur.

Nous pouvons également jeter un coup d'œil sur le serveur directement, et nous pouvons effectivement voir que seule l'@ip malicieuse est restée bloquée.

Pour finir

Depuis le premier article sur Tracecat, l'outil n'a cessé de se développer et notre administrateur en cybersécurité l'a également aidé dans ce sens en développant d'autres nœuds d'action pour CrowdSec, mais aussi Wazuh. Une gestion automatisée des faux positifs était l'un des objectifs principaux et, à l'avenir, cela sera amélioré, avec l'ajout de nouveaux nœuds d'action pour renforcer l'intégration de CrowdSec dans Tracecat.