🦖Velociraptor
Velociraptor est une plateforme open-source de surveillance et de réponse aux incidents (EDR) conçue pour fournir une visibilité totale sur les environnements informatiques. Dans ce tutoriel, nous allons explorer les bases de Velociraptor, y compris son installation, sa configuration et ses fonctionnalités principales.
Introduction à Velociraptor
Velociraptor est un outil d'investigation numérique et de surveillance en temps réel, utilisé principalement dans les environnements de sécurité informatique pour collecter des données, effectuer des recherches et des analyses, ainsi que pour répondre rapidement aux incidents de sécurité. Il offre une architecture modulaire, extensible et open-source qui permet aux professionnels de la cybersécurité d'adapter l'outil à leurs besoins spécifiques.
L'un des points forts de Velociraptor réside dans sa polyvalence. Que ce soit pour des tâches de forensic visant à extraire des artefacts numériques ou pour la surveillance des endpoints afin de détecter les indicateurs compromettants (IOC), Velociraptor se distingue par son efficacité et sa flexibilité.
🔍 Fonctionnalités Principales
Forensic : Velociraptor excelle dans l'extraction minutieuse des artefacts numériques, permettant ainsi une analyse approfondie des systèmes compromis.
Surveillance des Endpoints : Grâce à sa capacité à détecter les IOC, Velociraptor offre une surveillance proactive des endpoints, aidant à identifier les menaces potentielles dès leur apparition.
🖥️ Architecture Modulaire et Extensible
Velociraptor adopte une approche modulaire et open-source, offrant ainsi aux professionnels de la cybersécurité la possibilité d'adapter l'outil à leurs besoins spécifiques. Son architecture flexible permet une intégration aisée avec d'autres outils et une personnalisation poussée selon les exigences de l'environnement de sécurité.
💻 Composants Clés
Serveur : Le serveur Velociraptor offre une interface graphique (GUI) intuitive, permettant de surveiller et de gérer les clients de manière centralisée.
Client : Les clients Velociraptor, disponibles pour les systèmes Windows et Linux, agissent comme des endpoints, collectant et transmettant les données au serveur pour analyse.
Que ce soit pour des environnements de petite taille ou pour des infrastructures complexes, Velociraptor s'adapte facilement et offre des fonctionnalités puissantes pour répondre aux besoins les plus exigeants en matière de sécurité informatique.
🐱 Installation
Prérequis
Avant d'installer Velociraptor, assurez-vous d'avoir les éléments suivants :
Un système d'exploitation compatible (Windows, Linux ou macOS)
Python 3.x installé sur votre machine
Accès administrateur ou élevé pour l'installation
Procédure d'installation
Ouvrez un terminal ou une invite de commande.
Installez Velociraptor en utilisant pip (le gestionnaire de paquets Python) avec la commande suivante :
pip install vr
Une fois l'installation terminée, vous pouvez vérifier si Velociraptor a été installé avec succès en exécutant la commande suivante :
vr --version
🍦Configuration Initiale
Avant de commencer à utiliser Velociraptor, vous devrez effectuer quelques étapes de configuration initiale.
Configuration du Serveur
Initialisation du Serveur : Lancez la commande suivante pour initialiser le serveur Velociraptor :
vr init
Démarrage du Serveur : Démarrez le serveur Velociraptor avec la commande suivante :
./velociraptor-v0.5.8-linux-amd64 --config velociraptor.config.yaml frontend -v

Configuration du Client
Enregistrement du Client : Enregistrez le client Velociraptor en utilisant la commande suivante sur le client windows depuis C:\Program Files\Velociraptor :
velociraptor-v0.5.8-windows-amd64.exe --config velociraptor.config.yaml client -v
🎮 Utilisation de Velociraptor
🖥️ Interface Web
Velociraptor dispose d'une interface web conviviale qui permet de visualiser et d'interagir avec les données collectées. Vous pouvez accéder à l'interface web en ouvrant un navigateur et en saisissant l'URL suivante : http://adresse_du_serveur:port
.
souvent : 127.0.0.1:8889

🦕 Interface Client de Velociraptor
Ces liens grisés sont spécifiques aux points de terminaison client et deviendront actifs une fois que l'analyste interagit avec ces points de terminaison dans l'interface utilisateur de Velociraptor..

🔍 Exploration des Points de Terminaison
Dans l'onglet "Show All", les analystes peuvent explorer toutes les machines clientes déployées, prêtes à être surveillées

Informations Client : En cliquant sur un ID client spécifique, les analystes accèdent à une vue d'ensemble détaillée comprenant des informations essentielles telles que :
ID du Client
Version de l'Agent
Nom de l'Agent
Dernière Apparition
Dernière IP Vue
Système d'Exploitation
Nom d'Hôte
Version
Architecture
Métadonnées Client
Overview

📊 VQL DrillDown (Velociraptor Query Language) est le langage officiel pour l'exécution de requêtes dans Velociraptor. Dans cette section, les analystes peuvent explorer les données clients, notamment l'utilisation de la mémoire et du CPU sur une période de 24 heures, le domaine Active Directory (si applicable) et les comptes locaux actifs.
🟠🔵 Visualisation des Performances : Les données de la mémoire et du CPU au cours des 24 dernières heures sont représentées par deux couleurs distinctes :
Orange : Utilisation de la Mémoire
Bleu : Utilisation du CPU

💻 Shell Intégré
L'onglet Shell permet d'exécuter des commandes à distance sur le point de terminaison client. Les analystes peuvent choisir entre PowerShell, cmd, Bash, ou même VQL en fonction du système d'exploitation cible. Cette fonctionnalité offre une flexibilité maximale pour les investigations à distance. En fonction du système d'exploitation cible, l'analyste déterminera lequel choisira. Par exemple, CMD ne sera pas une option viable si la machine client est en cours d'exécution Linux.
C'est simple, choisissez l'une des options dans lesquelles exécuter la commande et cliquez sur Launch

📁 Données Collectées : Dans cette section, les analystes peuvent visualiser les résultats des artefacts collectés et des commandes précédemment exécutées via le Shell. De plus, ils peuvent interagir avec le système de fichiers virtuel (VFS) pour obtenir des informations complémentaires sur le système.

❓Interrogate
Selon la documentation, l'interrogation est automatiquement exécutée, d'accord lorsque vous ajoutez pour la première fois une machine client pour récupérer automatiquement exécutée, d'accord lorsque vous ajoutez pour la première fois une machine client pour récupérer les informations mais les analystes ont également la possibilité d'interroger manuellement n'importe quel client en cliquant sur le bouton "Interrogate".
Pour confirmer cette opération, cliquez sur "Interrogate". Ensuite, revenez à la section "Collecté". Vous remarquerez que la collection d'artefacts affichée est "Générique.Client.Info", une collection supplémentaire dans la liste. La première collection d'artefacts de la liste est en effet "Générique.Client.Info", qui correspond aux mêmes informations affichées sous "VQL DrillDown".

🌟 Nouvelle collection
Dans la partie collected, ajouter une collection:

A gauche vous devez choisir les artefacts que vous souhaitez collecter. La partie de droite fournit des informations sur les artefacts sélectionner. Les artefacts peuvent être volatils (disparaissent lorsque le système est éteint, par exemple : données en mémoire) et non volatils (persistants, même après le redémarrage du système, par exemple : fichiers système, journaux d'événements).

Il y aura 5 étapes dans ce processus.
Étape 1 : Sélection des Artéfacts 📑
Permet de choisir les artéfacts spécifiques que vous souhaitez collecter.
Vous pouvez parcourir une liste d'artéfacts disponibles et sélectionner ceux qui correspondent à vos besoins d'investigation.
Étape 2 : Configuration des Paramètres ⚙️
Permet de configurer les paramètres de chaque artéfact sélectionné.
Vous pouvez personnaliser les paramètres tels que les filtres, les intervalles de temps, ou d'autres options spécifiques à chaque artéfact.
Étape 3 : Spécification des Ressources 📡
Permet de spécifier les ressources sur lesquelles les artéfacts seront collectés.
Vous pouvez définir les machines cibles ou les groupes de machines sur lesquelles vous souhaitez exécuter la collecte.
Étape 4 : Revue 📝
Permet de passer en revue toutes les configurations avant de lancer la collecte.
Vous pouvez vérifier chaque paramètre et s'assurer que tout est correctement configuré avant de démarrer la collecte.
Étape 5 : Lancement 🚀
UPermet de lancer la collecte des artéfacts une fois que toutes les configurations sont vérifiées.
En appuyant sur "Lancer", la collecte des données est initiée selon les paramètres spécifiés, et vous pouvez suivre le statut de la collecte en temps réel.
📁 Le système de fichiers virtuel
Le VFS est un cache côté serveur des fichiers sur le point final, fournissant une interface graphique familière pour inspecter le système de fichiers du client.
🛠️ Dans les scénarios d'incident, le VFS permet aux analystes d'inspecter les artefacts des clients, facilitant ainsi la réponse aux incidents.
📘 Consultez la documentation officielle pour obtenir un aperçu complet du VFS.
🔍 Exploration du VFS Lors de l'accès initial au VFS pour un client, vous verrez quatre dossiers dans le volet de gauche :
file - Utilise les API du système d'exploitation pour accéder aux fichiers.
ntfs - Utilise l'analyse NTFS brute pour accéder aux fichiers de bas niveau.
registre - Utilise les API du système d'exploitation pour accéder au registre Windows.
artefacts - Collections précédemment exécutées.
🔘 Boutons du VFS Trois boutons sont disponibles pour interagir avec le VFS :
Rafraîchir le répertoire courant
Rafraîchir ce répertoire
Télécharger récursivement ce répertoire depuis le client
💡 Conseil Lorsque vous cliquez sur un dossier, les détails correspondants sont affichés dans le volet central, permettant une navigation et une exploration faciles des fichiers sur le client.

🚀 langage VQL (Velociraptor Query Language)
Parmi les nombreux outils que vous rencontrerez au cours de votre carrière SOC, certains outils peuvent avoir leur propre langage de requête. Par exemple, dans Splunk le SPL (Search Processing Language) ou encore Elastic avec le KQL (Kibana Query Language).
Le langage VQL (Velociraptor Query Language) est un langage de requête puissant utilisé pour interroger et analyser les données collectées par Velociraptor. Voici une vue d'ensemble de ses fonctionnalités principales :
Introduction à VQL
VQL est conçu pour permettre aux analystes de sécurité de formuler des requêtes complexes sur les artefacts collectés par Velociraptor. Il offre une syntaxe simple mais expressive pour interroger les données de manière efficace.
Structure de la requête
Une requête VQL est généralement structurée en plusieurs parties :
Sélection des colonnes : spécifie les données à récupérer dans le résultat de la requête.
Source de données : indique la source ou les sources de données à interroger.
Conditions de filtrage : filtre les données en fonction de critères spécifiques.
Groupement et agrégation : permet de regrouper et d'agréger les données pour effectuer des calculs statistiques.
Options supplémentaires : inclut des options facultatives telles que le tri des résultats ou la limitation du nombre de lignes retournées.
Exemples de requêtes VQL
Voici quelques exemples de requêtes VQL couramment utilisées :
Sélection de colonnes spécifiques :
SELECT hostname, username, process FROM ProcessEvents
Filtrage des données :
SELECT * FROM ProcessEvents WHERE process = "explorer.exe" AND status = "terminated"
Agrégation des données :
SELECT username, COUNT(*) AS count FROM ProcessEvents GROUP BY username
Jointure de données :
SELECT * FROM ProcessEvents JOIN FileEvents ON ProcessEvents.filename = FileEvents.filename
Fonctionnalités avancées
Outre les fonctionnalités de base, VQL prend en charge plusieurs fonctionnalités avancées pour une analyse approfondie des données :
Fonctions intégrées : telles que les fonctions de date, les fonctions de hachage, etc.
Expressions régulières : pour rechercher des motifs dans les données.
Fonctions personnalisées : permettant aux utilisateurs de définir leurs propres fonctions pour des besoins spécifiques.
Opérateurs logiques et mathématiques : pour effectuer des opérations logiques et mathématiques sur les données.
Last updated